amazonka-support (empty) → 0.0.0
raw patch · 20 files changed
+3725/−0 lines, 20 filesdep +amazonka-coredep +basesetup-changed
Dependencies added: amazonka-core, base
Files
- LICENSE +373/−0
- README.md +26/−0
- Setup.hs +2/−0
- amazonka-support.cabal +64/−0
- gen/Network/AWS/Support.hs +52/−0
- gen/Network/AWS/Support/AddAttachmentsToSet.hs +145/−0
- gen/Network/AWS/Support/AddCommunicationToCase.hs +153/−0
- gen/Network/AWS/Support/CreateCase.hs +227/−0
- gen/Network/AWS/Support/DescribeAttachment.hs +114/−0
- gen/Network/AWS/Support/DescribeCases.hs +220/−0
- gen/Network/AWS/Support/DescribeCommunications.hs +178/−0
- gen/Network/AWS/Support/DescribeServices.hs +137/−0
- gen/Network/AWS/Support/DescribeSeverityLevels.hs +121/−0
- gen/Network/AWS/Support/DescribeTrustedAdvisorCheckRefreshStatuses.hs +122/−0
- gen/Network/AWS/Support/DescribeTrustedAdvisorCheckResult.hs +129/−0
- gen/Network/AWS/Support/DescribeTrustedAdvisorCheckSummaries.hs +123/−0
- gen/Network/AWS/Support/DescribeTrustedAdvisorChecks.hs +120/−0
- gen/Network/AWS/Support/RefreshTrustedAdvisorCheck.hs +118/−0
- gen/Network/AWS/Support/ResolveCase.hs +123/−0
- gen/Network/AWS/Support/Types.hs +1178/−0
+ LICENSE view
@@ -0,0 +1,373 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.++Exhibit B - "Incompatible With Secondary Licenses" Notice+---------------------------------------------------------++ This Source Code Form is "Incompatible With Secondary Licenses", as+ defined by the Mozilla Public License, v. 2.0.
+ README.md view
@@ -0,0 +1,26 @@+# Amazon Support SDK++> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!++* [description](#description)+* [Contribute](#contribute)+* [Licence](#licence)++## Description++AWS Support is a one-on-one, fast-response support channel that is staffed with experienced support personnel. The service helps customers get the most from the products and features provided by Amazon Web Services. There are four levels, or tiers, of AWS Support: Basic, Developer, Business, and Enterprise. The Basic tier is free of charge and offers support for account and billing questions and service limit increases. The other tiers offer an unlimited number of technical support cases with pay-by-the-month pricing and no long-term contracts, providing developers and businesses flexibility to choose the level of support that meets their needs.++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-support)+and [AWS API Reference](http://docs.aws.amazon.com/awssupport/latest/APIReference/Welcome.html).+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-support` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ amazonka-support.cabal view
@@ -0,0 +1,64 @@+name: amazonka-support+version: 0.0.0+synopsis: Amazon Support SDK.+homepage: https://github.com/brendanhay/amazonka+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2013-2014 Brendan Hay+category: Network, AWS, Cloud+build-type: Simple+extra-source-files: README.md+cabal-version: >= 1.10++description:+ AWS Support is a one-on-one, fast-response support channel that is+ staffed with experienced support personnel. The service helps customers+ get the most from the products and features provided by Amazon Web+ Services. There are four levels, or tiers, of AWS Support: Basic,+ Developer, Business, and Enterprise. The Basic tier is free of charge+ and offers support for account and billing questions and service limit+ increases. The other tiers offer an unlimited number of technical+ support cases with pay-by-the-month pricing and no long-term contracts,+ providing developers and businesses flexibility to choose the level of+ support that meets their needs.+ .+ /See:/ <http://docs.aws.amazon.com/awssupport/latest/APIReference/Welcome.html AWS API Reference>+ .+ /Warning:/ This is an experimental preview release which is still under+ heavy development and not intended for public consumption, caveat emptor!++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.AWS.Support+ , Network.AWS.Support.AddAttachmentsToSet+ , Network.AWS.Support.AddCommunicationToCase+ , Network.AWS.Support.CreateCase+ , Network.AWS.Support.DescribeAttachment+ , Network.AWS.Support.DescribeCases+ , Network.AWS.Support.DescribeCommunications+ , Network.AWS.Support.DescribeServices+ , Network.AWS.Support.DescribeSeverityLevels+ , Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses+ , Network.AWS.Support.DescribeTrustedAdvisorCheckResult+ , Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries+ , Network.AWS.Support.DescribeTrustedAdvisorChecks+ , Network.AWS.Support.RefreshTrustedAdvisorCheck+ , Network.AWS.Support.ResolveCase+ , Network.AWS.Support.Types++ other-modules:++ build-depends:+ amazonka-core+ , base >= 4.7 && < 5
+ gen/Network/AWS/Support.hs view
@@ -0,0 +1,52 @@+-- Module : Network.AWS.Support+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | AWS Support is a one-on-one, fast-response support channel that is staffed+-- with experienced support personnel. The service helps customers get the+-- most from the products and features provided by Amazon Web Services. There+-- are four levels, or tiers, of AWS Support: Basic, Developer, Business, and+-- Enterprise. The Basic tier is free of charge and offers support for account+-- and billing questions and service limit increases. The other tiers offer an+-- unlimited number of technical support cases with pay-by-the-month pricing+-- and no long-term contracts, providing developers and businesses flexibility+-- to choose the level of support that meets their needs.+module Network.AWS.Support+ ( module Network.AWS.Support.AddAttachmentsToSet+ , module Network.AWS.Support.AddCommunicationToCase+ , module Network.AWS.Support.CreateCase+ , module Network.AWS.Support.DescribeAttachment+ , module Network.AWS.Support.DescribeCases+ , module Network.AWS.Support.DescribeCommunications+ , module Network.AWS.Support.DescribeServices+ , module Network.AWS.Support.DescribeSeverityLevels+ , module Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses+ , module Network.AWS.Support.DescribeTrustedAdvisorCheckResult+ , module Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries+ , module Network.AWS.Support.DescribeTrustedAdvisorChecks+ , module Network.AWS.Support.RefreshTrustedAdvisorCheck+ , module Network.AWS.Support.ResolveCase+ , module Network.AWS.Support.Types+ ) where++import Network.AWS.Support.AddAttachmentsToSet+import Network.AWS.Support.AddCommunicationToCase+import Network.AWS.Support.CreateCase+import Network.AWS.Support.DescribeAttachment+import Network.AWS.Support.DescribeCases+import Network.AWS.Support.DescribeCommunications+import Network.AWS.Support.DescribeServices+import Network.AWS.Support.DescribeSeverityLevels+import Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses+import Network.AWS.Support.DescribeTrustedAdvisorCheckResult+import Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries+import Network.AWS.Support.DescribeTrustedAdvisorChecks+import Network.AWS.Support.RefreshTrustedAdvisorCheck+import Network.AWS.Support.ResolveCase+import Network.AWS.Support.Types
+ gen/Network/AWS/Support/AddAttachmentsToSet.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.AddAttachmentsToSet+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Adds one or more attachments to an attachment set. If an AttachmentSetId is+-- not specified, a new attachment set is created, and the ID of the set is+-- returned in the response. If an AttachmentSetId is specified, the+-- attachments are added to the specified set, if it exists. An attachment set+-- is a temporary container for attachments that are to be added to a case or+-- case communication. The set is available for one hour after it is created;+-- the ExpiryTime returned in the response indicates when the set expires. The+-- maximum number of attachments in a set is 3, and the maximum size of any+-- attachment in the set is 5 MB.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_AddAttachmentsToSet.html>+module Network.AWS.Support.AddAttachmentsToSet+ (+ -- * Request+ AddAttachmentsToSet+ -- ** Request constructor+ , addAttachmentsToSet+ -- ** Request lenses+ , aatsAttachmentSetId+ , aatsAttachments++ -- * Response+ , AddAttachmentsToSetResponse+ -- ** Response constructor+ , addAttachmentsToSetResponse+ -- ** Response lenses+ , aatsrAttachmentSetId+ , aatsrExpiryTime+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++data AddAttachmentsToSet = AddAttachmentsToSet+ { _aatsAttachmentSetId :: Maybe Text+ , _aatsAttachments :: List "attachments" Attachment+ } deriving (Eq, Show)++-- | 'AddAttachmentsToSet' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'aatsAttachmentSetId' @::@ 'Maybe' 'Text'+--+-- * 'aatsAttachments' @::@ ['Attachment']+--+addAttachmentsToSet :: AddAttachmentsToSet+addAttachmentsToSet = AddAttachmentsToSet+ { _aatsAttachmentSetId = Nothing+ , _aatsAttachments = mempty+ }++-- | The ID of the attachment set. If an AttachmentSetId is not specified, a+-- new attachment set is created, and the ID of the set is returned in the+-- response. If an AttachmentSetId is specified, the attachments are added+-- to the specified set, if it exists.+aatsAttachmentSetId :: Lens' AddAttachmentsToSet (Maybe Text)+aatsAttachmentSetId =+ lens _aatsAttachmentSetId (\s a -> s { _aatsAttachmentSetId = a })++-- | One or more attachments to add to the set. The limit is 3 attachments per+-- set, and the size limit is 5 MB per attachment.+aatsAttachments :: Lens' AddAttachmentsToSet [Attachment]+aatsAttachments = lens _aatsAttachments (\s a -> s { _aatsAttachments = a }) . _List++data AddAttachmentsToSetResponse = AddAttachmentsToSetResponse+ { _aatsrAttachmentSetId :: Maybe Text+ , _aatsrExpiryTime :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'AddAttachmentsToSetResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'aatsrAttachmentSetId' @::@ 'Maybe' 'Text'+--+-- * 'aatsrExpiryTime' @::@ 'Maybe' 'Text'+--+addAttachmentsToSetResponse :: AddAttachmentsToSetResponse+addAttachmentsToSetResponse = AddAttachmentsToSetResponse+ { _aatsrAttachmentSetId = Nothing+ , _aatsrExpiryTime = Nothing+ }++-- | The ID of the attachment set. If an AttachmentSetId was not specified, a+-- new attachment set is created, and the ID of the set is returned in the+-- response. If an AttachmentSetId was specified, the attachments are added+-- to the specified set, if it exists.+aatsrAttachmentSetId :: Lens' AddAttachmentsToSetResponse (Maybe Text)+aatsrAttachmentSetId =+ lens _aatsrAttachmentSetId (\s a -> s { _aatsrAttachmentSetId = a })++-- | The time and date when the attachment set expires.+aatsrExpiryTime :: Lens' AddAttachmentsToSetResponse (Maybe Text)+aatsrExpiryTime = lens _aatsrExpiryTime (\s a -> s { _aatsrExpiryTime = a })++instance ToPath AddAttachmentsToSet where+ toPath = const "/"++instance ToQuery AddAttachmentsToSet where+ toQuery = const mempty++instance ToHeaders AddAttachmentsToSet++instance ToJSON AddAttachmentsToSet where+ toJSON AddAttachmentsToSet{..} = object+ [ "attachmentSetId" .= _aatsAttachmentSetId+ , "attachments" .= _aatsAttachments+ ]++instance AWSRequest AddAttachmentsToSet where+ type Sv AddAttachmentsToSet = Support+ type Rs AddAttachmentsToSet = AddAttachmentsToSetResponse++ request = post "AddAttachmentsToSet"+ response = jsonResponse++instance FromJSON AddAttachmentsToSetResponse where+ parseJSON = withObject "AddAttachmentsToSetResponse" $ \o -> AddAttachmentsToSetResponse+ <$> o .:? "attachmentSetId"+ <*> o .:? "expiryTime"
+ gen/Network/AWS/Support/AddCommunicationToCase.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.AddCommunicationToCase+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Adds additional customer communication to an AWS Support case. You use the+-- CaseId value to identify the case to add communication to. You can list a+-- set of email addresses to copy on the communication using the+-- CcEmailAddresses value. The CommunicationBody value contains the text of+-- the communication. The response indicates the success or failure of the+-- request. This operation implements a subset of the behavior on the AWS+-- Support Your Support Cases web form.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_AddCommunicationToCase.html>+module Network.AWS.Support.AddCommunicationToCase+ (+ -- * Request+ AddCommunicationToCase+ -- ** Request constructor+ , addCommunicationToCase+ -- ** Request lenses+ , actcAttachmentSetId+ , actcCaseId+ , actcCcEmailAddresses+ , actcCommunicationBody++ -- * Response+ , AddCommunicationToCaseResponse+ -- ** Response constructor+ , addCommunicationToCaseResponse+ -- ** Response lenses+ , actcrResult+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++data AddCommunicationToCase = AddCommunicationToCase+ { _actcAttachmentSetId :: Maybe Text+ , _actcCaseId :: Maybe Text+ , _actcCcEmailAddresses :: List "ccEmailAddresses" Text+ , _actcCommunicationBody :: Text+ } deriving (Eq, Ord, Show)++-- | 'AddCommunicationToCase' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'actcAttachmentSetId' @::@ 'Maybe' 'Text'+--+-- * 'actcCaseId' @::@ 'Maybe' 'Text'+--+-- * 'actcCcEmailAddresses' @::@ ['Text']+--+-- * 'actcCommunicationBody' @::@ 'Text'+--+addCommunicationToCase :: Text -- ^ 'actcCommunicationBody'+ -> AddCommunicationToCase+addCommunicationToCase p1 = AddCommunicationToCase+ { _actcCommunicationBody = p1+ , _actcCaseId = Nothing+ , _actcCcEmailAddresses = mempty+ , _actcAttachmentSetId = Nothing+ }++-- | The ID of a set of one or more attachments for the communication to add+-- to the case. Create the set by calling AddAttachmentsToSet.+actcAttachmentSetId :: Lens' AddCommunicationToCase (Maybe Text)+actcAttachmentSetId =+ lens _actcAttachmentSetId (\s a -> s { _actcAttachmentSetId = a })++-- | The AWS Support case ID requested or returned in the call. The case ID is+-- an alphanumeric string formatted as shown in this example:+-- case-12345678910-2013-c4c1d2bf33c5cf47.+actcCaseId :: Lens' AddCommunicationToCase (Maybe Text)+actcCaseId = lens _actcCaseId (\s a -> s { _actcCaseId = a })++-- | The email addresses in the CC line of an email to be added to the support+-- case.+actcCcEmailAddresses :: Lens' AddCommunicationToCase [Text]+actcCcEmailAddresses =+ lens _actcCcEmailAddresses (\s a -> s { _actcCcEmailAddresses = a })+ . _List++-- | The body of an email communication to add to the support case.+actcCommunicationBody :: Lens' AddCommunicationToCase Text+actcCommunicationBody =+ lens _actcCommunicationBody (\s a -> s { _actcCommunicationBody = a })++newtype AddCommunicationToCaseResponse = AddCommunicationToCaseResponse+ { _actcrResult :: Maybe Bool+ } deriving (Eq, Ord, Show)++-- | 'AddCommunicationToCaseResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'actcrResult' @::@ 'Maybe' 'Bool'+--+addCommunicationToCaseResponse :: AddCommunicationToCaseResponse+addCommunicationToCaseResponse = AddCommunicationToCaseResponse+ { _actcrResult = Nothing+ }++-- | True if AddCommunicationToCase succeeds. Otherwise, returns an error.+actcrResult :: Lens' AddCommunicationToCaseResponse (Maybe Bool)+actcrResult = lens _actcrResult (\s a -> s { _actcrResult = a })++instance ToPath AddCommunicationToCase where+ toPath = const "/"++instance ToQuery AddCommunicationToCase where+ toQuery = const mempty++instance ToHeaders AddCommunicationToCase++instance ToJSON AddCommunicationToCase where+ toJSON AddCommunicationToCase{..} = object+ [ "caseId" .= _actcCaseId+ , "communicationBody" .= _actcCommunicationBody+ , "ccEmailAddresses" .= _actcCcEmailAddresses+ , "attachmentSetId" .= _actcAttachmentSetId+ ]++instance AWSRequest AddCommunicationToCase where+ type Sv AddCommunicationToCase = Support+ type Rs AddCommunicationToCase = AddCommunicationToCaseResponse++ request = post "AddCommunicationToCase"+ response = jsonResponse++instance FromJSON AddCommunicationToCaseResponse where+ parseJSON = withObject "AddCommunicationToCaseResponse" $ \o -> AddCommunicationToCaseResponse+ <$> o .:? "result"
+ gen/Network/AWS/Support/CreateCase.hs view
@@ -0,0 +1,227 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.CreateCase+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Creates a new case in the AWS Support Center. This operation is modeled on+-- the behavior of the AWS Support Center Open a new case page. Its parameters+-- require you to specify the following information: IssueType. The type of+-- issue for the case. You can specify either "customer-service" or+-- "technical." If you do not indicate a value, the default is "technical."+-- ServiceCode. The code for an AWS service. You obtain the ServiceCode by+-- calling DescribeServices. CategoryCode. The category for the service+-- defined for the ServiceCode value. You also obtain the category code for a+-- service by calling DescribeServices. Each AWS service defines its own set+-- of category codes. SeverityCode. A value that indicates the urgency of the+-- case, which in turn determines the response time according to your service+-- level agreement with AWS Support. You obtain the SeverityCode by calling+-- DescribeSeverityLevels. Subject. The Subject field on the AWS Support+-- Center Open a new case page. CommunicationBody. The Description field on+-- the AWS Support Center Open a new case page. AttachmentSetId. The ID of a+-- set of attachments that has been created by using AddAttachmentsToSet.+-- Language. The human language in which AWS Support handles the case. English+-- and Japanese are currently supported. CcEmailAddresses. The AWS Support+-- Center CC field on the Open a new case page. You can list email addresses+-- to be copied on any correspondence about the case. The account that opens+-- the case is already identified by passing the AWS Credentials in the HTTP+-- POST method or in a method or function call from one of the programming+-- languages supported by an AWS SDK. A successful CreateCase request returns+-- an AWS Support case number. Case numbers are used by the DescribeCases+-- operation to retrieve existing AWS Support cases.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_CreateCase.html>+module Network.AWS.Support.CreateCase+ (+ -- * Request+ CreateCase+ -- ** Request constructor+ , createCase+ -- ** Request lenses+ , ccAttachmentSetId+ , ccCategoryCode+ , ccCcEmailAddresses+ , ccCommunicationBody+ , ccIssueType+ , ccLanguage+ , ccServiceCode+ , ccSeverityCode+ , ccSubject++ -- * Response+ , CreateCaseResponse+ -- ** Response constructor+ , createCaseResponse+ -- ** Response lenses+ , ccrCaseId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++data CreateCase = CreateCase+ { _ccAttachmentSetId :: Maybe Text+ , _ccCategoryCode :: Maybe Text+ , _ccCcEmailAddresses :: List "ccEmailAddresses" Text+ , _ccCommunicationBody :: Text+ , _ccIssueType :: Maybe Text+ , _ccLanguage :: Maybe Text+ , _ccServiceCode :: Maybe Text+ , _ccSeverityCode :: Maybe Text+ , _ccSubject :: Text+ } deriving (Eq, Ord, Show)++-- | 'CreateCase' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ccAttachmentSetId' @::@ 'Maybe' 'Text'+--+-- * 'ccCategoryCode' @::@ 'Maybe' 'Text'+--+-- * 'ccCcEmailAddresses' @::@ ['Text']+--+-- * 'ccCommunicationBody' @::@ 'Text'+--+-- * 'ccIssueType' @::@ 'Maybe' 'Text'+--+-- * 'ccLanguage' @::@ 'Maybe' 'Text'+--+-- * 'ccServiceCode' @::@ 'Maybe' 'Text'+--+-- * 'ccSeverityCode' @::@ 'Maybe' 'Text'+--+-- * 'ccSubject' @::@ 'Text'+--+createCase :: Text -- ^ 'ccSubject'+ -> Text -- ^ 'ccCommunicationBody'+ -> CreateCase+createCase p1 p2 = CreateCase+ { _ccSubject = p1+ , _ccCommunicationBody = p2+ , _ccServiceCode = Nothing+ , _ccSeverityCode = Nothing+ , _ccCategoryCode = Nothing+ , _ccCcEmailAddresses = mempty+ , _ccLanguage = Nothing+ , _ccIssueType = Nothing+ , _ccAttachmentSetId = Nothing+ }++-- | The ID of a set of one or more attachments for the case. Create the set+-- by using AddAttachmentsToSet.+ccAttachmentSetId :: Lens' CreateCase (Maybe Text)+ccAttachmentSetId =+ lens _ccAttachmentSetId (\s a -> s { _ccAttachmentSetId = a })++-- | The category of problem for the AWS Support case.+ccCategoryCode :: Lens' CreateCase (Maybe Text)+ccCategoryCode = lens _ccCategoryCode (\s a -> s { _ccCategoryCode = a })++-- | A list of email addresses that AWS Support copies on case correspondence.+ccCcEmailAddresses :: Lens' CreateCase [Text]+ccCcEmailAddresses =+ lens _ccCcEmailAddresses (\s a -> s { _ccCcEmailAddresses = a })+ . _List++-- | The communication body text when you create an AWS Support case by+-- calling CreateCase.+ccCommunicationBody :: Lens' CreateCase Text+ccCommunicationBody =+ lens _ccCommunicationBody (\s a -> s { _ccCommunicationBody = a })++-- | The type of issue for the case. You can specify either "customer-service"+-- or "technical." If you do not indicate a value, the default is+-- "technical.".+ccIssueType :: Lens' CreateCase (Maybe Text)+ccIssueType = lens _ccIssueType (\s a -> s { _ccIssueType = a })++-- | The ISO 639-1 code for the language in which AWS provides support. AWS+-- Support currently supports English ("en") and Japanese ("ja"). Language+-- parameters must be passed explicitly for operations that take them.+ccLanguage :: Lens' CreateCase (Maybe Text)+ccLanguage = lens _ccLanguage (\s a -> s { _ccLanguage = a })++-- | The code for the AWS service returned by the call to DescribeServices.+ccServiceCode :: Lens' CreateCase (Maybe Text)+ccServiceCode = lens _ccServiceCode (\s a -> s { _ccServiceCode = a })++-- | The code for the severity level returned by the call to+-- DescribeSeverityLevels.+ccSeverityCode :: Lens' CreateCase (Maybe Text)+ccSeverityCode = lens _ccSeverityCode (\s a -> s { _ccSeverityCode = a })++-- | The title of the AWS Support case.+ccSubject :: Lens' CreateCase Text+ccSubject = lens _ccSubject (\s a -> s { _ccSubject = a })++newtype CreateCaseResponse = CreateCaseResponse+ { _ccrCaseId :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'CreateCaseResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ccrCaseId' @::@ 'Maybe' 'Text'+--+createCaseResponse :: CreateCaseResponse+createCaseResponse = CreateCaseResponse+ { _ccrCaseId = Nothing+ }++-- | The AWS Support case ID requested or returned in the call. The case ID is+-- an alphanumeric string formatted as shown in this example:+-- case-12345678910-2013-c4c1d2bf33c5cf47.+ccrCaseId :: Lens' CreateCaseResponse (Maybe Text)+ccrCaseId = lens _ccrCaseId (\s a -> s { _ccrCaseId = a })++instance ToPath CreateCase where+ toPath = const "/"++instance ToQuery CreateCase where+ toQuery = const mempty++instance ToHeaders CreateCase++instance ToJSON CreateCase where+ toJSON CreateCase{..} = object+ [ "subject" .= _ccSubject+ , "serviceCode" .= _ccServiceCode+ , "severityCode" .= _ccSeverityCode+ , "categoryCode" .= _ccCategoryCode+ , "communicationBody" .= _ccCommunicationBody+ , "ccEmailAddresses" .= _ccCcEmailAddresses+ , "language" .= _ccLanguage+ , "issueType" .= _ccIssueType+ , "attachmentSetId" .= _ccAttachmentSetId+ ]++instance AWSRequest CreateCase where+ type Sv CreateCase = Support+ type Rs CreateCase = CreateCaseResponse++ request = post "CreateCase"+ response = jsonResponse++instance FromJSON CreateCaseResponse where+ parseJSON = withObject "CreateCaseResponse" $ \o -> CreateCaseResponse+ <$> o .:? "caseId"
+ gen/Network/AWS/Support/DescribeAttachment.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.DescribeAttachment+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns the attachment that has the specified ID. Attachment IDs are+-- generated by the case management system when you add an attachment to a+-- case or case communication. Attachment IDs are returned in the+-- AttachmentDetails objects that are returned by the DescribeCommunications+-- operation.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeAttachment.html>+module Network.AWS.Support.DescribeAttachment+ (+ -- * Request+ DescribeAttachment+ -- ** Request constructor+ , describeAttachment+ -- ** Request lenses+ , daAttachmentId++ -- * Response+ , DescribeAttachmentResponse+ -- ** Response constructor+ , describeAttachmentResponse+ -- ** Response lenses+ , darAttachment+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++newtype DescribeAttachment = DescribeAttachment+ { _daAttachmentId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DescribeAttachment' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'daAttachmentId' @::@ 'Text'+--+describeAttachment :: Text -- ^ 'daAttachmentId'+ -> DescribeAttachment+describeAttachment p1 = DescribeAttachment+ { _daAttachmentId = p1+ }++-- | The ID of the attachment to return. Attachment IDs are returned by the+-- DescribeCommunications operation.+daAttachmentId :: Lens' DescribeAttachment Text+daAttachmentId = lens _daAttachmentId (\s a -> s { _daAttachmentId = a })++newtype DescribeAttachmentResponse = DescribeAttachmentResponse+ { _darAttachment :: Maybe Attachment+ } deriving (Eq, Show)++-- | 'DescribeAttachmentResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'darAttachment' @::@ 'Maybe' 'Attachment'+--+describeAttachmentResponse :: DescribeAttachmentResponse+describeAttachmentResponse = DescribeAttachmentResponse+ { _darAttachment = Nothing+ }++-- | The attachment content and file name.+darAttachment :: Lens' DescribeAttachmentResponse (Maybe Attachment)+darAttachment = lens _darAttachment (\s a -> s { _darAttachment = a })++instance ToPath DescribeAttachment where+ toPath = const "/"++instance ToQuery DescribeAttachment where+ toQuery = const mempty++instance ToHeaders DescribeAttachment++instance ToJSON DescribeAttachment where+ toJSON DescribeAttachment{..} = object+ [ "attachmentId" .= _daAttachmentId+ ]++instance AWSRequest DescribeAttachment where+ type Sv DescribeAttachment = Support+ type Rs DescribeAttachment = DescribeAttachmentResponse++ request = post "DescribeAttachment"+ response = jsonResponse++instance FromJSON DescribeAttachmentResponse where+ parseJSON = withObject "DescribeAttachmentResponse" $ \o -> DescribeAttachmentResponse+ <$> o .:? "attachment"
+ gen/Network/AWS/Support/DescribeCases.hs view
@@ -0,0 +1,220 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.DescribeCases+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns a list of cases that you specify by passing one or more case IDs.+-- In addition, you can filter the cases by date by setting values for the+-- AfterTime and BeforeTime request parameters. Case data is available for 12+-- months after creation. If a case was created more than 12 months ago, a+-- request for data might cause an error. The response returns the following+-- in JSON format: One or more CaseDetails data types. One or more NextToken+-- values, which specify where to paginate the returned records represented by+-- the CaseDetails objects.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeCases.html>+module Network.AWS.Support.DescribeCases+ (+ -- * Request+ DescribeCases+ -- ** Request constructor+ , describeCases+ -- ** Request lenses+ , dcAfterTime+ , dcBeforeTime+ , dcCaseIdList+ , dcDisplayId+ , dcIncludeCommunications+ , dcIncludeResolvedCases+ , dcLanguage+ , dcMaxResults+ , dcNextToken++ -- * Response+ , DescribeCasesResponse+ -- ** Response constructor+ , describeCasesResponse+ -- ** Response lenses+ , dcr1Cases+ , dcr1NextToken+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++data DescribeCases = DescribeCases+ { _dcAfterTime :: Maybe Text+ , _dcBeforeTime :: Maybe Text+ , _dcCaseIdList :: List "caseIdList" Text+ , _dcDisplayId :: Maybe Text+ , _dcIncludeCommunications :: Maybe Bool+ , _dcIncludeResolvedCases :: Maybe Bool+ , _dcLanguage :: Maybe Text+ , _dcMaxResults :: Maybe Nat+ , _dcNextToken :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeCases' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcAfterTime' @::@ 'Maybe' 'Text'+--+-- * 'dcBeforeTime' @::@ 'Maybe' 'Text'+--+-- * 'dcCaseIdList' @::@ ['Text']+--+-- * 'dcDisplayId' @::@ 'Maybe' 'Text'+--+-- * 'dcIncludeCommunications' @::@ 'Maybe' 'Bool'+--+-- * 'dcIncludeResolvedCases' @::@ 'Maybe' 'Bool'+--+-- * 'dcLanguage' @::@ 'Maybe' 'Text'+--+-- * 'dcMaxResults' @::@ 'Maybe' 'Natural'+--+-- * 'dcNextToken' @::@ 'Maybe' 'Text'+--+describeCases :: DescribeCases+describeCases = DescribeCases+ { _dcCaseIdList = mempty+ , _dcDisplayId = Nothing+ , _dcAfterTime = Nothing+ , _dcBeforeTime = Nothing+ , _dcIncludeResolvedCases = Nothing+ , _dcNextToken = Nothing+ , _dcMaxResults = Nothing+ , _dcLanguage = Nothing+ , _dcIncludeCommunications = Nothing+ }++-- | The start date for a filtered date search on support case communications.+-- Case communications are available for 12 months after creation.+dcAfterTime :: Lens' DescribeCases (Maybe Text)+dcAfterTime = lens _dcAfterTime (\s a -> s { _dcAfterTime = a })++-- | The end date for a filtered date search on support case communications.+-- Case communications are available for 12 months after creation.+dcBeforeTime :: Lens' DescribeCases (Maybe Text)+dcBeforeTime = lens _dcBeforeTime (\s a -> s { _dcBeforeTime = a })++-- | A list of ID numbers of the support cases you want returned. The maximum+-- number of cases is 100.+dcCaseIdList :: Lens' DescribeCases [Text]+dcCaseIdList = lens _dcCaseIdList (\s a -> s { _dcCaseIdList = a }) . _List++-- | The ID displayed for a case in the AWS Support Center user interface.+dcDisplayId :: Lens' DescribeCases (Maybe Text)+dcDisplayId = lens _dcDisplayId (\s a -> s { _dcDisplayId = a })++-- | Specifies whether communications should be included in the DescribeCases+-- results. The default is true.+dcIncludeCommunications :: Lens' DescribeCases (Maybe Bool)+dcIncludeCommunications =+ lens _dcIncludeCommunications (\s a -> s { _dcIncludeCommunications = a })++-- | Specifies whether resolved support cases should be included in the+-- DescribeCases results. The default is false.+dcIncludeResolvedCases :: Lens' DescribeCases (Maybe Bool)+dcIncludeResolvedCases =+ lens _dcIncludeResolvedCases (\s a -> s { _dcIncludeResolvedCases = a })++-- | The ISO 639-1 code for the language in which AWS provides support. AWS+-- Support currently supports English ("en") and Japanese ("ja"). Language+-- parameters must be passed explicitly for operations that take them.+dcLanguage :: Lens' DescribeCases (Maybe Text)+dcLanguage = lens _dcLanguage (\s a -> s { _dcLanguage = a })++-- | The maximum number of results to return before paginating.+dcMaxResults :: Lens' DescribeCases (Maybe Natural)+dcMaxResults = lens _dcMaxResults (\s a -> s { _dcMaxResults = a }) . mapping _Nat++-- | A resumption point for pagination.+dcNextToken :: Lens' DescribeCases (Maybe Text)+dcNextToken = lens _dcNextToken (\s a -> s { _dcNextToken = a })++data DescribeCasesResponse = DescribeCasesResponse+ { _dcr1Cases :: List "cases" CaseDetails+ , _dcr1NextToken :: Maybe Text+ } deriving (Eq, Show)++-- | 'DescribeCasesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcr1Cases' @::@ ['CaseDetails']+--+-- * 'dcr1NextToken' @::@ 'Maybe' 'Text'+--+describeCasesResponse :: DescribeCasesResponse+describeCasesResponse = DescribeCasesResponse+ { _dcr1Cases = mempty+ , _dcr1NextToken = Nothing+ }++-- | The details for the cases that match the request.+dcr1Cases :: Lens' DescribeCasesResponse [CaseDetails]+dcr1Cases = lens _dcr1Cases (\s a -> s { _dcr1Cases = a }) . _List++-- | A resumption point for pagination.+dcr1NextToken :: Lens' DescribeCasesResponse (Maybe Text)+dcr1NextToken = lens _dcr1NextToken (\s a -> s { _dcr1NextToken = a })++instance ToPath DescribeCases where+ toPath = const "/"++instance ToQuery DescribeCases where+ toQuery = const mempty++instance ToHeaders DescribeCases++instance ToJSON DescribeCases where+ toJSON DescribeCases{..} = object+ [ "caseIdList" .= _dcCaseIdList+ , "displayId" .= _dcDisplayId+ , "afterTime" .= _dcAfterTime+ , "beforeTime" .= _dcBeforeTime+ , "includeResolvedCases" .= _dcIncludeResolvedCases+ , "nextToken" .= _dcNextToken+ , "maxResults" .= _dcMaxResults+ , "language" .= _dcLanguage+ , "includeCommunications" .= _dcIncludeCommunications+ ]++instance AWSRequest DescribeCases where+ type Sv DescribeCases = Support+ type Rs DescribeCases = DescribeCasesResponse++ request = post "DescribeCases"+ response = jsonResponse++instance FromJSON DescribeCasesResponse where+ parseJSON = withObject "DescribeCasesResponse" $ \o -> DescribeCasesResponse+ <$> o .: "cases"+ <*> o .:? "nextToken"++instance AWSPager DescribeCases where+ page rq rs+ | stop (rq ^. dcNextToken) = Nothing+ | otherwise = (\x -> rq & dcNextToken ?~ x)+ <$> (rs ^. dcr1NextToken)
+ gen/Network/AWS/Support/DescribeCommunications.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.DescribeCommunications+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns communications (and attachments) for one or more support cases. You+-- can use the AfterTime and BeforeTime parameters to filter by date. You can+-- use the CaseId parameter to restrict the results to a particular case. Case+-- data is available for 12 months after creation. If a case was created more+-- than 12 months ago, a request for data might cause an error. You can use+-- the MaxResults and NextToken parameters to control the pagination of the+-- result set. Set MaxResults to the number of cases you want displayed on+-- each page, and use NextToken to specify the resumption of pagination.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeCommunications.html>+module Network.AWS.Support.DescribeCommunications+ (+ -- * Request+ DescribeCommunications+ -- ** Request constructor+ , describeCommunications+ -- ** Request lenses+ , dc1AfterTime+ , dc1BeforeTime+ , dc1CaseId+ , dc1MaxResults+ , dc1NextToken++ -- * Response+ , DescribeCommunicationsResponse+ -- ** Response constructor+ , describeCommunicationsResponse+ -- ** Response lenses+ , dcrCommunications+ , dcrNextToken+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++data DescribeCommunications = DescribeCommunications+ { _dc1AfterTime :: Maybe Text+ , _dc1BeforeTime :: Maybe Text+ , _dc1CaseId :: Text+ , _dc1MaxResults :: Maybe Nat+ , _dc1NextToken :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeCommunications' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dc1AfterTime' @::@ 'Maybe' 'Text'+--+-- * 'dc1BeforeTime' @::@ 'Maybe' 'Text'+--+-- * 'dc1CaseId' @::@ 'Text'+--+-- * 'dc1MaxResults' @::@ 'Maybe' 'Natural'+--+-- * 'dc1NextToken' @::@ 'Maybe' 'Text'+--+describeCommunications :: Text -- ^ 'dc1CaseId'+ -> DescribeCommunications+describeCommunications p1 = DescribeCommunications+ { _dc1CaseId = p1+ , _dc1BeforeTime = Nothing+ , _dc1AfterTime = Nothing+ , _dc1NextToken = Nothing+ , _dc1MaxResults = Nothing+ }++-- | The start date for a filtered date search on support case communications.+-- Case communications are available for 12 months after creation.+dc1AfterTime :: Lens' DescribeCommunications (Maybe Text)+dc1AfterTime = lens _dc1AfterTime (\s a -> s { _dc1AfterTime = a })++-- | The end date for a filtered date search on support case communications.+-- Case communications are available for 12 months after creation.+dc1BeforeTime :: Lens' DescribeCommunications (Maybe Text)+dc1BeforeTime = lens _dc1BeforeTime (\s a -> s { _dc1BeforeTime = a })++-- | The AWS Support case ID requested or returned in the call. The case ID is+-- an alphanumeric string formatted as shown in this example:+-- case-12345678910-2013-c4c1d2bf33c5cf47.+dc1CaseId :: Lens' DescribeCommunications Text+dc1CaseId = lens _dc1CaseId (\s a -> s { _dc1CaseId = a })++-- | The maximum number of results to return before paginating.+dc1MaxResults :: Lens' DescribeCommunications (Maybe Natural)+dc1MaxResults = lens _dc1MaxResults (\s a -> s { _dc1MaxResults = a }) . mapping _Nat++-- | A resumption point for pagination.+dc1NextToken :: Lens' DescribeCommunications (Maybe Text)+dc1NextToken = lens _dc1NextToken (\s a -> s { _dc1NextToken = a })++data DescribeCommunicationsResponse = DescribeCommunicationsResponse+ { _dcrCommunications :: List "communications" Communication+ , _dcrNextToken :: Maybe Text+ } deriving (Eq, Show)++-- | 'DescribeCommunicationsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcrCommunications' @::@ ['Communication']+--+-- * 'dcrNextToken' @::@ 'Maybe' 'Text'+--+describeCommunicationsResponse :: DescribeCommunicationsResponse+describeCommunicationsResponse = DescribeCommunicationsResponse+ { _dcrCommunications = mempty+ , _dcrNextToken = Nothing+ }++-- | The communications for the case.+dcrCommunications :: Lens' DescribeCommunicationsResponse [Communication]+dcrCommunications =+ lens _dcrCommunications (\s a -> s { _dcrCommunications = a })+ . _List++-- | A resumption point for pagination.+dcrNextToken :: Lens' DescribeCommunicationsResponse (Maybe Text)+dcrNextToken = lens _dcrNextToken (\s a -> s { _dcrNextToken = a })++instance ToPath DescribeCommunications where+ toPath = const "/"++instance ToQuery DescribeCommunications where+ toQuery = const mempty++instance ToHeaders DescribeCommunications++instance ToJSON DescribeCommunications where+ toJSON DescribeCommunications{..} = object+ [ "caseId" .= _dc1CaseId+ , "beforeTime" .= _dc1BeforeTime+ , "afterTime" .= _dc1AfterTime+ , "nextToken" .= _dc1NextToken+ , "maxResults" .= _dc1MaxResults+ ]++instance AWSRequest DescribeCommunications where+ type Sv DescribeCommunications = Support+ type Rs DescribeCommunications = DescribeCommunicationsResponse++ request = post "DescribeCommunications"+ response = jsonResponse++instance FromJSON DescribeCommunicationsResponse where+ parseJSON = withObject "DescribeCommunicationsResponse" $ \o -> DescribeCommunicationsResponse+ <$> o .: "communications"+ <*> o .:? "nextToken"++instance AWSPager DescribeCommunications where+ page rq rs+ | stop (rq ^. dc1NextToken) = Nothing+ | otherwise = (\x -> rq & dc1NextToken ?~ x)+ <$> (rs ^. dcrNextToken)
+ gen/Network/AWS/Support/DescribeServices.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.DescribeServices+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns the current list of AWS services and a list of service categories+-- that applies to each one. You then use service names and categories in your+-- CreateCase requests. Each AWS service has its own set of categories. The+-- service codes and category codes correspond to the values that are+-- displayed in the Service and Category drop-down lists on the AWS Support+-- Center Open a new case page. The values in those fields, however, do not+-- necessarily match the service codes and categories returned by the+-- DescribeServices request. Always use the service codes and categories+-- obtained programmatically. This practice ensures that you always have the+-- most recent set of service and category codes.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeServices.html>+module Network.AWS.Support.DescribeServices+ (+ -- * Request+ DescribeServices+ -- ** Request constructor+ , describeServices+ -- ** Request lenses+ , dsLanguage+ , dsServiceCodeList++ -- * Response+ , DescribeServicesResponse+ -- ** Response constructor+ , describeServicesResponse+ -- ** Response lenses+ , dsrServices+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++data DescribeServices = DescribeServices+ { _dsLanguage :: Maybe Text+ , _dsServiceCodeList :: List "serviceCodeList" Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeServices' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsLanguage' @::@ 'Maybe' 'Text'+--+-- * 'dsServiceCodeList' @::@ ['Text']+--+describeServices :: DescribeServices+describeServices = DescribeServices+ { _dsServiceCodeList = mempty+ , _dsLanguage = Nothing+ }++-- | The ISO 639-1 code for the language in which AWS provides support. AWS+-- Support currently supports English ("en") and Japanese ("ja"). Language+-- parameters must be passed explicitly for operations that take them.+dsLanguage :: Lens' DescribeServices (Maybe Text)+dsLanguage = lens _dsLanguage (\s a -> s { _dsLanguage = a })++-- | A JSON-formatted list of service codes available for AWS services.+dsServiceCodeList :: Lens' DescribeServices [Text]+dsServiceCodeList =+ lens _dsServiceCodeList (\s a -> s { _dsServiceCodeList = a })+ . _List++newtype DescribeServicesResponse = DescribeServicesResponse+ { _dsrServices :: List "services" SupportService+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeServicesResponse where+ type Item DescribeServicesResponse = SupportService++ fromList = DescribeServicesResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dsrServices++-- | 'DescribeServicesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsrServices' @::@ ['SupportService']+--+describeServicesResponse :: DescribeServicesResponse+describeServicesResponse = DescribeServicesResponse+ { _dsrServices = mempty+ }++-- | A JSON-formatted list of AWS services.+dsrServices :: Lens' DescribeServicesResponse [SupportService]+dsrServices = lens _dsrServices (\s a -> s { _dsrServices = a }) . _List++instance ToPath DescribeServices where+ toPath = const "/"++instance ToQuery DescribeServices where+ toQuery = const mempty++instance ToHeaders DescribeServices++instance ToJSON DescribeServices where+ toJSON DescribeServices{..} = object+ [ "serviceCodeList" .= _dsServiceCodeList+ , "language" .= _dsLanguage+ ]++instance AWSRequest DescribeServices where+ type Sv DescribeServices = Support+ type Rs DescribeServices = DescribeServicesResponse++ request = post "DescribeServices"+ response = jsonResponse++instance FromJSON DescribeServicesResponse where+ parseJSON = withObject "DescribeServicesResponse" $ \o -> DescribeServicesResponse+ <$> o .: "services"
+ gen/Network/AWS/Support/DescribeSeverityLevels.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.DescribeSeverityLevels+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns the list of severity levels that you can assign to an AWS Support+-- case. The severity level for a case is also a field in the CaseDetails data+-- type included in any CreateCase request.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeSeverityLevels.html>+module Network.AWS.Support.DescribeSeverityLevels+ (+ -- * Request+ DescribeSeverityLevels+ -- ** Request constructor+ , describeSeverityLevels+ -- ** Request lenses+ , dslLanguage++ -- * Response+ , DescribeSeverityLevelsResponse+ -- ** Response constructor+ , describeSeverityLevelsResponse+ -- ** Response lenses+ , dslrSeverityLevels+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++newtype DescribeSeverityLevels = DescribeSeverityLevels+ { _dslLanguage :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'DescribeSeverityLevels' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dslLanguage' @::@ 'Maybe' 'Text'+--+describeSeverityLevels :: DescribeSeverityLevels+describeSeverityLevels = DescribeSeverityLevels+ { _dslLanguage = Nothing+ }++-- | The ISO 639-1 code for the language in which AWS provides support. AWS+-- Support currently supports English ("en") and Japanese ("ja"). Language+-- parameters must be passed explicitly for operations that take them.+dslLanguage :: Lens' DescribeSeverityLevels (Maybe Text)+dslLanguage = lens _dslLanguage (\s a -> s { _dslLanguage = a })++newtype DescribeSeverityLevelsResponse = DescribeSeverityLevelsResponse+ { _dslrSeverityLevels :: List "severityLevels" SeverityLevel+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeSeverityLevelsResponse where+ type Item DescribeSeverityLevelsResponse = SeverityLevel++ fromList = DescribeSeverityLevelsResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dslrSeverityLevels++-- | 'DescribeSeverityLevelsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dslrSeverityLevels' @::@ ['SeverityLevel']+--+describeSeverityLevelsResponse :: DescribeSeverityLevelsResponse+describeSeverityLevelsResponse = DescribeSeverityLevelsResponse+ { _dslrSeverityLevels = mempty+ }++-- | The available severity levels for the support case. Available severity+-- levels are defined by your service level agreement with AWS.+dslrSeverityLevels :: Lens' DescribeSeverityLevelsResponse [SeverityLevel]+dslrSeverityLevels =+ lens _dslrSeverityLevels (\s a -> s { _dslrSeverityLevels = a })+ . _List++instance ToPath DescribeSeverityLevels where+ toPath = const "/"++instance ToQuery DescribeSeverityLevels where+ toQuery = const mempty++instance ToHeaders DescribeSeverityLevels++instance ToJSON DescribeSeverityLevels where+ toJSON DescribeSeverityLevels{..} = object+ [ "language" .= _dslLanguage+ ]++instance AWSRequest DescribeSeverityLevels where+ type Sv DescribeSeverityLevels = Support+ type Rs DescribeSeverityLevels = DescribeSeverityLevelsResponse++ request = post "DescribeSeverityLevels"+ response = jsonResponse++instance FromJSON DescribeSeverityLevelsResponse where+ parseJSON = withObject "DescribeSeverityLevelsResponse" $ \o -> DescribeSeverityLevelsResponse+ <$> o .: "severityLevels"
+ gen/Network/AWS/Support/DescribeTrustedAdvisorCheckRefreshStatuses.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns the refresh status of the Trusted Advisor checks that have the+-- specified check IDs. Check IDs can be obtained by calling+-- DescribeTrustedAdvisorChecks.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeTrustedAdvisorCheckRefreshStatuses.html>+module Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses+ (+ -- * Request+ DescribeTrustedAdvisorCheckRefreshStatuses+ -- ** Request constructor+ , describeTrustedAdvisorCheckRefreshStatuses+ -- ** Request lenses+ , dtacrsCheckIds++ -- * Response+ , DescribeTrustedAdvisorCheckRefreshStatusesResponse+ -- ** Response constructor+ , describeTrustedAdvisorCheckRefreshStatusesResponse+ -- ** Response lenses+ , dtacrsrStatuses+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++newtype DescribeTrustedAdvisorCheckRefreshStatuses = DescribeTrustedAdvisorCheckRefreshStatuses+ { _dtacrsCheckIds :: List "checkIds" Text+ } deriving (Eq, Ord, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeTrustedAdvisorCheckRefreshStatuses where+ type Item DescribeTrustedAdvisorCheckRefreshStatuses = Text++ fromList = DescribeTrustedAdvisorCheckRefreshStatuses . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dtacrsCheckIds++-- | 'DescribeTrustedAdvisorCheckRefreshStatuses' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtacrsCheckIds' @::@ ['Text']+--+describeTrustedAdvisorCheckRefreshStatuses :: DescribeTrustedAdvisorCheckRefreshStatuses+describeTrustedAdvisorCheckRefreshStatuses = DescribeTrustedAdvisorCheckRefreshStatuses+ { _dtacrsCheckIds = mempty+ }++-- | The IDs of the Trusted Advisor checks.+dtacrsCheckIds :: Lens' DescribeTrustedAdvisorCheckRefreshStatuses [Text]+dtacrsCheckIds = lens _dtacrsCheckIds (\s a -> s { _dtacrsCheckIds = a }) . _List++newtype DescribeTrustedAdvisorCheckRefreshStatusesResponse = DescribeTrustedAdvisorCheckRefreshStatusesResponse+ { _dtacrsrStatuses :: List "statuses" TrustedAdvisorCheckRefreshStatus+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeTrustedAdvisorCheckRefreshStatusesResponse where+ type Item DescribeTrustedAdvisorCheckRefreshStatusesResponse = TrustedAdvisorCheckRefreshStatus++ fromList = DescribeTrustedAdvisorCheckRefreshStatusesResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dtacrsrStatuses++-- | 'DescribeTrustedAdvisorCheckRefreshStatusesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtacrsrStatuses' @::@ ['TrustedAdvisorCheckRefreshStatus']+--+describeTrustedAdvisorCheckRefreshStatusesResponse :: DescribeTrustedAdvisorCheckRefreshStatusesResponse+describeTrustedAdvisorCheckRefreshStatusesResponse = DescribeTrustedAdvisorCheckRefreshStatusesResponse+ { _dtacrsrStatuses = mempty+ }++-- | The refresh status of the specified Trusted Advisor checks.+dtacrsrStatuses :: Lens' DescribeTrustedAdvisorCheckRefreshStatusesResponse [TrustedAdvisorCheckRefreshStatus]+dtacrsrStatuses = lens _dtacrsrStatuses (\s a -> s { _dtacrsrStatuses = a }) . _List++instance ToPath DescribeTrustedAdvisorCheckRefreshStatuses where+ toPath = const "/"++instance ToQuery DescribeTrustedAdvisorCheckRefreshStatuses where+ toQuery = const mempty++instance ToHeaders DescribeTrustedAdvisorCheckRefreshStatuses++instance ToJSON DescribeTrustedAdvisorCheckRefreshStatuses where+ toJSON DescribeTrustedAdvisorCheckRefreshStatuses{..} = object+ [ "checkIds" .= _dtacrsCheckIds+ ]++instance AWSRequest DescribeTrustedAdvisorCheckRefreshStatuses where+ type Sv DescribeTrustedAdvisorCheckRefreshStatuses = Support+ type Rs DescribeTrustedAdvisorCheckRefreshStatuses = DescribeTrustedAdvisorCheckRefreshStatusesResponse++ request = post "DescribeTrustedAdvisorCheckRefreshStatuses"+ response = jsonResponse++instance FromJSON DescribeTrustedAdvisorCheckRefreshStatusesResponse where+ parseJSON = withObject "DescribeTrustedAdvisorCheckRefreshStatusesResponse" $ \o -> DescribeTrustedAdvisorCheckRefreshStatusesResponse+ <$> o .: "statuses"
+ gen/Network/AWS/Support/DescribeTrustedAdvisorCheckResult.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.DescribeTrustedAdvisorCheckResult+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns the results of the Trusted Advisor check that has the specified+-- check ID. Check IDs can be obtained by calling+-- DescribeTrustedAdvisorChecks. The response contains a+-- TrustedAdvisorCheckResult object, which contains these three objects:+-- TrustedAdvisorCategorySpecificSummary TrustedAdvisorResourceDetail+-- TrustedAdvisorResourcesSummary In addition, the response contains these+-- fields: Status. The alert status of the check: "ok" (green), "warning"+-- (yellow), "error" (red), or "not_available". Timestamp. The time of the+-- last refresh of the check. CheckId. The unique identifier for the check.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeTrustedAdvisorCheckResult.html>+module Network.AWS.Support.DescribeTrustedAdvisorCheckResult+ (+ -- * Request+ DescribeTrustedAdvisorCheckResult+ -- ** Request constructor+ , describeTrustedAdvisorCheckResult+ -- ** Request lenses+ , dtacrCheckId+ , dtacrLanguage++ -- * Response+ , DescribeTrustedAdvisorCheckResultResponse+ -- ** Response constructor+ , describeTrustedAdvisorCheckResultResponse+ -- ** Response lenses+ , dtacrrResult+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++data DescribeTrustedAdvisorCheckResult = DescribeTrustedAdvisorCheckResult+ { _dtacrCheckId :: Text+ , _dtacrLanguage :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeTrustedAdvisorCheckResult' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtacrCheckId' @::@ 'Text'+--+-- * 'dtacrLanguage' @::@ 'Maybe' 'Text'+--+describeTrustedAdvisorCheckResult :: Text -- ^ 'dtacrCheckId'+ -> DescribeTrustedAdvisorCheckResult+describeTrustedAdvisorCheckResult p1 = DescribeTrustedAdvisorCheckResult+ { _dtacrCheckId = p1+ , _dtacrLanguage = Nothing+ }++-- | The unique identifier for the Trusted Advisor check.+dtacrCheckId :: Lens' DescribeTrustedAdvisorCheckResult Text+dtacrCheckId = lens _dtacrCheckId (\s a -> s { _dtacrCheckId = a })++-- | The ISO 639-1 code for the language in which AWS provides support. AWS+-- Support currently supports English ("en") and Japanese ("ja"). Language+-- parameters must be passed explicitly for operations that take them.+dtacrLanguage :: Lens' DescribeTrustedAdvisorCheckResult (Maybe Text)+dtacrLanguage = lens _dtacrLanguage (\s a -> s { _dtacrLanguage = a })++newtype DescribeTrustedAdvisorCheckResultResponse = DescribeTrustedAdvisorCheckResultResponse+ { _dtacrrResult :: Maybe TrustedAdvisorCheckResult+ } deriving (Eq, Show)++-- | 'DescribeTrustedAdvisorCheckResultResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtacrrResult' @::@ 'Maybe' 'TrustedAdvisorCheckResult'+--+describeTrustedAdvisorCheckResultResponse :: DescribeTrustedAdvisorCheckResultResponse+describeTrustedAdvisorCheckResultResponse = DescribeTrustedAdvisorCheckResultResponse+ { _dtacrrResult = Nothing+ }++-- | The detailed results of the Trusted Advisor check.+dtacrrResult :: Lens' DescribeTrustedAdvisorCheckResultResponse (Maybe TrustedAdvisorCheckResult)+dtacrrResult = lens _dtacrrResult (\s a -> s { _dtacrrResult = a })++instance ToPath DescribeTrustedAdvisorCheckResult where+ toPath = const "/"++instance ToQuery DescribeTrustedAdvisorCheckResult where+ toQuery = const mempty++instance ToHeaders DescribeTrustedAdvisorCheckResult++instance ToJSON DescribeTrustedAdvisorCheckResult where+ toJSON DescribeTrustedAdvisorCheckResult{..} = object+ [ "checkId" .= _dtacrCheckId+ , "language" .= _dtacrLanguage+ ]++instance AWSRequest DescribeTrustedAdvisorCheckResult where+ type Sv DescribeTrustedAdvisorCheckResult = Support+ type Rs DescribeTrustedAdvisorCheckResult = DescribeTrustedAdvisorCheckResultResponse++ request = post "DescribeTrustedAdvisorCheckResult"+ response = jsonResponse++instance FromJSON DescribeTrustedAdvisorCheckResultResponse where+ parseJSON = withObject "DescribeTrustedAdvisorCheckResultResponse" $ \o -> DescribeTrustedAdvisorCheckResultResponse+ <$> o .:? "result"
+ gen/Network/AWS/Support/DescribeTrustedAdvisorCheckSummaries.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns the summaries of the results of the Trusted Advisor checks that+-- have the specified check IDs. Check IDs can be obtained by calling+-- DescribeTrustedAdvisorChecks. The response contains an array of+-- TrustedAdvisorCheckSummary objects.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeTrustedAdvisorCheckSummaries.html>+module Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries+ (+ -- * Request+ DescribeTrustedAdvisorCheckSummaries+ -- ** Request constructor+ , describeTrustedAdvisorCheckSummaries+ -- ** Request lenses+ , dtacsCheckIds++ -- * Response+ , DescribeTrustedAdvisorCheckSummariesResponse+ -- ** Response constructor+ , describeTrustedAdvisorCheckSummariesResponse+ -- ** Response lenses+ , dtacsrSummaries+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++newtype DescribeTrustedAdvisorCheckSummaries = DescribeTrustedAdvisorCheckSummaries+ { _dtacsCheckIds :: List "checkIds" Text+ } deriving (Eq, Ord, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeTrustedAdvisorCheckSummaries where+ type Item DescribeTrustedAdvisorCheckSummaries = Text++ fromList = DescribeTrustedAdvisorCheckSummaries . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dtacsCheckIds++-- | 'DescribeTrustedAdvisorCheckSummaries' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtacsCheckIds' @::@ ['Text']+--+describeTrustedAdvisorCheckSummaries :: DescribeTrustedAdvisorCheckSummaries+describeTrustedAdvisorCheckSummaries = DescribeTrustedAdvisorCheckSummaries+ { _dtacsCheckIds = mempty+ }++-- | The IDs of the Trusted Advisor checks.+dtacsCheckIds :: Lens' DescribeTrustedAdvisorCheckSummaries [Text]+dtacsCheckIds = lens _dtacsCheckIds (\s a -> s { _dtacsCheckIds = a }) . _List++newtype DescribeTrustedAdvisorCheckSummariesResponse = DescribeTrustedAdvisorCheckSummariesResponse+ { _dtacsrSummaries :: List "summaries" TrustedAdvisorCheckSummary+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeTrustedAdvisorCheckSummariesResponse where+ type Item DescribeTrustedAdvisorCheckSummariesResponse = TrustedAdvisorCheckSummary++ fromList = DescribeTrustedAdvisorCheckSummariesResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dtacsrSummaries++-- | 'DescribeTrustedAdvisorCheckSummariesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtacsrSummaries' @::@ ['TrustedAdvisorCheckSummary']+--+describeTrustedAdvisorCheckSummariesResponse :: DescribeTrustedAdvisorCheckSummariesResponse+describeTrustedAdvisorCheckSummariesResponse = DescribeTrustedAdvisorCheckSummariesResponse+ { _dtacsrSummaries = mempty+ }++-- | The summary information for the requested Trusted Advisor checks.+dtacsrSummaries :: Lens' DescribeTrustedAdvisorCheckSummariesResponse [TrustedAdvisorCheckSummary]+dtacsrSummaries = lens _dtacsrSummaries (\s a -> s { _dtacsrSummaries = a }) . _List++instance ToPath DescribeTrustedAdvisorCheckSummaries where+ toPath = const "/"++instance ToQuery DescribeTrustedAdvisorCheckSummaries where+ toQuery = const mempty++instance ToHeaders DescribeTrustedAdvisorCheckSummaries++instance ToJSON DescribeTrustedAdvisorCheckSummaries where+ toJSON DescribeTrustedAdvisorCheckSummaries{..} = object+ [ "checkIds" .= _dtacsCheckIds+ ]++instance AWSRequest DescribeTrustedAdvisorCheckSummaries where+ type Sv DescribeTrustedAdvisorCheckSummaries = Support+ type Rs DescribeTrustedAdvisorCheckSummaries = DescribeTrustedAdvisorCheckSummariesResponse++ request = post "DescribeTrustedAdvisorCheckSummaries"+ response = jsonResponse++instance FromJSON DescribeTrustedAdvisorCheckSummariesResponse where+ parseJSON = withObject "DescribeTrustedAdvisorCheckSummariesResponse" $ \o -> DescribeTrustedAdvisorCheckSummariesResponse+ <$> o .: "summaries"
+ gen/Network/AWS/Support/DescribeTrustedAdvisorChecks.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.DescribeTrustedAdvisorChecks+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns information about all available Trusted Advisor checks, including+-- name, ID, category, description, and metadata. You must specify a language+-- code; English ("en") and Japanese ("ja") are currently supported. The+-- response contains a TrustedAdvisorCheckDescription for each check.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_DescribeTrustedAdvisorChecks.html>+module Network.AWS.Support.DescribeTrustedAdvisorChecks+ (+ -- * Request+ DescribeTrustedAdvisorChecks+ -- ** Request constructor+ , describeTrustedAdvisorChecks+ -- ** Request lenses+ , dtacLanguage++ -- * Response+ , DescribeTrustedAdvisorChecksResponse+ -- ** Response constructor+ , describeTrustedAdvisorChecksResponse+ -- ** Response lenses+ , dtacrChecks+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++newtype DescribeTrustedAdvisorChecks = DescribeTrustedAdvisorChecks+ { _dtacLanguage :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DescribeTrustedAdvisorChecks' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtacLanguage' @::@ 'Text'+--+describeTrustedAdvisorChecks :: Text -- ^ 'dtacLanguage'+ -> DescribeTrustedAdvisorChecks+describeTrustedAdvisorChecks p1 = DescribeTrustedAdvisorChecks+ { _dtacLanguage = p1+ }++-- | The ISO 639-1 code for the language in which AWS provides support. AWS+-- Support currently supports English ("en") and Japanese ("ja"). Language+-- parameters must be passed explicitly for operations that take them.+dtacLanguage :: Lens' DescribeTrustedAdvisorChecks Text+dtacLanguage = lens _dtacLanguage (\s a -> s { _dtacLanguage = a })++newtype DescribeTrustedAdvisorChecksResponse = DescribeTrustedAdvisorChecksResponse+ { _dtacrChecks :: List "checks" TrustedAdvisorCheckDescription+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeTrustedAdvisorChecksResponse where+ type Item DescribeTrustedAdvisorChecksResponse = TrustedAdvisorCheckDescription++ fromList = DescribeTrustedAdvisorChecksResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dtacrChecks++-- | 'DescribeTrustedAdvisorChecksResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtacrChecks' @::@ ['TrustedAdvisorCheckDescription']+--+describeTrustedAdvisorChecksResponse :: DescribeTrustedAdvisorChecksResponse+describeTrustedAdvisorChecksResponse = DescribeTrustedAdvisorChecksResponse+ { _dtacrChecks = mempty+ }++-- | Information about all available Trusted Advisor checks.+dtacrChecks :: Lens' DescribeTrustedAdvisorChecksResponse [TrustedAdvisorCheckDescription]+dtacrChecks = lens _dtacrChecks (\s a -> s { _dtacrChecks = a }) . _List++instance ToPath DescribeTrustedAdvisorChecks where+ toPath = const "/"++instance ToQuery DescribeTrustedAdvisorChecks where+ toQuery = const mempty++instance ToHeaders DescribeTrustedAdvisorChecks++instance ToJSON DescribeTrustedAdvisorChecks where+ toJSON DescribeTrustedAdvisorChecks{..} = object+ [ "language" .= _dtacLanguage+ ]++instance AWSRequest DescribeTrustedAdvisorChecks where+ type Sv DescribeTrustedAdvisorChecks = Support+ type Rs DescribeTrustedAdvisorChecks = DescribeTrustedAdvisorChecksResponse++ request = post "DescribeTrustedAdvisorChecks"+ response = jsonResponse++instance FromJSON DescribeTrustedAdvisorChecksResponse where+ parseJSON = withObject "DescribeTrustedAdvisorChecksResponse" $ \o -> DescribeTrustedAdvisorChecksResponse+ <$> o .: "checks"
+ gen/Network/AWS/Support/RefreshTrustedAdvisorCheck.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.RefreshTrustedAdvisorCheck+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Requests a refresh of the Trusted Advisor check that has the specified+-- check ID. Check IDs can be obtained by calling+-- DescribeTrustedAdvisorChecks. The response contains a+-- RefreshTrustedAdvisorCheckResult object, which contains these fields:+-- Status. The refresh status of the check: "none", "enqueued", "processing",+-- "success", or "abandoned". MillisUntilNextRefreshable. The amount of time,+-- in milliseconds, until the check is eligible for refresh. CheckId. The+-- unique identifier for the check.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_RefreshTrustedAdvisorCheck.html>+module Network.AWS.Support.RefreshTrustedAdvisorCheck+ (+ -- * Request+ RefreshTrustedAdvisorCheck+ -- ** Request constructor+ , refreshTrustedAdvisorCheck+ -- ** Request lenses+ , rtacCheckId++ -- * Response+ , RefreshTrustedAdvisorCheckResponse+ -- ** Response constructor+ , refreshTrustedAdvisorCheckResponse+ -- ** Response lenses+ , rtacrStatus+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++newtype RefreshTrustedAdvisorCheck = RefreshTrustedAdvisorCheck+ { _rtacCheckId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'RefreshTrustedAdvisorCheck' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rtacCheckId' @::@ 'Text'+--+refreshTrustedAdvisorCheck :: Text -- ^ 'rtacCheckId'+ -> RefreshTrustedAdvisorCheck+refreshTrustedAdvisorCheck p1 = RefreshTrustedAdvisorCheck+ { _rtacCheckId = p1+ }++-- | The unique identifier for the Trusted Advisor check.+rtacCheckId :: Lens' RefreshTrustedAdvisorCheck Text+rtacCheckId = lens _rtacCheckId (\s a -> s { _rtacCheckId = a })++newtype RefreshTrustedAdvisorCheckResponse = RefreshTrustedAdvisorCheckResponse+ { _rtacrStatus :: TrustedAdvisorCheckRefreshStatus+ } deriving (Eq, Show)++-- | 'RefreshTrustedAdvisorCheckResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rtacrStatus' @::@ 'TrustedAdvisorCheckRefreshStatus'+--+refreshTrustedAdvisorCheckResponse :: TrustedAdvisorCheckRefreshStatus -- ^ 'rtacrStatus'+ -> RefreshTrustedAdvisorCheckResponse+refreshTrustedAdvisorCheckResponse p1 = RefreshTrustedAdvisorCheckResponse+ { _rtacrStatus = p1+ }++-- | The current refresh status for a check, including the amount of time+-- until the check is eligible for refresh.+rtacrStatus :: Lens' RefreshTrustedAdvisorCheckResponse TrustedAdvisorCheckRefreshStatus+rtacrStatus = lens _rtacrStatus (\s a -> s { _rtacrStatus = a })++instance ToPath RefreshTrustedAdvisorCheck where+ toPath = const "/"++instance ToQuery RefreshTrustedAdvisorCheck where+ toQuery = const mempty++instance ToHeaders RefreshTrustedAdvisorCheck++instance ToJSON RefreshTrustedAdvisorCheck where+ toJSON RefreshTrustedAdvisorCheck{..} = object+ [ "checkId" .= _rtacCheckId+ ]++instance AWSRequest RefreshTrustedAdvisorCheck where+ type Sv RefreshTrustedAdvisorCheck = Support+ type Rs RefreshTrustedAdvisorCheck = RefreshTrustedAdvisorCheckResponse++ request = post "RefreshTrustedAdvisorCheck"+ response = jsonResponse++instance FromJSON RefreshTrustedAdvisorCheckResponse where+ parseJSON = withObject "RefreshTrustedAdvisorCheckResponse" $ \o -> RefreshTrustedAdvisorCheckResponse+ <$> o .: "status"
+ gen/Network/AWS/Support/ResolveCase.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.ResolveCase+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Takes a CaseId and returns the initial state of the case along with the+-- state of the case after the call to ResolveCase completed.+--+-- <http://docs.aws.amazon.com/awssupport/latest/APIReference/API_ResolveCase.html>+module Network.AWS.Support.ResolveCase+ (+ -- * Request+ ResolveCase+ -- ** Request constructor+ , resolveCase+ -- ** Request lenses+ , rcCaseId++ -- * Response+ , ResolveCaseResponse+ -- ** Response constructor+ , resolveCaseResponse+ -- ** Response lenses+ , rcrFinalCaseStatus+ , rcrInitialCaseStatus+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.Support.Types+import qualified GHC.Exts++newtype ResolveCase = ResolveCase+ { _rcCaseId :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'ResolveCase' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rcCaseId' @::@ 'Maybe' 'Text'+--+resolveCase :: ResolveCase+resolveCase = ResolveCase+ { _rcCaseId = Nothing+ }++-- | The AWS Support case ID requested or returned in the call. The case ID is+-- an alphanumeric string formatted as shown in this example:+-- case-12345678910-2013-c4c1d2bf33c5cf47.+rcCaseId :: Lens' ResolveCase (Maybe Text)+rcCaseId = lens _rcCaseId (\s a -> s { _rcCaseId = a })++data ResolveCaseResponse = ResolveCaseResponse+ { _rcrFinalCaseStatus :: Maybe Text+ , _rcrInitialCaseStatus :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'ResolveCaseResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rcrFinalCaseStatus' @::@ 'Maybe' 'Text'+--+-- * 'rcrInitialCaseStatus' @::@ 'Maybe' 'Text'+--+resolveCaseResponse :: ResolveCaseResponse+resolveCaseResponse = ResolveCaseResponse+ { _rcrInitialCaseStatus = Nothing+ , _rcrFinalCaseStatus = Nothing+ }++-- | The status of the case after the ResolveCase request was processed.+rcrFinalCaseStatus :: Lens' ResolveCaseResponse (Maybe Text)+rcrFinalCaseStatus =+ lens _rcrFinalCaseStatus (\s a -> s { _rcrFinalCaseStatus = a })++-- | The status of the case when the ResolveCase request was sent.+rcrInitialCaseStatus :: Lens' ResolveCaseResponse (Maybe Text)+rcrInitialCaseStatus =+ lens _rcrInitialCaseStatus (\s a -> s { _rcrInitialCaseStatus = a })++instance ToPath ResolveCase where+ toPath = const "/"++instance ToQuery ResolveCase where+ toQuery = const mempty++instance ToHeaders ResolveCase++instance ToJSON ResolveCase where+ toJSON ResolveCase{..} = object+ [ "caseId" .= _rcCaseId+ ]++instance AWSRequest ResolveCase where+ type Sv ResolveCase = Support+ type Rs ResolveCase = ResolveCaseResponse++ request = post "ResolveCase"+ response = jsonResponse++instance FromJSON ResolveCaseResponse where+ parseJSON = withObject "ResolveCaseResponse" $ \o -> ResolveCaseResponse+ <$> o .:? "finalCaseStatus"+ <*> o .:? "initialCaseStatus"
+ gen/Network/AWS/Support/Types.hs view
@@ -0,0 +1,1178 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.Support.Types+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++module Network.AWS.Support.Types+ (+ -- * Service+ Support+ -- ** Error+ , JSONError++ -- * TrustedAdvisorResourcesSummary+ , TrustedAdvisorResourcesSummary+ , trustedAdvisorResourcesSummary+ , tarsResourcesFlagged+ , tarsResourcesIgnored+ , tarsResourcesProcessed+ , tarsResourcesSuppressed++ -- * TrustedAdvisorCategorySpecificSummary+ , TrustedAdvisorCategorySpecificSummary+ , trustedAdvisorCategorySpecificSummary+ , tacssCostOptimizing++ -- * Communication+ , Communication+ , communication+ , cAttachmentSet+ , cBody+ , cCaseId+ , cSubmittedBy+ , cTimeCreated++ -- * Category+ , Category+ , category+ , cCode+ , cName++ -- * TrustedAdvisorCheckSummary+ , TrustedAdvisorCheckSummary+ , trustedAdvisorCheckSummary+ , tacsCategorySpecificSummary+ , tacsCheckId+ , tacsHasFlaggedResources+ , tacsResourcesSummary+ , tacsStatus+ , tacsTimestamp++ -- * AttachmentDetails+ , AttachmentDetails+ , attachmentDetails+ , adAttachmentId+ , adFileName++ -- * TrustedAdvisorCheckResult+ , TrustedAdvisorCheckResult+ , trustedAdvisorCheckResult+ , tacrCategorySpecificSummary+ , tacrCheckId+ , tacrFlaggedResources+ , tacrResourcesSummary+ , tacrStatus+ , tacrTimestamp++ -- * TrustedAdvisorCheckDescription+ , TrustedAdvisorCheckDescription+ , trustedAdvisorCheckDescription+ , tacdCategory+ , tacdDescription+ , tacdId+ , tacdMetadata+ , tacdName++ -- * Attachment+ , Attachment+ , attachment+ , aData+ , aFileName++ -- * RecentCaseCommunications+ , RecentCaseCommunications+ , recentCaseCommunications+ , rccCommunications+ , rccNextToken++ -- * SupportService+ , SupportService+ , supportService+ , ssCategories+ , ssCode+ , ssName++ -- * TrustedAdvisorResourceDetail+ , TrustedAdvisorResourceDetail+ , trustedAdvisorResourceDetail+ , tardIsSuppressed+ , tardMetadata+ , tardRegion+ , tardResourceId+ , tardStatus++ -- * TrustedAdvisorCostOptimizingSummary+ , TrustedAdvisorCostOptimizingSummary+ , trustedAdvisorCostOptimizingSummary+ , tacosEstimatedMonthlySavings+ , tacosEstimatedPercentMonthlySavings++ -- * SeverityLevel+ , SeverityLevel+ , severityLevel+ , slCode+ , slName++ -- * CaseDetails+ , CaseDetails+ , caseDetails+ , cdCaseId+ , cdCategoryCode+ , cdCcEmailAddresses+ , cdDisplayId+ , cdLanguage+ , cdRecentCommunications+ , cdServiceCode+ , cdSeverityCode+ , cdStatus+ , cdSubject+ , cdSubmittedBy+ , cdTimeCreated++ -- * TrustedAdvisorCheckRefreshStatus+ , TrustedAdvisorCheckRefreshStatus+ , trustedAdvisorCheckRefreshStatus+ , tacrsCheckId+ , tacrsMillisUntilNextRefreshable+ , tacrsStatus+ ) where++import Data.Char (isUpper)+import Network.AWS.Error+import Network.AWS.Prelude+import Network.AWS.Signing.V4+import qualified GHC.Exts++-- | Version @2013-04-15@ of the Amazon Support service.+data Support++instance AWSService Support where+ type Sg Support = V4+ type Er Support = JSONError++ service = Service+ { _svcEndpoint = regional+ , _svcAbbrev = "Support"+ , _svcPrefix = "support"+ , _svcVersion = "2013-04-15"+ , _svcTargetPrefix = Just "AWSSupport_20130415"+ , _svcJSONVersion = Just "1.1"+ }++ handle = jsonError statusSuccess++data TrustedAdvisorResourcesSummary = TrustedAdvisorResourcesSummary+ { _tarsResourcesFlagged :: Integer+ , _tarsResourcesIgnored :: Integer+ , _tarsResourcesProcessed :: Integer+ , _tarsResourcesSuppressed :: Integer+ } deriving (Eq, Ord, Show)++-- | 'TrustedAdvisorResourcesSummary' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tarsResourcesFlagged' @::@ 'Integer'+--+-- * 'tarsResourcesIgnored' @::@ 'Integer'+--+-- * 'tarsResourcesProcessed' @::@ 'Integer'+--+-- * 'tarsResourcesSuppressed' @::@ 'Integer'+--+trustedAdvisorResourcesSummary :: Integer -- ^ 'tarsResourcesProcessed'+ -> Integer -- ^ 'tarsResourcesFlagged'+ -> Integer -- ^ 'tarsResourcesIgnored'+ -> Integer -- ^ 'tarsResourcesSuppressed'+ -> TrustedAdvisorResourcesSummary+trustedAdvisorResourcesSummary p1 p2 p3 p4 = TrustedAdvisorResourcesSummary+ { _tarsResourcesProcessed = p1+ , _tarsResourcesFlagged = p2+ , _tarsResourcesIgnored = p3+ , _tarsResourcesSuppressed = p4+ }++-- | The number of AWS resources that were flagged (listed) by the Trusted+-- Advisor check.+tarsResourcesFlagged :: Lens' TrustedAdvisorResourcesSummary Integer+tarsResourcesFlagged =+ lens _tarsResourcesFlagged (\s a -> s { _tarsResourcesFlagged = a })++-- | The number of AWS resources ignored by Trusted Advisor because+-- information was unavailable.+tarsResourcesIgnored :: Lens' TrustedAdvisorResourcesSummary Integer+tarsResourcesIgnored =+ lens _tarsResourcesIgnored (\s a -> s { _tarsResourcesIgnored = a })++-- | The number of AWS resources that were analyzed by the Trusted Advisor+-- check.+tarsResourcesProcessed :: Lens' TrustedAdvisorResourcesSummary Integer+tarsResourcesProcessed =+ lens _tarsResourcesProcessed (\s a -> s { _tarsResourcesProcessed = a })++-- | The number of AWS resources ignored by Trusted Advisor because they were+-- marked as suppressed by the user.+tarsResourcesSuppressed :: Lens' TrustedAdvisorResourcesSummary Integer+tarsResourcesSuppressed =+ lens _tarsResourcesSuppressed (\s a -> s { _tarsResourcesSuppressed = a })++instance FromJSON TrustedAdvisorResourcesSummary where+ parseJSON = withObject "TrustedAdvisorResourcesSummary" $ \o -> TrustedAdvisorResourcesSummary+ <$> o .: "resourcesFlagged"+ <*> o .: "resourcesIgnored"+ <*> o .: "resourcesProcessed"+ <*> o .: "resourcesSuppressed"++instance ToJSON TrustedAdvisorResourcesSummary where+ toJSON TrustedAdvisorResourcesSummary{..} = object+ [ "resourcesProcessed" .= _tarsResourcesProcessed+ , "resourcesFlagged" .= _tarsResourcesFlagged+ , "resourcesIgnored" .= _tarsResourcesIgnored+ , "resourcesSuppressed" .= _tarsResourcesSuppressed+ ]++newtype TrustedAdvisorCategorySpecificSummary = TrustedAdvisorCategorySpecificSummary+ { _tacssCostOptimizing :: Maybe TrustedAdvisorCostOptimizingSummary+ } deriving (Eq, Show)++-- | 'TrustedAdvisorCategorySpecificSummary' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tacssCostOptimizing' @::@ 'Maybe' 'TrustedAdvisorCostOptimizingSummary'+--+trustedAdvisorCategorySpecificSummary :: TrustedAdvisorCategorySpecificSummary+trustedAdvisorCategorySpecificSummary = TrustedAdvisorCategorySpecificSummary+ { _tacssCostOptimizing = Nothing+ }++-- | The summary information about cost savings for a Trusted Advisor check+-- that is in the Cost Optimizing category.+tacssCostOptimizing :: Lens' TrustedAdvisorCategorySpecificSummary (Maybe TrustedAdvisorCostOptimizingSummary)+tacssCostOptimizing =+ lens _tacssCostOptimizing (\s a -> s { _tacssCostOptimizing = a })++instance FromJSON TrustedAdvisorCategorySpecificSummary where+ parseJSON = withObject "TrustedAdvisorCategorySpecificSummary" $ \o -> TrustedAdvisorCategorySpecificSummary+ <$> o .:? "costOptimizing"++instance ToJSON TrustedAdvisorCategorySpecificSummary where+ toJSON TrustedAdvisorCategorySpecificSummary{..} = object+ [ "costOptimizing" .= _tacssCostOptimizing+ ]++data Communication = Communication+ { _cAttachmentSet :: List "attachmentSet" AttachmentDetails+ , _cBody :: Maybe Text+ , _cCaseId :: Maybe Text+ , _cSubmittedBy :: Maybe Text+ , _cTimeCreated :: Maybe Text+ } deriving (Eq, Show)++-- | 'Communication' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cAttachmentSet' @::@ ['AttachmentDetails']+--+-- * 'cBody' @::@ 'Maybe' 'Text'+--+-- * 'cCaseId' @::@ 'Maybe' 'Text'+--+-- * 'cSubmittedBy' @::@ 'Maybe' 'Text'+--+-- * 'cTimeCreated' @::@ 'Maybe' 'Text'+--+communication :: Communication+communication = Communication+ { _cCaseId = Nothing+ , _cBody = Nothing+ , _cSubmittedBy = Nothing+ , _cTimeCreated = Nothing+ , _cAttachmentSet = mempty+ }++-- | Information about the attachments to the case communication.+cAttachmentSet :: Lens' Communication [AttachmentDetails]+cAttachmentSet = lens _cAttachmentSet (\s a -> s { _cAttachmentSet = a }) . _List++-- | The text of the communication between the customer and AWS Support.+cBody :: Lens' Communication (Maybe Text)+cBody = lens _cBody (\s a -> s { _cBody = a })++-- | The AWS Support case ID requested or returned in the call. The case ID is+-- an alphanumeric string formatted as shown in this example:+-- case-12345678910-2013-c4c1d2bf33c5cf47.+cCaseId :: Lens' Communication (Maybe Text)+cCaseId = lens _cCaseId (\s a -> s { _cCaseId = a })++-- | The email address of the account that submitted the AWS Support case.+cSubmittedBy :: Lens' Communication (Maybe Text)+cSubmittedBy = lens _cSubmittedBy (\s a -> s { _cSubmittedBy = a })++-- | The time the communication was created.+cTimeCreated :: Lens' Communication (Maybe Text)+cTimeCreated = lens _cTimeCreated (\s a -> s { _cTimeCreated = a })++instance FromJSON Communication where+ parseJSON = withObject "Communication" $ \o -> Communication+ <$> o .: "attachmentSet"+ <*> o .:? "body"+ <*> o .:? "caseId"+ <*> o .:? "submittedBy"+ <*> o .:? "timeCreated"++instance ToJSON Communication where+ toJSON Communication{..} = object+ [ "caseId" .= _cCaseId+ , "body" .= _cBody+ , "submittedBy" .= _cSubmittedBy+ , "timeCreated" .= _cTimeCreated+ , "attachmentSet" .= _cAttachmentSet+ ]++data Category = Category+ { _cCode :: Maybe Text+ , _cName :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'Category' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cCode' @::@ 'Maybe' 'Text'+--+-- * 'cName' @::@ 'Maybe' 'Text'+--+category :: Category+category = Category+ { _cCode = Nothing+ , _cName = Nothing+ }++-- | The category code for the support case.+cCode :: Lens' Category (Maybe Text)+cCode = lens _cCode (\s a -> s { _cCode = a })++-- | The category name for the support case.+cName :: Lens' Category (Maybe Text)+cName = lens _cName (\s a -> s { _cName = a })++instance FromJSON Category where+ parseJSON = withObject "Category" $ \o -> Category+ <$> o .:? "code"+ <*> o .:? "name"++instance ToJSON Category where+ toJSON Category{..} = object+ [ "code" .= _cCode+ , "name" .= _cName+ ]++data TrustedAdvisorCheckSummary = TrustedAdvisorCheckSummary+ { _tacsCategorySpecificSummary :: TrustedAdvisorCategorySpecificSummary+ , _tacsCheckId :: Text+ , _tacsHasFlaggedResources :: Maybe Bool+ , _tacsResourcesSummary :: TrustedAdvisorResourcesSummary+ , _tacsStatus :: Text+ , _tacsTimestamp :: Text+ } deriving (Eq, Show)++-- | 'TrustedAdvisorCheckSummary' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tacsCategorySpecificSummary' @::@ 'TrustedAdvisorCategorySpecificSummary'+--+-- * 'tacsCheckId' @::@ 'Text'+--+-- * 'tacsHasFlaggedResources' @::@ 'Maybe' 'Bool'+--+-- * 'tacsResourcesSummary' @::@ 'TrustedAdvisorResourcesSummary'+--+-- * 'tacsStatus' @::@ 'Text'+--+-- * 'tacsTimestamp' @::@ 'Text'+--+trustedAdvisorCheckSummary :: Text -- ^ 'tacsCheckId'+ -> Text -- ^ 'tacsTimestamp'+ -> Text -- ^ 'tacsStatus'+ -> TrustedAdvisorResourcesSummary -- ^ 'tacsResourcesSummary'+ -> TrustedAdvisorCategorySpecificSummary -- ^ 'tacsCategorySpecificSummary'+ -> TrustedAdvisorCheckSummary+trustedAdvisorCheckSummary p1 p2 p3 p4 p5 = TrustedAdvisorCheckSummary+ { _tacsCheckId = p1+ , _tacsTimestamp = p2+ , _tacsStatus = p3+ , _tacsResourcesSummary = p4+ , _tacsCategorySpecificSummary = p5+ , _tacsHasFlaggedResources = Nothing+ }++-- | Summary information that relates to the category of the check. Cost+-- Optimizing is the only category that is currently supported.+tacsCategorySpecificSummary :: Lens' TrustedAdvisorCheckSummary TrustedAdvisorCategorySpecificSummary+tacsCategorySpecificSummary =+ lens _tacsCategorySpecificSummary+ (\s a -> s { _tacsCategorySpecificSummary = a })++-- | The unique identifier for the Trusted Advisor check.+tacsCheckId :: Lens' TrustedAdvisorCheckSummary Text+tacsCheckId = lens _tacsCheckId (\s a -> s { _tacsCheckId = a })++-- | Specifies whether the Trusted Advisor check has flagged resources.+tacsHasFlaggedResources :: Lens' TrustedAdvisorCheckSummary (Maybe Bool)+tacsHasFlaggedResources =+ lens _tacsHasFlaggedResources (\s a -> s { _tacsHasFlaggedResources = a })++tacsResourcesSummary :: Lens' TrustedAdvisorCheckSummary TrustedAdvisorResourcesSummary+tacsResourcesSummary =+ lens _tacsResourcesSummary (\s a -> s { _tacsResourcesSummary = a })++-- | The alert status of the check: "ok" (green), "warning" (yellow), "error"+-- (red), or "not_available".+tacsStatus :: Lens' TrustedAdvisorCheckSummary Text+tacsStatus = lens _tacsStatus (\s a -> s { _tacsStatus = a })++-- | The time of the last refresh of the check.+tacsTimestamp :: Lens' TrustedAdvisorCheckSummary Text+tacsTimestamp = lens _tacsTimestamp (\s a -> s { _tacsTimestamp = a })++instance FromJSON TrustedAdvisorCheckSummary where+ parseJSON = withObject "TrustedAdvisorCheckSummary" $ \o -> TrustedAdvisorCheckSummary+ <$> o .: "categorySpecificSummary"+ <*> o .: "checkId"+ <*> o .:? "hasFlaggedResources"+ <*> o .: "resourcesSummary"+ <*> o .: "status"+ <*> o .: "timestamp"++instance ToJSON TrustedAdvisorCheckSummary where+ toJSON TrustedAdvisorCheckSummary{..} = object+ [ "checkId" .= _tacsCheckId+ , "timestamp" .= _tacsTimestamp+ , "status" .= _tacsStatus+ , "hasFlaggedResources" .= _tacsHasFlaggedResources+ , "resourcesSummary" .= _tacsResourcesSummary+ , "categorySpecificSummary" .= _tacsCategorySpecificSummary+ ]++data AttachmentDetails = AttachmentDetails+ { _adAttachmentId :: Maybe Text+ , _adFileName :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'AttachmentDetails' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'adAttachmentId' @::@ 'Maybe' 'Text'+--+-- * 'adFileName' @::@ 'Maybe' 'Text'+--+attachmentDetails :: AttachmentDetails+attachmentDetails = AttachmentDetails+ { _adAttachmentId = Nothing+ , _adFileName = Nothing+ }++-- | The ID of the attachment.+adAttachmentId :: Lens' AttachmentDetails (Maybe Text)+adAttachmentId = lens _adAttachmentId (\s a -> s { _adAttachmentId = a })++-- | The file name of the attachment.+adFileName :: Lens' AttachmentDetails (Maybe Text)+adFileName = lens _adFileName (\s a -> s { _adFileName = a })++instance FromJSON AttachmentDetails where+ parseJSON = withObject "AttachmentDetails" $ \o -> AttachmentDetails+ <$> o .:? "attachmentId"+ <*> o .:? "fileName"++instance ToJSON AttachmentDetails where+ toJSON AttachmentDetails{..} = object+ [ "attachmentId" .= _adAttachmentId+ , "fileName" .= _adFileName+ ]++data TrustedAdvisorCheckResult = TrustedAdvisorCheckResult+ { _tacrCategorySpecificSummary :: TrustedAdvisorCategorySpecificSummary+ , _tacrCheckId :: Text+ , _tacrFlaggedResources :: List "flaggedResources" TrustedAdvisorResourceDetail+ , _tacrResourcesSummary :: TrustedAdvisorResourcesSummary+ , _tacrStatus :: Text+ , _tacrTimestamp :: Text+ } deriving (Eq, Show)++-- | 'TrustedAdvisorCheckResult' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tacrCategorySpecificSummary' @::@ 'TrustedAdvisorCategorySpecificSummary'+--+-- * 'tacrCheckId' @::@ 'Text'+--+-- * 'tacrFlaggedResources' @::@ ['TrustedAdvisorResourceDetail']+--+-- * 'tacrResourcesSummary' @::@ 'TrustedAdvisorResourcesSummary'+--+-- * 'tacrStatus' @::@ 'Text'+--+-- * 'tacrTimestamp' @::@ 'Text'+--+trustedAdvisorCheckResult :: Text -- ^ 'tacrCheckId'+ -> Text -- ^ 'tacrTimestamp'+ -> Text -- ^ 'tacrStatus'+ -> TrustedAdvisorResourcesSummary -- ^ 'tacrResourcesSummary'+ -> TrustedAdvisorCategorySpecificSummary -- ^ 'tacrCategorySpecificSummary'+ -> TrustedAdvisorCheckResult+trustedAdvisorCheckResult p1 p2 p3 p4 p5 = TrustedAdvisorCheckResult+ { _tacrCheckId = p1+ , _tacrTimestamp = p2+ , _tacrStatus = p3+ , _tacrResourcesSummary = p4+ , _tacrCategorySpecificSummary = p5+ , _tacrFlaggedResources = mempty+ }++-- | Summary information that relates to the category of the check. Cost+-- Optimizing is the only category that is currently supported.+tacrCategorySpecificSummary :: Lens' TrustedAdvisorCheckResult TrustedAdvisorCategorySpecificSummary+tacrCategorySpecificSummary =+ lens _tacrCategorySpecificSummary+ (\s a -> s { _tacrCategorySpecificSummary = a })++-- | The unique identifier for the Trusted Advisor check.+tacrCheckId :: Lens' TrustedAdvisorCheckResult Text+tacrCheckId = lens _tacrCheckId (\s a -> s { _tacrCheckId = a })++-- | The details about each resource listed in the check result.+tacrFlaggedResources :: Lens' TrustedAdvisorCheckResult [TrustedAdvisorResourceDetail]+tacrFlaggedResources =+ lens _tacrFlaggedResources (\s a -> s { _tacrFlaggedResources = a })+ . _List++tacrResourcesSummary :: Lens' TrustedAdvisorCheckResult TrustedAdvisorResourcesSummary+tacrResourcesSummary =+ lens _tacrResourcesSummary (\s a -> s { _tacrResourcesSummary = a })++-- | The alert status of the check: "ok" (green), "warning" (yellow), "error"+-- (red), or "not_available".+tacrStatus :: Lens' TrustedAdvisorCheckResult Text+tacrStatus = lens _tacrStatus (\s a -> s { _tacrStatus = a })++-- | The time of the last refresh of the check.+tacrTimestamp :: Lens' TrustedAdvisorCheckResult Text+tacrTimestamp = lens _tacrTimestamp (\s a -> s { _tacrTimestamp = a })++instance FromJSON TrustedAdvisorCheckResult where+ parseJSON = withObject "TrustedAdvisorCheckResult" $ \o -> TrustedAdvisorCheckResult+ <$> o .: "categorySpecificSummary"+ <*> o .: "checkId"+ <*> o .: "flaggedResources"+ <*> o .: "resourcesSummary"+ <*> o .: "status"+ <*> o .: "timestamp"++instance ToJSON TrustedAdvisorCheckResult where+ toJSON TrustedAdvisorCheckResult{..} = object+ [ "checkId" .= _tacrCheckId+ , "timestamp" .= _tacrTimestamp+ , "status" .= _tacrStatus+ , "resourcesSummary" .= _tacrResourcesSummary+ , "categorySpecificSummary" .= _tacrCategorySpecificSummary+ , "flaggedResources" .= _tacrFlaggedResources+ ]++data TrustedAdvisorCheckDescription = TrustedAdvisorCheckDescription+ { _tacdCategory :: Text+ , _tacdDescription :: Text+ , _tacdId :: Text+ , _tacdMetadata :: List "checkIds" Text+ , _tacdName :: Text+ } deriving (Eq, Ord, Show)++-- | 'TrustedAdvisorCheckDescription' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tacdCategory' @::@ 'Text'+--+-- * 'tacdDescription' @::@ 'Text'+--+-- * 'tacdId' @::@ 'Text'+--+-- * 'tacdMetadata' @::@ ['Text']+--+-- * 'tacdName' @::@ 'Text'+--+trustedAdvisorCheckDescription :: Text -- ^ 'tacdId'+ -> Text -- ^ 'tacdName'+ -> Text -- ^ 'tacdDescription'+ -> Text -- ^ 'tacdCategory'+ -> TrustedAdvisorCheckDescription+trustedAdvisorCheckDescription p1 p2 p3 p4 = TrustedAdvisorCheckDescription+ { _tacdId = p1+ , _tacdName = p2+ , _tacdDescription = p3+ , _tacdCategory = p4+ , _tacdMetadata = mempty+ }++-- | The category of the Trusted Advisor check.+tacdCategory :: Lens' TrustedAdvisorCheckDescription Text+tacdCategory = lens _tacdCategory (\s a -> s { _tacdCategory = a })++-- | The description of the Trusted Advisor check, which includes the alert+-- criteria and recommended actions (contains HTML markup).+tacdDescription :: Lens' TrustedAdvisorCheckDescription Text+tacdDescription = lens _tacdDescription (\s a -> s { _tacdDescription = a })++-- | The unique identifier for the Trusted Advisor check.+tacdId :: Lens' TrustedAdvisorCheckDescription Text+tacdId = lens _tacdId (\s a -> s { _tacdId = a })++-- | The column headings for the data returned by the Trusted Advisor check.+-- The order of the headings corresponds to the order of the data in the+-- Metadata element of the TrustedAdvisorResourceDetail for the check.+-- Metadata contains all the data that is shown in the Excel download, even+-- in those cases where the UI shows just summary data.+tacdMetadata :: Lens' TrustedAdvisorCheckDescription [Text]+tacdMetadata = lens _tacdMetadata (\s a -> s { _tacdMetadata = a }) . _List++-- | The display name for the Trusted Advisor check.+tacdName :: Lens' TrustedAdvisorCheckDescription Text+tacdName = lens _tacdName (\s a -> s { _tacdName = a })++instance FromJSON TrustedAdvisorCheckDescription where+ parseJSON = withObject "TrustedAdvisorCheckDescription" $ \o -> TrustedAdvisorCheckDescription+ <$> o .: "category"+ <*> o .: "description"+ <*> o .: "id"+ <*> o .: "metadata"+ <*> o .: "name"++instance ToJSON TrustedAdvisorCheckDescription where+ toJSON TrustedAdvisorCheckDescription{..} = object+ [ "id" .= _tacdId+ , "name" .= _tacdName+ , "description" .= _tacdDescription+ , "category" .= _tacdCategory+ , "metadata" .= _tacdMetadata+ ]++data Attachment = Attachment+ { _aData :: Maybe Base64+ , _aFileName :: Maybe Text+ } deriving (Eq, Show)++-- | 'Attachment' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'aData' @::@ 'Maybe' 'Base64'+--+-- * 'aFileName' @::@ 'Maybe' 'Text'+--+attachment :: Attachment+attachment = Attachment+ { _aFileName = Nothing+ , _aData = Nothing+ }++-- | The content of the attachment file.+aData :: Lens' Attachment (Maybe Base64)+aData = lens _aData (\s a -> s { _aData = a })++-- | The name of the attachment file.+aFileName :: Lens' Attachment (Maybe Text)+aFileName = lens _aFileName (\s a -> s { _aFileName = a })++instance FromJSON Attachment where+ parseJSON = withObject "Attachment" $ \o -> Attachment+ <$> o .:? "data"+ <*> o .:? "fileName"++instance ToJSON Attachment where+ toJSON Attachment{..} = object+ [ "fileName" .= _aFileName+ , "data" .= _aData+ ]++data RecentCaseCommunications = RecentCaseCommunications+ { _rccCommunications :: List "communications" Communication+ , _rccNextToken :: Maybe Text+ } deriving (Eq, Show)++-- | 'RecentCaseCommunications' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rccCommunications' @::@ ['Communication']+--+-- * 'rccNextToken' @::@ 'Maybe' 'Text'+--+recentCaseCommunications :: RecentCaseCommunications+recentCaseCommunications = RecentCaseCommunications+ { _rccCommunications = mempty+ , _rccNextToken = Nothing+ }++-- | The five most recent communications associated with the case.+rccCommunications :: Lens' RecentCaseCommunications [Communication]+rccCommunications =+ lens _rccCommunications (\s a -> s { _rccCommunications = a })+ . _List++-- | A resumption point for pagination.+rccNextToken :: Lens' RecentCaseCommunications (Maybe Text)+rccNextToken = lens _rccNextToken (\s a -> s { _rccNextToken = a })++instance FromJSON RecentCaseCommunications where+ parseJSON = withObject "RecentCaseCommunications" $ \o -> RecentCaseCommunications+ <$> o .: "communications"+ <*> o .:? "nextToken"++instance ToJSON RecentCaseCommunications where+ toJSON RecentCaseCommunications{..} = object+ [ "communications" .= _rccCommunications+ , "nextToken" .= _rccNextToken+ ]++data SupportService = SupportService+ { _ssCategories :: List "categories" Category+ , _ssCode :: Maybe Text+ , _ssName :: Maybe Text+ } deriving (Eq, Show)++-- | 'SupportService' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ssCategories' @::@ ['Category']+--+-- * 'ssCode' @::@ 'Maybe' 'Text'+--+-- * 'ssName' @::@ 'Maybe' 'Text'+--+supportService :: SupportService+supportService = SupportService+ { _ssCode = Nothing+ , _ssName = Nothing+ , _ssCategories = mempty+ }++-- | A list of categories that describe the type of support issue a case+-- describes. Categories consist of a category name and a category code.+-- Category names and codes are passed to AWS Support when you call+-- CreateCase.+ssCategories :: Lens' SupportService [Category]+ssCategories = lens _ssCategories (\s a -> s { _ssCategories = a }) . _List++-- | The code for an AWS service returned by the DescribeServices response.+-- The Name element contains the corresponding friendly name.+ssCode :: Lens' SupportService (Maybe Text)+ssCode = lens _ssCode (\s a -> s { _ssCode = a })++-- | The friendly name for an AWS service. The Code element contains the+-- corresponding code.+ssName :: Lens' SupportService (Maybe Text)+ssName = lens _ssName (\s a -> s { _ssName = a })++instance FromJSON SupportService where+ parseJSON = withObject "SupportService" $ \o -> SupportService+ <$> o .: "categories"+ <*> o .:? "code"+ <*> o .:? "name"++instance ToJSON SupportService where+ toJSON SupportService{..} = object+ [ "code" .= _ssCode+ , "name" .= _ssName+ , "categories" .= _ssCategories+ ]++data TrustedAdvisorResourceDetail = TrustedAdvisorResourceDetail+ { _tardIsSuppressed :: Maybe Bool+ , _tardMetadata :: List "checkIds" Text+ , _tardRegion :: Text+ , _tardResourceId :: Text+ , _tardStatus :: Text+ } deriving (Eq, Ord, Show)++-- | 'TrustedAdvisorResourceDetail' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tardIsSuppressed' @::@ 'Maybe' 'Bool'+--+-- * 'tardMetadata' @::@ ['Text']+--+-- * 'tardRegion' @::@ 'Text'+--+-- * 'tardResourceId' @::@ 'Text'+--+-- * 'tardStatus' @::@ 'Text'+--+trustedAdvisorResourceDetail :: Text -- ^ 'tardStatus'+ -> Text -- ^ 'tardRegion'+ -> Text -- ^ 'tardResourceId'+ -> TrustedAdvisorResourceDetail+trustedAdvisorResourceDetail p1 p2 p3 = TrustedAdvisorResourceDetail+ { _tardStatus = p1+ , _tardRegion = p2+ , _tardResourceId = p3+ , _tardIsSuppressed = Nothing+ , _tardMetadata = mempty+ }++-- | Specifies whether the AWS resource was ignored by Trusted Advisor because+-- it was marked as suppressed by the user.+tardIsSuppressed :: Lens' TrustedAdvisorResourceDetail (Maybe Bool)+tardIsSuppressed = lens _tardIsSuppressed (\s a -> s { _tardIsSuppressed = a })++-- | Additional information about the identified resource. The exact metadata+-- and its order can be obtained by inspecting the+-- TrustedAdvisorCheckDescription object returned by the call to+-- DescribeTrustedAdvisorChecks. Metadata contains all the data that is+-- shown in the Excel download, even in those cases where the UI shows just+-- summary data.+tardMetadata :: Lens' TrustedAdvisorResourceDetail [Text]+tardMetadata = lens _tardMetadata (\s a -> s { _tardMetadata = a }) . _List++-- | The AWS region in which the identified resource is located.+tardRegion :: Lens' TrustedAdvisorResourceDetail Text+tardRegion = lens _tardRegion (\s a -> s { _tardRegion = a })++-- | The unique identifier for the identified resource.+tardResourceId :: Lens' TrustedAdvisorResourceDetail Text+tardResourceId = lens _tardResourceId (\s a -> s { _tardResourceId = a })++-- | The status code for the resource identified in the Trusted Advisor check.+tardStatus :: Lens' TrustedAdvisorResourceDetail Text+tardStatus = lens _tardStatus (\s a -> s { _tardStatus = a })++instance FromJSON TrustedAdvisorResourceDetail where+ parseJSON = withObject "TrustedAdvisorResourceDetail" $ \o -> TrustedAdvisorResourceDetail+ <$> o .:? "isSuppressed"+ <*> o .: "metadata"+ <*> o .: "region"+ <*> o .: "resourceId"+ <*> o .: "status"++instance ToJSON TrustedAdvisorResourceDetail where+ toJSON TrustedAdvisorResourceDetail{..} = object+ [ "status" .= _tardStatus+ , "region" .= _tardRegion+ , "resourceId" .= _tardResourceId+ , "isSuppressed" .= _tardIsSuppressed+ , "metadata" .= _tardMetadata+ ]++data TrustedAdvisorCostOptimizingSummary = TrustedAdvisorCostOptimizingSummary+ { _tacosEstimatedMonthlySavings :: Double+ , _tacosEstimatedPercentMonthlySavings :: Double+ } deriving (Eq, Ord, Show)++-- | 'TrustedAdvisorCostOptimizingSummary' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tacosEstimatedMonthlySavings' @::@ 'Double'+--+-- * 'tacosEstimatedPercentMonthlySavings' @::@ 'Double'+--+trustedAdvisorCostOptimizingSummary :: Double -- ^ 'tacosEstimatedMonthlySavings'+ -> Double -- ^ 'tacosEstimatedPercentMonthlySavings'+ -> TrustedAdvisorCostOptimizingSummary+trustedAdvisorCostOptimizingSummary p1 p2 = TrustedAdvisorCostOptimizingSummary+ { _tacosEstimatedMonthlySavings = p1+ , _tacosEstimatedPercentMonthlySavings = p2+ }++-- | The estimated monthly savings that might be realized if the recommended+-- actions are taken.+tacosEstimatedMonthlySavings :: Lens' TrustedAdvisorCostOptimizingSummary Double+tacosEstimatedMonthlySavings =+ lens _tacosEstimatedMonthlySavings+ (\s a -> s { _tacosEstimatedMonthlySavings = a })++-- | The estimated percentage of savings that might be realized if the+-- recommended actions are taken.+tacosEstimatedPercentMonthlySavings :: Lens' TrustedAdvisorCostOptimizingSummary Double+tacosEstimatedPercentMonthlySavings =+ lens _tacosEstimatedPercentMonthlySavings+ (\s a -> s { _tacosEstimatedPercentMonthlySavings = a })++instance FromJSON TrustedAdvisorCostOptimizingSummary where+ parseJSON = withObject "TrustedAdvisorCostOptimizingSummary" $ \o -> TrustedAdvisorCostOptimizingSummary+ <$> o .: "estimatedMonthlySavings"+ <*> o .: "estimatedPercentMonthlySavings"++instance ToJSON TrustedAdvisorCostOptimizingSummary where+ toJSON TrustedAdvisorCostOptimizingSummary{..} = object+ [ "estimatedMonthlySavings" .= _tacosEstimatedMonthlySavings+ , "estimatedPercentMonthlySavings" .= _tacosEstimatedPercentMonthlySavings+ ]++data SeverityLevel = SeverityLevel+ { _slCode :: Maybe Text+ , _slName :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'SeverityLevel' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'slCode' @::@ 'Maybe' 'Text'+--+-- * 'slName' @::@ 'Maybe' 'Text'+--+severityLevel :: SeverityLevel+severityLevel = SeverityLevel+ { _slCode = Nothing+ , _slName = Nothing+ }++-- | One of four values: "low," "medium," "high," and "urgent". These values+-- correspond to response times returned to the caller in+-- SeverityLevel.name.+slCode :: Lens' SeverityLevel (Maybe Text)+slCode = lens _slCode (\s a -> s { _slCode = a })++-- | The name of the severity level that corresponds to the severity level+-- code.+slName :: Lens' SeverityLevel (Maybe Text)+slName = lens _slName (\s a -> s { _slName = a })++instance FromJSON SeverityLevel where+ parseJSON = withObject "SeverityLevel" $ \o -> SeverityLevel+ <$> o .:? "code"+ <*> o .:? "name"++instance ToJSON SeverityLevel where+ toJSON SeverityLevel{..} = object+ [ "code" .= _slCode+ , "name" .= _slName+ ]++data CaseDetails = CaseDetails+ { _cdCaseId :: Maybe Text+ , _cdCategoryCode :: Maybe Text+ , _cdCcEmailAddresses :: List "ccEmailAddresses" Text+ , _cdDisplayId :: Maybe Text+ , _cdLanguage :: Maybe Text+ , _cdRecentCommunications :: Maybe RecentCaseCommunications+ , _cdServiceCode :: Maybe Text+ , _cdSeverityCode :: Maybe Text+ , _cdStatus :: Maybe Text+ , _cdSubject :: Maybe Text+ , _cdSubmittedBy :: Maybe Text+ , _cdTimeCreated :: Maybe Text+ } deriving (Eq, Show)++-- | 'CaseDetails' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdCaseId' @::@ 'Maybe' 'Text'+--+-- * 'cdCategoryCode' @::@ 'Maybe' 'Text'+--+-- * 'cdCcEmailAddresses' @::@ ['Text']+--+-- * 'cdDisplayId' @::@ 'Maybe' 'Text'+--+-- * 'cdLanguage' @::@ 'Maybe' 'Text'+--+-- * 'cdRecentCommunications' @::@ 'Maybe' 'RecentCaseCommunications'+--+-- * 'cdServiceCode' @::@ 'Maybe' 'Text'+--+-- * 'cdSeverityCode' @::@ 'Maybe' 'Text'+--+-- * 'cdStatus' @::@ 'Maybe' 'Text'+--+-- * 'cdSubject' @::@ 'Maybe' 'Text'+--+-- * 'cdSubmittedBy' @::@ 'Maybe' 'Text'+--+-- * 'cdTimeCreated' @::@ 'Maybe' 'Text'+--+caseDetails :: CaseDetails+caseDetails = CaseDetails+ { _cdCaseId = Nothing+ , _cdDisplayId = Nothing+ , _cdSubject = Nothing+ , _cdStatus = Nothing+ , _cdServiceCode = Nothing+ , _cdCategoryCode = Nothing+ , _cdSeverityCode = Nothing+ , _cdSubmittedBy = Nothing+ , _cdTimeCreated = Nothing+ , _cdRecentCommunications = Nothing+ , _cdCcEmailAddresses = mempty+ , _cdLanguage = Nothing+ }++-- | The AWS Support case ID requested or returned in the call. The case ID is+-- an alphanumeric string formatted as shown in this example:+-- case-12345678910-2013-c4c1d2bf33c5cf47.+cdCaseId :: Lens' CaseDetails (Maybe Text)+cdCaseId = lens _cdCaseId (\s a -> s { _cdCaseId = a })++-- | The category of problem for the AWS Support case.+cdCategoryCode :: Lens' CaseDetails (Maybe Text)+cdCategoryCode = lens _cdCategoryCode (\s a -> s { _cdCategoryCode = a })++-- | The email addresses that receive copies of communication about the case.+cdCcEmailAddresses :: Lens' CaseDetails [Text]+cdCcEmailAddresses =+ lens _cdCcEmailAddresses (\s a -> s { _cdCcEmailAddresses = a })+ . _List++-- | The ID displayed for the case in the AWS Support Center. This is a+-- numeric string.+cdDisplayId :: Lens' CaseDetails (Maybe Text)+cdDisplayId = lens _cdDisplayId (\s a -> s { _cdDisplayId = a })++-- | The ISO 639-1 code for the language in which AWS provides support. AWS+-- Support currently supports English ("en") and Japanese ("ja"). Language+-- parameters must be passed explicitly for operations that take them.+cdLanguage :: Lens' CaseDetails (Maybe Text)+cdLanguage = lens _cdLanguage (\s a -> s { _cdLanguage = a })++-- | The five most recent communications between you and AWS Support Center,+-- including the IDs of any attachments to the communications. Also includes+-- a nextToken that you can use to retrieve earlier communications.+cdRecentCommunications :: Lens' CaseDetails (Maybe RecentCaseCommunications)+cdRecentCommunications =+ lens _cdRecentCommunications (\s a -> s { _cdRecentCommunications = a })++-- | The code for the AWS service returned by the call to DescribeServices.+cdServiceCode :: Lens' CaseDetails (Maybe Text)+cdServiceCode = lens _cdServiceCode (\s a -> s { _cdServiceCode = a })++-- | The code for the severity level returned by the call to+-- DescribeSeverityLevels.+cdSeverityCode :: Lens' CaseDetails (Maybe Text)+cdSeverityCode = lens _cdSeverityCode (\s a -> s { _cdSeverityCode = a })++-- | The status of the case.+cdStatus :: Lens' CaseDetails (Maybe Text)+cdStatus = lens _cdStatus (\s a -> s { _cdStatus = a })++-- | The subject line for the case in the AWS Support Center.+cdSubject :: Lens' CaseDetails (Maybe Text)+cdSubject = lens _cdSubject (\s a -> s { _cdSubject = a })++-- | The email address of the account that submitted the case.+cdSubmittedBy :: Lens' CaseDetails (Maybe Text)+cdSubmittedBy = lens _cdSubmittedBy (\s a -> s { _cdSubmittedBy = a })++-- | The time that the case was case created in the AWS Support Center.+cdTimeCreated :: Lens' CaseDetails (Maybe Text)+cdTimeCreated = lens _cdTimeCreated (\s a -> s { _cdTimeCreated = a })++instance FromJSON CaseDetails where+ parseJSON = withObject "CaseDetails" $ \o -> CaseDetails+ <$> o .:? "caseId"+ <*> o .:? "categoryCode"+ <*> o .: "ccEmailAddresses"+ <*> o .:? "displayId"+ <*> o .:? "language"+ <*> o .:? "recentCommunications"+ <*> o .:? "serviceCode"+ <*> o .:? "severityCode"+ <*> o .:? "status"+ <*> o .:? "subject"+ <*> o .:? "submittedBy"+ <*> o .:? "timeCreated"++instance ToJSON CaseDetails where+ toJSON CaseDetails{..} = object+ [ "caseId" .= _cdCaseId+ , "displayId" .= _cdDisplayId+ , "subject" .= _cdSubject+ , "status" .= _cdStatus+ , "serviceCode" .= _cdServiceCode+ , "categoryCode" .= _cdCategoryCode+ , "severityCode" .= _cdSeverityCode+ , "submittedBy" .= _cdSubmittedBy+ , "timeCreated" .= _cdTimeCreated+ , "recentCommunications" .= _cdRecentCommunications+ , "ccEmailAddresses" .= _cdCcEmailAddresses+ , "language" .= _cdLanguage+ ]++data TrustedAdvisorCheckRefreshStatus = TrustedAdvisorCheckRefreshStatus+ { _tacrsCheckId :: Text+ , _tacrsMillisUntilNextRefreshable :: Integer+ , _tacrsStatus :: Text+ } deriving (Eq, Ord, Show)++-- | 'TrustedAdvisorCheckRefreshStatus' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tacrsCheckId' @::@ 'Text'+--+-- * 'tacrsMillisUntilNextRefreshable' @::@ 'Integer'+--+-- * 'tacrsStatus' @::@ 'Text'+--+trustedAdvisorCheckRefreshStatus :: Text -- ^ 'tacrsCheckId'+ -> Text -- ^ 'tacrsStatus'+ -> Integer -- ^ 'tacrsMillisUntilNextRefreshable'+ -> TrustedAdvisorCheckRefreshStatus+trustedAdvisorCheckRefreshStatus p1 p2 p3 = TrustedAdvisorCheckRefreshStatus+ { _tacrsCheckId = p1+ , _tacrsStatus = p2+ , _tacrsMillisUntilNextRefreshable = p3+ }++-- | The unique identifier for the Trusted Advisor check.+tacrsCheckId :: Lens' TrustedAdvisorCheckRefreshStatus Text+tacrsCheckId = lens _tacrsCheckId (\s a -> s { _tacrsCheckId = a })++-- | The amount of time, in milliseconds, until the Trusted Advisor check is+-- eligible for refresh.+tacrsMillisUntilNextRefreshable :: Lens' TrustedAdvisorCheckRefreshStatus Integer+tacrsMillisUntilNextRefreshable =+ lens _tacrsMillisUntilNextRefreshable+ (\s a -> s { _tacrsMillisUntilNextRefreshable = a })++-- | The status of the Trusted Advisor check for which a refresh has been+-- requested: "none", "enqueued", "processing", "success", or "abandoned".+tacrsStatus :: Lens' TrustedAdvisorCheckRefreshStatus Text+tacrsStatus = lens _tacrsStatus (\s a -> s { _tacrsStatus = a })++instance FromJSON TrustedAdvisorCheckRefreshStatus where+ parseJSON = withObject "TrustedAdvisorCheckRefreshStatus" $ \o -> TrustedAdvisorCheckRefreshStatus+ <$> o .: "checkId"+ <*> o .: "millisUntilNextRefreshable"+ <*> o .: "status"++instance ToJSON TrustedAdvisorCheckRefreshStatus where+ toJSON TrustedAdvisorCheckRefreshStatus{..} = object+ [ "checkId" .= _tacrsCheckId+ , "status" .= _tacrsStatus+ , "millisUntilNextRefreshable" .= _tacrsMillisUntilNextRefreshable+ ]