packages feed

amazonka-apigateway (empty) → 1.3.5

raw patch · 214 files changed

+12318/−0 lines, 214 filesdep +amazonka-apigatewaydep +amazonka-coredep +amazonka-testsetup-changed

Dependencies added: amazonka-apigateway, amazonka-core, amazonka-test, base, bytestring, lens, tasty, tasty-hunit, text, time, unordered-containers

Files

+ LICENSE view
@@ -0,0 +1,367 @@+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.
+ README.md view
@@ -0,0 +1,48 @@+# Amazon API Gateway SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`1.3.5`+++## Description++Amazon API Gateway++Amazon API Gateway helps developers deliver robust, secure and scalable+mobile and web application backends. Amazon API Gateway allows+developers to securely connect mobile and web applications to APIs that+run on AWS Lambda, Amazon EC2, or other publicly addressable web+services that are hosted outside of AWS.++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-apigateway)+and the [AWS API Reference](http://docs.aws.amazon.com/apigateway/api-reference/).++The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information and sending requests.++Use of lenses is required for constructing and manipulating types.+This is due to the amount of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++## 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-apigateway` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ Setup.hs view
@@ -0,0 +1,2 @@+import           Distribution.Simple+main = defaultMain
+ amazonka-apigateway.cabal view
@@ -0,0 +1,155 @@+name:                  amazonka-apigateway+version:               1.3.5+synopsis:              Amazon API Gateway SDK.+homepage:              https://github.com/brendanhay/amazonka+bug-reports:           https://github.com/brendanhay/amazonka/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2013-2015 Brendan Hay+category:              Network, AWS, Cloud, Distributed Computing+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md fixture/*.yaml fixture/*.proto+description:+    Amazon API Gateway++    Amazon API Gateway helps developers deliver robust, secure and scalable+    mobile and web application backends. Amazon API Gateway allows+    developers to securely connect mobile and web applications to APIs that+    run on AWS Lambda, Amazon EC2, or other publicly addressable web+    services that are hosted outside of AWS.+    .+    The types from this library are intended to be used with+    <http://hackage.haskell.org/package/amazonka amazonka>, which provides+    mechanisms for specifying AuthN/AuthZ information and sending requests.+    .+    Use of lenses is required for constructing and manipulating types.+    This is due to the amount of nesting of AWS types and transparency regarding+    de/serialisation into more palatable Haskell values.+    The provided lenses should be compatible with any of the major lens libraries+    such as <http://hackage.haskell.org/package/lens lens> or+    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+    .+    See "Network.AWS.APIGateway" and the <http://docs.aws.amazon.com/apigateway/api-reference/ AWS API Reference>+    to get started.++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.APIGateway+        , Network.AWS.APIGateway.CreateAPIKey+        , Network.AWS.APIGateway.CreateBasePathMapping+        , Network.AWS.APIGateway.CreateDeployment+        , Network.AWS.APIGateway.CreateDomainName+        , Network.AWS.APIGateway.CreateModel+        , Network.AWS.APIGateway.CreateResource+        , Network.AWS.APIGateway.CreateRestAPI+        , Network.AWS.APIGateway.CreateStage+        , Network.AWS.APIGateway.DeleteAPIKey+        , Network.AWS.APIGateway.DeleteBasePathMapping+        , Network.AWS.APIGateway.DeleteClientCertificate+        , Network.AWS.APIGateway.DeleteDeployment+        , Network.AWS.APIGateway.DeleteDomainName+        , Network.AWS.APIGateway.DeleteIntegration+        , Network.AWS.APIGateway.DeleteIntegrationResponse+        , Network.AWS.APIGateway.DeleteMethod+        , Network.AWS.APIGateway.DeleteMethodResponse+        , Network.AWS.APIGateway.DeleteModel+        , Network.AWS.APIGateway.DeleteResource+        , Network.AWS.APIGateway.DeleteRestAPI+        , Network.AWS.APIGateway.DeleteStage+        , Network.AWS.APIGateway.FlushStageCache+        , Network.AWS.APIGateway.GenerateClientCertificate+        , Network.AWS.APIGateway.GetAPIKey+        , Network.AWS.APIGateway.GetAPIKeys+        , Network.AWS.APIGateway.GetAccount+        , Network.AWS.APIGateway.GetBasePathMapping+        , Network.AWS.APIGateway.GetBasePathMappings+        , Network.AWS.APIGateway.GetClientCertificate+        , Network.AWS.APIGateway.GetClientCertificates+        , Network.AWS.APIGateway.GetDeployment+        , Network.AWS.APIGateway.GetDeployments+        , Network.AWS.APIGateway.GetDomainName+        , Network.AWS.APIGateway.GetDomainNames+        , Network.AWS.APIGateway.GetIntegration+        , Network.AWS.APIGateway.GetIntegrationResponse+        , Network.AWS.APIGateway.GetMethod+        , Network.AWS.APIGateway.GetMethodResponse+        , Network.AWS.APIGateway.GetModel+        , Network.AWS.APIGateway.GetModelTemplate+        , Network.AWS.APIGateway.GetModels+        , Network.AWS.APIGateway.GetResource+        , Network.AWS.APIGateway.GetResources+        , Network.AWS.APIGateway.GetRestAPI+        , Network.AWS.APIGateway.GetRestAPIs+        , Network.AWS.APIGateway.GetSDK+        , Network.AWS.APIGateway.GetStage+        , Network.AWS.APIGateway.GetStages+        , Network.AWS.APIGateway.PutIntegration+        , Network.AWS.APIGateway.PutIntegrationResponse+        , Network.AWS.APIGateway.PutMethod+        , Network.AWS.APIGateway.PutMethodResponse+        , Network.AWS.APIGateway.TestInvokeMethod+        , Network.AWS.APIGateway.Types+        , Network.AWS.APIGateway.UpdateAPIKey+        , Network.AWS.APIGateway.UpdateAccount+        , Network.AWS.APIGateway.UpdateBasePathMapping+        , Network.AWS.APIGateway.UpdateClientCertificate+        , Network.AWS.APIGateway.UpdateDeployment+        , Network.AWS.APIGateway.UpdateDomainName+        , Network.AWS.APIGateway.UpdateIntegration+        , Network.AWS.APIGateway.UpdateIntegrationResponse+        , Network.AWS.APIGateway.UpdateMethod+        , Network.AWS.APIGateway.UpdateMethodResponse+        , Network.AWS.APIGateway.UpdateModel+        , Network.AWS.APIGateway.UpdateResource+        , Network.AWS.APIGateway.UpdateRestAPI+        , Network.AWS.APIGateway.UpdateStage+        , Network.AWS.APIGateway.Waiters++    other-modules:+          Network.AWS.APIGateway.Types.Product+        , Network.AWS.APIGateway.Types.Sum++    build-depends:+          amazonka-core == 1.3.5.*+        , base          >= 4.7     && < 5++test-suite amazonka-apigateway-test+    type:              exitcode-stdio-1.0+    default-language:  Haskell2010+    hs-source-dirs:    test+    main-is:           Main.hs++    ghc-options:       -Wall -threaded++    -- This section is encoded by the template and any modules added by+    -- hand outside these namespaces will not correctly be added to the+    -- distribution package.+    other-modules:+          Test.AWS.APIGateway+        , Test.AWS.Gen.APIGateway+        , Test.AWS.APIGateway.Internal++    build-depends:+          amazonka-core == 1.3.5.*+        , amazonka-test == 1.3.5.*+        , amazonka-apigateway == 1.3.5.*+        , base+        , bytestring+        , lens+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
+ fixture/CreateAPIKey.yaml view
+ fixture/CreateAPIKeyResponse.proto view
+ fixture/CreateBasePathMapping.yaml view
+ fixture/CreateBasePathMappingResponse.proto view
+ fixture/CreateDeployment.yaml view
+ fixture/CreateDeploymentResponse.proto view
+ fixture/CreateDomainName.yaml view
+ fixture/CreateDomainNameResponse.proto view
+ fixture/CreateModel.yaml view
+ fixture/CreateModelResponse.proto view
+ fixture/CreateResource.yaml view
+ fixture/CreateResourceResponse.proto view
+ fixture/CreateRestAPI.yaml view
+ fixture/CreateRestAPIResponse.proto view
+ fixture/CreateStage.yaml view
+ fixture/CreateStageResponse.proto view
+ fixture/DeleteAPIKey.yaml view
+ fixture/DeleteAPIKeyResponse.proto view
+ fixture/DeleteBasePathMapping.yaml view
+ fixture/DeleteBasePathMappingResponse.proto view
+ fixture/DeleteClientCertificate.yaml view
+ fixture/DeleteClientCertificateResponse.proto view
+ fixture/DeleteDeployment.yaml view
+ fixture/DeleteDeploymentResponse.proto view
+ fixture/DeleteDomainName.yaml view
+ fixture/DeleteDomainNameResponse.proto view
+ fixture/DeleteIntegration.yaml view
+ fixture/DeleteIntegrationResponse.proto view
+ fixture/DeleteIntegrationResponse.yaml view
+ fixture/DeleteIntegrationResponseResponse.proto view
+ fixture/DeleteMethod.yaml view
+ fixture/DeleteMethodResponse.proto view
+ fixture/DeleteMethodResponse.yaml view
+ fixture/DeleteMethodResponseResponse.proto view
+ fixture/DeleteModel.yaml view
+ fixture/DeleteModelResponse.proto view
+ fixture/DeleteResource.yaml view
+ fixture/DeleteResourceResponse.proto view
+ fixture/DeleteRestAPI.yaml view
+ fixture/DeleteRestAPIResponse.proto view
+ fixture/DeleteStage.yaml view
+ fixture/DeleteStageResponse.proto view
+ fixture/FlushStageCache.yaml view
+ fixture/FlushStageCacheResponse.proto view
+ fixture/GenerateClientCertificate.yaml view
+ fixture/GenerateClientCertificateResponse.proto view
+ fixture/GetAPIKey.yaml view
+ fixture/GetAPIKeyResponse.proto view
+ fixture/GetAPIKeys.yaml view
+ fixture/GetAPIKeysResponse.proto view
+ fixture/GetAccount.yaml view
+ fixture/GetAccountResponse.proto view
+ fixture/GetBasePathMapping.yaml view
+ fixture/GetBasePathMappingResponse.proto view
+ fixture/GetBasePathMappings.yaml view
+ fixture/GetBasePathMappingsResponse.proto view
+ fixture/GetClientCertificate.yaml view
+ fixture/GetClientCertificateResponse.proto view
+ fixture/GetClientCertificates.yaml view
+ fixture/GetClientCertificatesResponse.proto view
+ fixture/GetDeployment.yaml view
+ fixture/GetDeploymentResponse.proto view
+ fixture/GetDeployments.yaml view
+ fixture/GetDeploymentsResponse.proto view
+ fixture/GetDomainName.yaml view
+ fixture/GetDomainNameResponse.proto view
+ fixture/GetDomainNames.yaml view
+ fixture/GetDomainNamesResponse.proto view
+ fixture/GetIntegration.yaml view
+ fixture/GetIntegrationResponse.proto view
+ fixture/GetIntegrationResponse.yaml view
+ fixture/GetIntegrationResponseResponse.proto view
+ fixture/GetMethod.yaml view
+ fixture/GetMethodResponse.proto view
+ fixture/GetMethodResponse.yaml view
+ fixture/GetMethodResponseResponse.proto view
+ fixture/GetModel.yaml view
+ fixture/GetModelResponse.proto view
+ fixture/GetModelTemplate.yaml view
+ fixture/GetModelTemplateResponse.proto view
+ fixture/GetModels.yaml view
+ fixture/GetModelsResponse.proto view
+ fixture/GetResource.yaml view
+ fixture/GetResourceResponse.proto view
+ fixture/GetResources.yaml view
+ fixture/GetResourcesResponse.proto view
+ fixture/GetRestAPI.yaml view
+ fixture/GetRestAPIResponse.proto view
+ fixture/GetRestAPIs.yaml view
+ fixture/GetRestAPIsResponse.proto view
+ fixture/GetSDK.yaml view
+ fixture/GetSDKResponse.proto view
+ fixture/GetStage.yaml view
+ fixture/GetStageResponse.proto view
+ fixture/GetStages.yaml view
+ fixture/GetStagesResponse.proto view
+ fixture/PutIntegration.yaml view
+ fixture/PutIntegrationResponse.proto view
+ fixture/PutIntegrationResponse.yaml view
+ fixture/PutIntegrationResponseResponse.proto view
+ fixture/PutMethod.yaml view
+ fixture/PutMethodResponse.proto view
+ fixture/PutMethodResponse.yaml view
+ fixture/PutMethodResponseResponse.proto view
+ fixture/TestInvokeMethod.yaml view
+ fixture/TestInvokeMethodResponse.proto view
+ fixture/UpdateAPIKey.yaml view
+ fixture/UpdateAPIKeyResponse.proto view
+ fixture/UpdateAccount.yaml view
+ fixture/UpdateAccountResponse.proto view
+ fixture/UpdateBasePathMapping.yaml view
+ fixture/UpdateBasePathMappingResponse.proto view
+ fixture/UpdateClientCertificate.yaml view
+ fixture/UpdateClientCertificateResponse.proto view
+ fixture/UpdateDeployment.yaml view
+ fixture/UpdateDeploymentResponse.proto view
+ fixture/UpdateDomainName.yaml view
+ fixture/UpdateDomainNameResponse.proto view
+ fixture/UpdateIntegration.yaml view
+ fixture/UpdateIntegrationResponse.proto view
+ fixture/UpdateIntegrationResponse.yaml view
+ fixture/UpdateIntegrationResponseResponse.proto view
+ fixture/UpdateMethod.yaml view
+ fixture/UpdateMethodResponse.proto view
+ fixture/UpdateMethodResponse.yaml view
+ fixture/UpdateMethodResponseResponse.proto view
+ fixture/UpdateModel.yaml view
+ fixture/UpdateModelResponse.proto view
+ fixture/UpdateResource.yaml view
+ fixture/UpdateResourceResponse.proto view
+ fixture/UpdateRestAPI.yaml view
+ fixture/UpdateRestAPIResponse.proto view
+ fixture/UpdateStage.yaml view
+ fixture/UpdateStageResponse.proto view
+ gen/Network/AWS/APIGateway.hs view
@@ -0,0 +1,538 @@+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Amazon API Gateway+--+-- Amazon API Gateway helps developers deliver robust, secure and scalable+-- mobile and web application backends. Amazon API Gateway allows+-- developers to securely connect mobile and web applications to APIs that+-- run on AWS Lambda, Amazon EC2, or other publicly addressable web+-- services that are hosted outside of AWS.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/ AWS API Reference>+module Network.AWS.APIGateway+    (+    -- * Service Configuration+      aPIGateway++    -- * Errors+    -- $errors++    -- ** ConflictException+    , _ConflictException++    -- ** NotFoundException+    , _NotFoundException++    -- ** TooManyRequestsException+    , _TooManyRequestsException++    -- ** ServiceUnavailableException+    , _ServiceUnavailableException++    -- ** UnauthorizedException+    , _UnauthorizedException++    -- ** BadRequestException+    , _BadRequestException++    -- ** LimitExceededException+    , _LimitExceededException++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** GetResource+    , module Network.AWS.APIGateway.GetResource++    -- ** GetDeployments+    , module Network.AWS.APIGateway.GetDeployments++    -- ** GetDeployment+    , module Network.AWS.APIGateway.GetDeployment++    -- ** GetDomainNames+    , module Network.AWS.APIGateway.GetDomainNames++    -- ** GetClientCertificate+    , module Network.AWS.APIGateway.GetClientCertificate++    -- ** GetMethodResponse+    , module Network.AWS.APIGateway.GetMethodResponse++    -- ** GetModels+    , module Network.AWS.APIGateway.GetModels++    -- ** GetBasePathMapping+    , module Network.AWS.APIGateway.GetBasePathMapping++    -- ** PutMethodResponse+    , module Network.AWS.APIGateway.PutMethodResponse++    -- ** DeleteMethodResponse+    , module Network.AWS.APIGateway.DeleteMethodResponse++    -- ** UpdateMethodResponse+    , module Network.AWS.APIGateway.UpdateMethodResponse++    -- ** DeleteStage+    , module Network.AWS.APIGateway.DeleteStage++    -- ** UpdateStage+    , module Network.AWS.APIGateway.UpdateStage++    -- ** GetRestAPIs+    , module Network.AWS.APIGateway.GetRestAPIs++    -- ** CreateDeployment+    , module Network.AWS.APIGateway.CreateDeployment++    -- ** CreateBasePathMapping+    , module Network.AWS.APIGateway.CreateBasePathMapping++    -- ** GetIntegration+    , module Network.AWS.APIGateway.GetIntegration++    -- ** UpdateAccount+    , module Network.AWS.APIGateway.UpdateAccount++    -- ** DeleteDeployment+    , module Network.AWS.APIGateway.DeleteDeployment++    -- ** UpdateDeployment+    , module Network.AWS.APIGateway.UpdateDeployment++    -- ** DeleteResource+    , module Network.AWS.APIGateway.DeleteResource++    -- ** UpdateResource+    , module Network.AWS.APIGateway.UpdateResource++    -- ** CreateModel+    , module Network.AWS.APIGateway.CreateModel++    -- ** GetIntegrationResponse+    , module Network.AWS.APIGateway.GetIntegrationResponse++    -- ** CreateDomainName+    , module Network.AWS.APIGateway.CreateDomainName++    -- ** DeleteModel+    , module Network.AWS.APIGateway.DeleteModel++    -- ** UpdateModel+    , module Network.AWS.APIGateway.UpdateModel++    -- ** DeleteAPIKey+    , module Network.AWS.APIGateway.DeleteAPIKey++    -- ** UpdateAPIKey+    , module Network.AWS.APIGateway.UpdateAPIKey++    -- ** GetRestAPI+    , module Network.AWS.APIGateway.GetRestAPI++    -- ** GetStages+    , module Network.AWS.APIGateway.GetStages++    -- ** GetMethod+    , module Network.AWS.APIGateway.GetMethod++    -- ** GetModel+    , module Network.AWS.APIGateway.GetModel++    -- ** UpdateRestAPI+    , module Network.AWS.APIGateway.UpdateRestAPI++    -- ** DeleteRestAPI+    , module Network.AWS.APIGateway.DeleteRestAPI++    -- ** TestInvokeMethod+    , module Network.AWS.APIGateway.TestInvokeMethod++    -- ** GetDomainName+    , module Network.AWS.APIGateway.GetDomainName++    -- ** PutIntegrationResponse+    , module Network.AWS.APIGateway.PutIntegrationResponse++    -- ** FlushStageCache+    , module Network.AWS.APIGateway.FlushStageCache++    -- ** CreateRestAPI+    , module Network.AWS.APIGateway.CreateRestAPI++    -- ** DeleteIntegrationResponse+    , module Network.AWS.APIGateway.DeleteIntegrationResponse++    -- ** UpdateIntegrationResponse+    , module Network.AWS.APIGateway.UpdateIntegrationResponse++    -- ** DeleteIntegration+    , module Network.AWS.APIGateway.DeleteIntegration++    -- ** UpdateIntegration+    , module Network.AWS.APIGateway.UpdateIntegration++    -- ** GenerateClientCertificate+    , module Network.AWS.APIGateway.GenerateClientCertificate++    -- ** GetResources+    , module Network.AWS.APIGateway.GetResources++    -- ** GetAccount+    , module Network.AWS.APIGateway.GetAccount++    -- ** PutIntegration+    , module Network.AWS.APIGateway.PutIntegration++    -- ** GetStage+    , module Network.AWS.APIGateway.GetStage++    -- ** GetSDK+    , module Network.AWS.APIGateway.GetSDK++    -- ** GetAPIKeys+    , module Network.AWS.APIGateway.GetAPIKeys++    -- ** DeleteBasePathMapping+    , module Network.AWS.APIGateway.DeleteBasePathMapping++    -- ** UpdateBasePathMapping+    , module Network.AWS.APIGateway.UpdateBasePathMapping++    -- ** DeleteClientCertificate+    , module Network.AWS.APIGateway.DeleteClientCertificate++    -- ** UpdateClientCertificate+    , module Network.AWS.APIGateway.UpdateClientCertificate++    -- ** CreateStage+    , module Network.AWS.APIGateway.CreateStage++    -- ** CreateAPIKey+    , module Network.AWS.APIGateway.CreateAPIKey++    -- ** PutMethod+    , module Network.AWS.APIGateway.PutMethod++    -- ** UpdateDomainName+    , module Network.AWS.APIGateway.UpdateDomainName++    -- ** DeleteDomainName+    , module Network.AWS.APIGateway.DeleteDomainName++    -- ** CreateResource+    , module Network.AWS.APIGateway.CreateResource++    -- ** DeleteMethod+    , module Network.AWS.APIGateway.DeleteMethod++    -- ** UpdateMethod+    , module Network.AWS.APIGateway.UpdateMethod++    -- ** GetClientCertificates+    , module Network.AWS.APIGateway.GetClientCertificates++    -- ** GetModelTemplate+    , module Network.AWS.APIGateway.GetModelTemplate++    -- ** GetBasePathMappings+    , module Network.AWS.APIGateway.GetBasePathMappings++    -- ** GetAPIKey+    , module Network.AWS.APIGateway.GetAPIKey++    -- * Types++    -- ** CacheClusterSize+    , CacheClusterSize (..)++    -- ** CacheClusterStatus+    , CacheClusterStatus (..)++    -- ** IntegrationType+    , IntegrationType (..)++    -- ** Op+    , Op (..)++    -- ** APIKey+    , APIKey+    , apiKey+    , akEnabled+    , akCreatedDate+    , akName+    , akId+    , akStageKeys+    , akLastUpdatedDate+    , akDescription++    -- ** Account+    , Account+    , account+    , aCloudwatchRoleARN+    , aThrottleSettings++    -- ** BasePathMapping+    , BasePathMapping+    , basePathMapping+    , bpmStage+    , bpmBasePath+    , bpmRestAPIId++    -- ** ClientCertificate+    , ClientCertificate+    , clientCertificate+    , ccPemEncodedCertificate+    , ccClientCertificateId+    , ccCreatedDate+    , ccExpirationDate+    , ccDescription++    -- ** Deployment+    , Deployment+    , deployment+    , dApiSummary+    , dCreatedDate+    , dId+    , dDescription++    -- ** DomainName+    , DomainName+    , domainName+    , dnCertificateName+    , dnDomainName+    , dnCertificateUploadDate+    , dnDistributionDomainName++    -- ** Integration+    , Integration+    , integration+    , iHttpMethod+    , iRequestTemplates+    , iCredentials+    , iRequestParameters+    , iUri+    , iIntegrationResponses+    , iCacheNamespace+    , iType+    , iCacheKeyParameters++    -- ** IntegrationResponse+    , IntegrationResponse+    , integrationResponse+    , iResponseTemplates+    , iSelectionPattern+    , iStatusCode+    , iResponseParameters++    -- ** Method+    , Method+    , method+    , mMethodResponses+    , mHttpMethod+    , mRequestModels+    , mRequestParameters+    , mAuthorizationType+    , mApiKeyRequired+    , mMethodIntegration++    -- ** MethodResponse+    , MethodResponse+    , methodResponse+    , mResponseModels+    , mStatusCode+    , mResponseParameters++    -- ** MethodSetting+    , MethodSetting+    , methodSetting+    , msCacheTtlInSeconds+    , msDataTraceEnabled+    , msThrottlingBurstLimit+    , msCacheDataEncrypted+    , msLoggingLevel+    , msCachingEnabled+    , msMetricsEnabled+    , msThrottlingRateLimit++    -- ** MethodSnapshot+    , MethodSnapshot+    , methodSnapshot+    , msAuthorizationType+    , msApiKeyRequired++    -- ** Model+    , Model+    , model+    , mSchema+    , mName+    , mId+    , mDescription+    , mContentType++    -- ** PatchOperation+    , PatchOperation+    , patchOperation+    , poOp+    , poPath+    , poValue+    , poFrom++    -- ** Resource+    , Resource+    , resource+    , rPathPart+    , rPath+    , rId+    , rResourceMethods+    , rParentId++    -- ** RestAPI+    , RestAPI+    , restAPI+    , raCreatedDate+    , raName+    , raId+    , raDescription++    -- ** Stage+    , Stage+    , stage+    , sDeploymentId+    , sClientCertificateId+    , sCreatedDate+    , sCacheClusterStatus+    , sMethodSettings+    , sLastUpdatedDate+    , sCacheClusterSize+    , sCacheClusterEnabled+    , sStageName+    , sDescription++    -- ** StageKey+    , StageKey+    , stageKey+    , skRestAPIId+    , skStageName++    -- ** ThrottleSettings+    , ThrottleSettings+    , throttleSettings+    , tsBurstLimit+    , tsRateLimit+    ) where++import           Network.AWS.APIGateway.CreateAPIKey+import           Network.AWS.APIGateway.CreateBasePathMapping+import           Network.AWS.APIGateway.CreateDeployment+import           Network.AWS.APIGateway.CreateDomainName+import           Network.AWS.APIGateway.CreateModel+import           Network.AWS.APIGateway.CreateResource+import           Network.AWS.APIGateway.CreateRestAPI+import           Network.AWS.APIGateway.CreateStage+import           Network.AWS.APIGateway.DeleteAPIKey+import           Network.AWS.APIGateway.DeleteBasePathMapping+import           Network.AWS.APIGateway.DeleteClientCertificate+import           Network.AWS.APIGateway.DeleteDeployment+import           Network.AWS.APIGateway.DeleteDomainName+import           Network.AWS.APIGateway.DeleteIntegration+import           Network.AWS.APIGateway.DeleteIntegrationResponse+import           Network.AWS.APIGateway.DeleteMethod+import           Network.AWS.APIGateway.DeleteMethodResponse+import           Network.AWS.APIGateway.DeleteModel+import           Network.AWS.APIGateway.DeleteResource+import           Network.AWS.APIGateway.DeleteRestAPI+import           Network.AWS.APIGateway.DeleteStage+import           Network.AWS.APIGateway.FlushStageCache+import           Network.AWS.APIGateway.GenerateClientCertificate+import           Network.AWS.APIGateway.GetAccount+import           Network.AWS.APIGateway.GetAPIKey+import           Network.AWS.APIGateway.GetAPIKeys+import           Network.AWS.APIGateway.GetBasePathMapping+import           Network.AWS.APIGateway.GetBasePathMappings+import           Network.AWS.APIGateway.GetClientCertificate+import           Network.AWS.APIGateway.GetClientCertificates+import           Network.AWS.APIGateway.GetDeployment+import           Network.AWS.APIGateway.GetDeployments+import           Network.AWS.APIGateway.GetDomainName+import           Network.AWS.APIGateway.GetDomainNames+import           Network.AWS.APIGateway.GetIntegration+import           Network.AWS.APIGateway.GetIntegrationResponse+import           Network.AWS.APIGateway.GetMethod+import           Network.AWS.APIGateway.GetMethodResponse+import           Network.AWS.APIGateway.GetModel+import           Network.AWS.APIGateway.GetModels+import           Network.AWS.APIGateway.GetModelTemplate+import           Network.AWS.APIGateway.GetResource+import           Network.AWS.APIGateway.GetResources+import           Network.AWS.APIGateway.GetRestAPI+import           Network.AWS.APIGateway.GetRestAPIs+import           Network.AWS.APIGateway.GetSDK+import           Network.AWS.APIGateway.GetStage+import           Network.AWS.APIGateway.GetStages+import           Network.AWS.APIGateway.PutIntegration+import           Network.AWS.APIGateway.PutIntegrationResponse+import           Network.AWS.APIGateway.PutMethod+import           Network.AWS.APIGateway.PutMethodResponse+import           Network.AWS.APIGateway.TestInvokeMethod+import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.UpdateAccount+import           Network.AWS.APIGateway.UpdateAPIKey+import           Network.AWS.APIGateway.UpdateBasePathMapping+import           Network.AWS.APIGateway.UpdateClientCertificate+import           Network.AWS.APIGateway.UpdateDeployment+import           Network.AWS.APIGateway.UpdateDomainName+import           Network.AWS.APIGateway.UpdateIntegration+import           Network.AWS.APIGateway.UpdateIntegrationResponse+import           Network.AWS.APIGateway.UpdateMethod+import           Network.AWS.APIGateway.UpdateMethodResponse+import           Network.AWS.APIGateway.UpdateModel+import           Network.AWS.APIGateway.UpdateResource+import           Network.AWS.APIGateway.UpdateRestAPI+import           Network.AWS.APIGateway.UpdateStage+import           Network.AWS.APIGateway.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'APIGateway'.+-}++{- $operations+Some AWS operations return results that are incomplete and require subsequent+requests in order to obtain the entire result set. The process of sending+subsequent requests to continue where a previous request left off is called+pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+1000 objects at a time, and you must send subsequent requests with the+appropriate Marker in order to retrieve the next page of results.++Operations that have an 'AWSPager' instance can transparently perform subsequent+requests, correctly setting Markers and other request facets to iterate through+the entire result set of a truncated API operation. Operations which support+this have an additional note in the documentation.++Many operations have the ability to filter results on the server side. See the+individual operation parameters for details.+-}++{- $waiters+Waiters poll by repeatedly sending a request until some remote success condition+configured by the 'Wait' specification is fulfilled. The 'Wait' specification+determines how many attempts should be made, in addition to delay and retry strategies.+-}
+ gen/Network/AWS/APIGateway/CreateAPIKey.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.CreateAPIKey+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Undocumented operation.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateAPIKey.html AWS API Reference> for CreateAPIKey.+module Network.AWS.APIGateway.CreateAPIKey+    (+    -- * Creating a Request+      createAPIKey+    , CreateAPIKey+    -- * Request Lenses+    , cakEnabled+    , cakName+    , cakStageKeys+    , cakDescription++    -- * Destructuring the Response+    , apiKey+    , APIKey+    -- * Response Lenses+    , akEnabled+    , akCreatedDate+    , akName+    , akId+    , akStageKeys+    , akLastUpdatedDate+    , akDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'createAPIKey' smart constructor.+data CreateAPIKey = CreateAPIKey'+    { _cakEnabled     :: !(Maybe Bool)+    , _cakName        :: !(Maybe Text)+    , _cakStageKeys   :: !(Maybe [StageKey])+    , _cakDescription :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateAPIKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cakEnabled'+--+-- * 'cakName'+--+-- * 'cakStageKeys'+--+-- * 'cakDescription'+createAPIKey+    :: CreateAPIKey+createAPIKey =+    CreateAPIKey'+    { _cakEnabled = Nothing+    , _cakName = Nothing+    , _cakStageKeys = Nothing+    , _cakDescription = Nothing+    }++-- | Specifies whether the ApiKey can be used by callers.+cakEnabled :: Lens' CreateAPIKey (Maybe Bool)+cakEnabled = lens _cakEnabled (\ s a -> s{_cakEnabled = a});++-- | The name of the ApiKey.+cakName :: Lens' CreateAPIKey (Maybe Text)+cakName = lens _cakName (\ s a -> s{_cakName = a});++-- | Specifies whether the ApiKey can be used by callers.+cakStageKeys :: Lens' CreateAPIKey [StageKey]+cakStageKeys = lens _cakStageKeys (\ s a -> s{_cakStageKeys = a}) . _Default . _Coerce;++-- | The description of the ApiKey.+cakDescription :: Lens' CreateAPIKey (Maybe Text)+cakDescription = lens _cakDescription (\ s a -> s{_cakDescription = a});++instance AWSRequest CreateAPIKey where+        type Rs CreateAPIKey = APIKey+        request = postJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders CreateAPIKey where+        toHeaders = const mempty++instance ToJSON CreateAPIKey where+        toJSON CreateAPIKey'{..}+          = object+              (catMaybes+                 [("enabled" .=) <$> _cakEnabled,+                  ("name" .=) <$> _cakName,+                  ("stageKeys" .=) <$> _cakStageKeys,+                  ("description" .=) <$> _cakDescription])++instance ToPath CreateAPIKey where+        toPath = const "/apikeys"++instance ToQuery CreateAPIKey where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/CreateBasePathMapping.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.CreateBasePathMapping+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new BasePathMapping resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateBasePathMapping.html AWS API Reference> for CreateBasePathMapping.+module Network.AWS.APIGateway.CreateBasePathMapping+    (+    -- * Creating a Request+      createBasePathMapping+    , CreateBasePathMapping+    -- * Request Lenses+    , cbpmStage+    , cbpmBasePath+    , cbpmDomainName+    , cbpmRestAPIId++    -- * Destructuring the Response+    , basePathMapping+    , BasePathMapping+    -- * Response Lenses+    , bpmStage+    , bpmBasePath+    , bpmRestAPIId+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to create a new BasePathMapping resource.+--+-- /See:/ 'createBasePathMapping' smart constructor.+data CreateBasePathMapping = CreateBasePathMapping'+    { _cbpmStage      :: !(Maybe Text)+    , _cbpmBasePath   :: !(Maybe Text)+    , _cbpmDomainName :: !Text+    , _cbpmRestAPIId  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateBasePathMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbpmStage'+--+-- * 'cbpmBasePath'+--+-- * 'cbpmDomainName'+--+-- * 'cbpmRestAPIId'+createBasePathMapping+    :: Text -- ^ 'cbpmDomainName'+    -> Text -- ^ 'cbpmRestAPIId'+    -> CreateBasePathMapping+createBasePathMapping pDomainName_ pRestAPIId_ =+    CreateBasePathMapping'+    { _cbpmStage = Nothing+    , _cbpmBasePath = Nothing+    , _cbpmDomainName = pDomainName_+    , _cbpmRestAPIId = pRestAPIId_+    }++-- | The name of the API\'s stage that you want to use for this mapping.+-- Leave this blank if you do not want callers to explicitly specify the+-- stage name after any base path name.+cbpmStage :: Lens' CreateBasePathMapping (Maybe Text)+cbpmStage = lens _cbpmStage (\ s a -> s{_cbpmStage = a});++-- | The base path name that callers of the API must provide as part of the+-- URL after the domain name. This value must be unique for all of the+-- mappings across a single API. Leave this blank if you do not want+-- callers to specify a base path name after the domain name.+cbpmBasePath :: Lens' CreateBasePathMapping (Maybe Text)+cbpmBasePath = lens _cbpmBasePath (\ s a -> s{_cbpmBasePath = a});++-- | The domain name of the BasePathMapping resource to create.+cbpmDomainName :: Lens' CreateBasePathMapping Text+cbpmDomainName = lens _cbpmDomainName (\ s a -> s{_cbpmDomainName = a});++-- | The name of the API that you want to apply this mapping to.+cbpmRestAPIId :: Lens' CreateBasePathMapping Text+cbpmRestAPIId = lens _cbpmRestAPIId (\ s a -> s{_cbpmRestAPIId = a});++instance AWSRequest CreateBasePathMapping where+        type Rs CreateBasePathMapping = BasePathMapping+        request = postJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders CreateBasePathMapping where+        toHeaders = const mempty++instance ToJSON CreateBasePathMapping where+        toJSON CreateBasePathMapping'{..}+          = object+              (catMaybes+                 [("stage" .=) <$> _cbpmStage,+                  ("basePath" .=) <$> _cbpmBasePath,+                  Just ("restApiId" .= _cbpmRestAPIId)])++instance ToPath CreateBasePathMapping where+        toPath CreateBasePathMapping'{..}+          = mconcat+              ["/domainnames/", toBS _cbpmDomainName,+               "/basepathmappings"]++instance ToQuery CreateBasePathMapping where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/CreateDeployment.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.CreateDeployment+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a Deployment resource, which makes a specified RestApi callable+-- over the internet.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateDeployment.html AWS API Reference> for CreateDeployment.+module Network.AWS.APIGateway.CreateDeployment+    (+    -- * Creating a Request+      createDeployment+    , CreateDeployment+    -- * Request Lenses+    , cdStageDescription+    , cdCacheClusterSize+    , cdCacheClusterEnabled+    , cdDescription+    , cdRestAPIId+    , cdStageName++    -- * Destructuring the Response+    , deployment+    , Deployment+    -- * Response Lenses+    , dApiSummary+    , dCreatedDate+    , dId+    , dDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to create a Deployment resource.+--+-- /See:/ 'createDeployment' smart constructor.+data CreateDeployment = CreateDeployment'+    { _cdStageDescription    :: !(Maybe Text)+    , _cdCacheClusterSize    :: !(Maybe CacheClusterSize)+    , _cdCacheClusterEnabled :: !(Maybe Bool)+    , _cdDescription         :: !(Maybe Text)+    , _cdRestAPIId           :: !Text+    , _cdStageName           :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDeployment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdStageDescription'+--+-- * 'cdCacheClusterSize'+--+-- * 'cdCacheClusterEnabled'+--+-- * 'cdDescription'+--+-- * 'cdRestAPIId'+--+-- * 'cdStageName'+createDeployment+    :: Text -- ^ 'cdRestAPIId'+    -> Text -- ^ 'cdStageName'+    -> CreateDeployment+createDeployment pRestAPIId_ pStageName_ =+    CreateDeployment'+    { _cdStageDescription = Nothing+    , _cdCacheClusterSize = Nothing+    , _cdCacheClusterEnabled = Nothing+    , _cdDescription = Nothing+    , _cdRestAPIId = pRestAPIId_+    , _cdStageName = pStageName_+    }++-- | The description of the Stage resource for the Deployment resource to+-- create.+cdStageDescription :: Lens' CreateDeployment (Maybe Text)+cdStageDescription = lens _cdStageDescription (\ s a -> s{_cdStageDescription = a});++-- | Specifies the cache cluster size for the Stage resource specified in the+-- input, if a cache cluster is enabled.+cdCacheClusterSize :: Lens' CreateDeployment (Maybe CacheClusterSize)+cdCacheClusterSize = lens _cdCacheClusterSize (\ s a -> s{_cdCacheClusterSize = a});++-- | Enables a cache cluster for the Stage resource specified in the input.+cdCacheClusterEnabled :: Lens' CreateDeployment (Maybe Bool)+cdCacheClusterEnabled = lens _cdCacheClusterEnabled (\ s a -> s{_cdCacheClusterEnabled = a});++-- | The description for the Deployment resource to create.+cdDescription :: Lens' CreateDeployment (Maybe Text)+cdDescription = lens _cdDescription (\ s a -> s{_cdDescription = a});++-- | The RestApi resource identifier for the Deployment resource to create.+cdRestAPIId :: Lens' CreateDeployment Text+cdRestAPIId = lens _cdRestAPIId (\ s a -> s{_cdRestAPIId = a});++-- | The name of the Stage resource for the Deployment resource to create.+cdStageName :: Lens' CreateDeployment Text+cdStageName = lens _cdStageName (\ s a -> s{_cdStageName = a});++instance AWSRequest CreateDeployment where+        type Rs CreateDeployment = Deployment+        request = postJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders CreateDeployment where+        toHeaders = const mempty++instance ToJSON CreateDeployment where+        toJSON CreateDeployment'{..}+          = object+              (catMaybes+                 [("stageDescription" .=) <$> _cdStageDescription,+                  ("cacheClusterSize" .=) <$> _cdCacheClusterSize,+                  ("cacheClusterEnabled" .=) <$>+                    _cdCacheClusterEnabled,+                  ("description" .=) <$> _cdDescription,+                  Just ("stageName" .= _cdStageName)])++instance ToPath CreateDeployment where+        toPath CreateDeployment'{..}+          = mconcat+              ["/restapis/", toBS _cdRestAPIId, "/deployments"]++instance ToQuery CreateDeployment where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/CreateDomainName.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.CreateDomainName+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new domain name.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateDomainName.html AWS API Reference> for CreateDomainName.+module Network.AWS.APIGateway.CreateDomainName+    (+    -- * Creating a Request+      createDomainName+    , CreateDomainName+    -- * Request Lenses+    , cdnDomainName+    , cdnCertificateName+    , cdnCertificateBody+    , cdnCertificatePrivateKey+    , cdnCertificateChain++    -- * Destructuring the Response+    , domainName+    , DomainName+    -- * Response Lenses+    , dnCertificateName+    , dnDomainName+    , dnCertificateUploadDate+    , dnDistributionDomainName+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | A request to create a new domain name.+--+-- /See:/ 'createDomainName' smart constructor.+data CreateDomainName = CreateDomainName'+    { _cdnDomainName            :: !Text+    , _cdnCertificateName       :: !Text+    , _cdnCertificateBody       :: !Text+    , _cdnCertificatePrivateKey :: !Text+    , _cdnCertificateChain      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDomainName' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdnDomainName'+--+-- * 'cdnCertificateName'+--+-- * 'cdnCertificateBody'+--+-- * 'cdnCertificatePrivateKey'+--+-- * 'cdnCertificateChain'+createDomainName+    :: Text -- ^ 'cdnDomainName'+    -> Text -- ^ 'cdnCertificateName'+    -> Text -- ^ 'cdnCertificateBody'+    -> Text -- ^ 'cdnCertificatePrivateKey'+    -> Text -- ^ 'cdnCertificateChain'+    -> CreateDomainName+createDomainName pDomainName_ pCertificateName_ pCertificateBody_ pCertificatePrivateKey_ pCertificateChain_ =+    CreateDomainName'+    { _cdnDomainName = pDomainName_+    , _cdnCertificateName = pCertificateName_+    , _cdnCertificateBody = pCertificateBody_+    , _cdnCertificatePrivateKey = pCertificatePrivateKey_+    , _cdnCertificateChain = pCertificateChain_+    }++-- | The name of the DomainName resource.+cdnDomainName :: Lens' CreateDomainName Text+cdnDomainName = lens _cdnDomainName (\ s a -> s{_cdnDomainName = a});++-- | The name of the certificate.+cdnCertificateName :: Lens' CreateDomainName Text+cdnCertificateName = lens _cdnCertificateName (\ s a -> s{_cdnCertificateName = a});++-- | The body of the server certificate provided by your certificate+-- authority.+cdnCertificateBody :: Lens' CreateDomainName Text+cdnCertificateBody = lens _cdnCertificateBody (\ s a -> s{_cdnCertificateBody = a});++-- | Your certificate\'s private key.+cdnCertificatePrivateKey :: Lens' CreateDomainName Text+cdnCertificatePrivateKey = lens _cdnCertificatePrivateKey (\ s a -> s{_cdnCertificatePrivateKey = a});++-- | The intermediate certificates and optionally the root certificate, one+-- after the other without any blank lines. If you include the root+-- certificate, your certificate chain must start with intermediate+-- certificates and end with the root certificate. Use the intermediate+-- certificates that were provided by your certificate authority. Do not+-- include any intermediaries that are not in the chain of trust path.+cdnCertificateChain :: Lens' CreateDomainName Text+cdnCertificateChain = lens _cdnCertificateChain (\ s a -> s{_cdnCertificateChain = a});++instance AWSRequest CreateDomainName where+        type Rs CreateDomainName = DomainName+        request = postJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders CreateDomainName where+        toHeaders = const mempty++instance ToJSON CreateDomainName where+        toJSON CreateDomainName'{..}+          = object+              (catMaybes+                 [Just ("domainName" .= _cdnDomainName),+                  Just ("certificateName" .= _cdnCertificateName),+                  Just ("certificateBody" .= _cdnCertificateBody),+                  Just+                    ("certificatePrivateKey" .=+                       _cdnCertificatePrivateKey),+                  Just ("certificateChain" .= _cdnCertificateChain)])++instance ToPath CreateDomainName where+        toPath = const "/domainnames"++instance ToQuery CreateDomainName where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/CreateModel.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.CreateModel+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a new Model resource to an existing RestApi resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateModel.html AWS API Reference> for CreateModel.+module Network.AWS.APIGateway.CreateModel+    (+    -- * Creating a Request+      createModel+    , CreateModel+    -- * Request Lenses+    , cmSchema+    , cmDescription+    , cmRestAPIId+    , cmName+    , cmContentType++    -- * Destructuring the Response+    , model+    , Model+    -- * Response Lenses+    , mSchema+    , mName+    , mId+    , mDescription+    , mContentType+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to add a new Model to an existing RestApi resource.+--+-- /See:/ 'createModel' smart constructor.+data CreateModel = CreateModel'+    { _cmSchema      :: !(Maybe Text)+    , _cmDescription :: !(Maybe Text)+    , _cmRestAPIId   :: !Text+    , _cmName        :: !Text+    , _cmContentType :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateModel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cmSchema'+--+-- * 'cmDescription'+--+-- * 'cmRestAPIId'+--+-- * 'cmName'+--+-- * 'cmContentType'+createModel+    :: Text -- ^ 'cmRestAPIId'+    -> Text -- ^ 'cmName'+    -> Text -- ^ 'cmContentType'+    -> CreateModel+createModel pRestAPIId_ pName_ pContentType_ =+    CreateModel'+    { _cmSchema = Nothing+    , _cmDescription = Nothing+    , _cmRestAPIId = pRestAPIId_+    , _cmName = pName_+    , _cmContentType = pContentType_+    }++-- | The schema for the model. For 'application\/json' models, this should be+-- <http://json-schema.org/documentation.html JSON-schema draft v4> model.+cmSchema :: Lens' CreateModel (Maybe Text)+cmSchema = lens _cmSchema (\ s a -> s{_cmSchema = a});++-- | The description of the model.+cmDescription :: Lens' CreateModel (Maybe Text)+cmDescription = lens _cmDescription (\ s a -> s{_cmDescription = a});++-- | The RestApi identifier under which the Model will be created.+cmRestAPIId :: Lens' CreateModel Text+cmRestAPIId = lens _cmRestAPIId (\ s a -> s{_cmRestAPIId = a});++-- | The name of the model.+cmName :: Lens' CreateModel Text+cmName = lens _cmName (\ s a -> s{_cmName = a});++-- | The content-type for the model.+cmContentType :: Lens' CreateModel Text+cmContentType = lens _cmContentType (\ s a -> s{_cmContentType = a});++instance AWSRequest CreateModel where+        type Rs CreateModel = Model+        request = postJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders CreateModel where+        toHeaders = const mempty++instance ToJSON CreateModel where+        toJSON CreateModel'{..}+          = object+              (catMaybes+                 [("schema" .=) <$> _cmSchema,+                  ("description" .=) <$> _cmDescription,+                  Just ("name" .= _cmName),+                  Just ("contentType" .= _cmContentType)])++instance ToPath CreateModel where+        toPath CreateModel'{..}+          = mconcat+              ["/restapis/", toBS _cmRestAPIId, "/models"]++instance ToQuery CreateModel where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/CreateResource.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.CreateResource+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a Resource resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateResource.html AWS API Reference> for CreateResource.+module Network.AWS.APIGateway.CreateResource+    (+    -- * Creating a Request+      createResource+    , CreateResource+    -- * Request Lenses+    , crRestAPIId+    , crParentId+    , crPathPart++    -- * Destructuring the Response+    , resource+    , Resource+    -- * Response Lenses+    , rPathPart+    , rPath+    , rId+    , rResourceMethods+    , rParentId+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to create a Resource resource.+--+-- /See:/ 'createResource' smart constructor.+data CreateResource = CreateResource'+    { _crRestAPIId :: !Text+    , _crParentId  :: !Text+    , _crPathPart  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateResource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crRestAPIId'+--+-- * 'crParentId'+--+-- * 'crPathPart'+createResource+    :: Text -- ^ 'crRestAPIId'+    -> Text -- ^ 'crParentId'+    -> Text -- ^ 'crPathPart'+    -> CreateResource+createResource pRestAPIId_ pParentId_ pPathPart_ =+    CreateResource'+    { _crRestAPIId = pRestAPIId_+    , _crParentId = pParentId_+    , _crPathPart = pPathPart_+    }++-- | The identifier of the RestApi for the resource.+crRestAPIId :: Lens' CreateResource Text+crRestAPIId = lens _crRestAPIId (\ s a -> s{_crRestAPIId = a});++-- | The parent resource\'s identifier.+crParentId :: Lens' CreateResource Text+crParentId = lens _crParentId (\ s a -> s{_crParentId = a});++-- | The last path segment for this resource.+crPathPart :: Lens' CreateResource Text+crPathPart = lens _crPathPart (\ s a -> s{_crPathPart = a});++instance AWSRequest CreateResource where+        type Rs CreateResource = Resource+        request = postJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders CreateResource where+        toHeaders = const mempty++instance ToJSON CreateResource where+        toJSON CreateResource'{..}+          = object+              (catMaybes [Just ("pathPart" .= _crPathPart)])++instance ToPath CreateResource where+        toPath CreateResource'{..}+          = mconcat+              ["/restapis/", toBS _crRestAPIId, "/resources/",+               toBS _crParentId]++instance ToQuery CreateResource where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/CreateRestAPI.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.CreateRestAPI+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new RestApi resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateRestAPI.html AWS API Reference> for CreateRestAPI.+module Network.AWS.APIGateway.CreateRestAPI+    (+    -- * Creating a Request+      createRestAPI+    , CreateRestAPI+    -- * Request Lenses+    , craCloneFrom+    , craDescription+    , craName++    -- * Destructuring the Response+    , restAPI+    , RestAPI+    -- * Response Lenses+    , raCreatedDate+    , raName+    , raId+    , raDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to add a new RestApi resource to your collection.+--+-- /See:/ 'createRestAPI' smart constructor.+data CreateRestAPI = CreateRestAPI'+    { _craCloneFrom   :: !(Maybe Text)+    , _craDescription :: !(Maybe Text)+    , _craName        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateRestAPI' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'craCloneFrom'+--+-- * 'craDescription'+--+-- * 'craName'+createRestAPI+    :: Text -- ^ 'craName'+    -> CreateRestAPI+createRestAPI pName_ =+    CreateRestAPI'+    { _craCloneFrom = Nothing+    , _craDescription = Nothing+    , _craName = pName_+    }++-- | The name of the RestApi that you want to clone from.+craCloneFrom :: Lens' CreateRestAPI (Maybe Text)+craCloneFrom = lens _craCloneFrom (\ s a -> s{_craCloneFrom = a});++-- | The description of the RestApi.+craDescription :: Lens' CreateRestAPI (Maybe Text)+craDescription = lens _craDescription (\ s a -> s{_craDescription = a});++-- | The name of the RestApi.+craName :: Lens' CreateRestAPI Text+craName = lens _craName (\ s a -> s{_craName = a});++instance AWSRequest CreateRestAPI where+        type Rs CreateRestAPI = RestAPI+        request = postJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders CreateRestAPI where+        toHeaders = const mempty++instance ToJSON CreateRestAPI where+        toJSON CreateRestAPI'{..}+          = object+              (catMaybes+                 [("cloneFrom" .=) <$> _craCloneFrom,+                  ("description" .=) <$> _craDescription,+                  Just ("name" .= _craName)])++instance ToPath CreateRestAPI where+        toPath = const "/restapis"++instance ToQuery CreateRestAPI where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/CreateStage.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.CreateStage+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a Stage resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/CreateStage.html AWS API Reference> for CreateStage.+module Network.AWS.APIGateway.CreateStage+    (+    -- * Creating a Request+      createStage+    , CreateStage+    -- * Request Lenses+    , csCacheClusterSize+    , csCacheClusterEnabled+    , csDescription+    , csRestAPIId+    , csStageName+    , csDeploymentId++    -- * Destructuring the Response+    , stage+    , Stage+    -- * Response Lenses+    , sDeploymentId+    , sClientCertificateId+    , sCreatedDate+    , sCacheClusterStatus+    , sMethodSettings+    , sLastUpdatedDate+    , sCacheClusterSize+    , sCacheClusterEnabled+    , sStageName+    , sDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to create a Stage resource.+--+-- /See:/ 'createStage' smart constructor.+data CreateStage = CreateStage'+    { _csCacheClusterSize    :: !(Maybe CacheClusterSize)+    , _csCacheClusterEnabled :: !(Maybe Bool)+    , _csDescription         :: !(Maybe Text)+    , _csRestAPIId           :: !Text+    , _csStageName           :: !Text+    , _csDeploymentId        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateStage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csCacheClusterSize'+--+-- * 'csCacheClusterEnabled'+--+-- * 'csDescription'+--+-- * 'csRestAPIId'+--+-- * 'csStageName'+--+-- * 'csDeploymentId'+createStage+    :: Text -- ^ 'csRestAPIId'+    -> Text -- ^ 'csStageName'+    -> Text -- ^ 'csDeploymentId'+    -> CreateStage+createStage pRestAPIId_ pStageName_ pDeploymentId_ =+    CreateStage'+    { _csCacheClusterSize = Nothing+    , _csCacheClusterEnabled = Nothing+    , _csDescription = Nothing+    , _csRestAPIId = pRestAPIId_+    , _csStageName = pStageName_+    , _csDeploymentId = pDeploymentId_+    }++-- | The stage\'s cache cluster size.+csCacheClusterSize :: Lens' CreateStage (Maybe CacheClusterSize)+csCacheClusterSize = lens _csCacheClusterSize (\ s a -> s{_csCacheClusterSize = a});++-- | Whether cache clustering is enabled for the stage.+csCacheClusterEnabled :: Lens' CreateStage (Maybe Bool)+csCacheClusterEnabled = lens _csCacheClusterEnabled (\ s a -> s{_csCacheClusterEnabled = a});++-- | The description of the Stage resource.+csDescription :: Lens' CreateStage (Maybe Text)+csDescription = lens _csDescription (\ s a -> s{_csDescription = a});++-- | The identifier of the RestApi resource for the Stage resource to create.+csRestAPIId :: Lens' CreateStage Text+csRestAPIId = lens _csRestAPIId (\ s a -> s{_csRestAPIId = a});++-- | The name for the Stage resource.+csStageName :: Lens' CreateStage Text+csStageName = lens _csStageName (\ s a -> s{_csStageName = a});++-- | The identifier of the Deployment resource for the Stage resource.+csDeploymentId :: Lens' CreateStage Text+csDeploymentId = lens _csDeploymentId (\ s a -> s{_csDeploymentId = a});++instance AWSRequest CreateStage where+        type Rs CreateStage = Stage+        request = postJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders CreateStage where+        toHeaders = const mempty++instance ToJSON CreateStage where+        toJSON CreateStage'{..}+          = object+              (catMaybes+                 [("cacheClusterSize" .=) <$> _csCacheClusterSize,+                  ("cacheClusterEnabled" .=) <$>+                    _csCacheClusterEnabled,+                  ("description" .=) <$> _csDescription,+                  Just ("stageName" .= _csStageName),+                  Just ("deploymentId" .= _csDeploymentId)])++instance ToPath CreateStage where+        toPath CreateStage'{..}+          = mconcat+              ["/restapis/", toBS _csRestAPIId, "/stages"]++instance ToQuery CreateStage where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/DeleteAPIKey.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteAPIKey+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the ApiKey resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteAPIKey.html AWS API Reference> for DeleteAPIKey.+module Network.AWS.APIGateway.DeleteAPIKey+    (+    -- * Creating a Request+      deleteAPIKey+    , DeleteAPIKey+    -- * Request Lenses+    , dakApiKey++    -- * Destructuring the Response+    , deleteAPIKeyResponse+    , DeleteAPIKeyResponse+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | A request to delete the ApiKey resource.+--+-- /See:/ 'deleteAPIKey' smart constructor.+newtype DeleteAPIKey = DeleteAPIKey'+    { _dakApiKey :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteAPIKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dakApiKey'+deleteAPIKey+    :: Text -- ^ 'dakApiKey'+    -> DeleteAPIKey+deleteAPIKey pApiKey_ =+    DeleteAPIKey'+    { _dakApiKey = pApiKey_+    }++-- | The identifier of the ApiKey resource to be deleted.+dakApiKey :: Lens' DeleteAPIKey Text+dakApiKey = lens _dakApiKey (\ s a -> s{_dakApiKey = a});++instance AWSRequest DeleteAPIKey where+        type Rs DeleteAPIKey = DeleteAPIKeyResponse+        request = delete aPIGateway+        response = receiveNull DeleteAPIKeyResponse'++instance ToHeaders DeleteAPIKey where+        toHeaders = const mempty++instance ToPath DeleteAPIKey where+        toPath DeleteAPIKey'{..}+          = mconcat ["/apikeys/", toBS _dakApiKey]++instance ToQuery DeleteAPIKey where+        toQuery = const mempty++-- | /See:/ 'deleteAPIKeyResponse' smart constructor.+data DeleteAPIKeyResponse =+    DeleteAPIKeyResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteAPIKeyResponse' with the minimum fields required to make a request.+--+deleteAPIKeyResponse+    :: DeleteAPIKeyResponse+deleteAPIKeyResponse = DeleteAPIKeyResponse'
+ gen/Network/AWS/APIGateway/DeleteBasePathMapping.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteBasePathMapping+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the BasePathMapping resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteBasePathMapping.html AWS API Reference> for DeleteBasePathMapping.+module Network.AWS.APIGateway.DeleteBasePathMapping+    (+    -- * Creating a Request+      deleteBasePathMapping+    , DeleteBasePathMapping+    -- * Request Lenses+    , dbpmDomainName+    , dbpmBasePath++    -- * Destructuring the Response+    , deleteBasePathMappingResponse+    , DeleteBasePathMappingResponse+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | A request to delete the BasePathMapping resource.+--+-- /See:/ 'deleteBasePathMapping' smart constructor.+data DeleteBasePathMapping = DeleteBasePathMapping'+    { _dbpmDomainName :: !Text+    , _dbpmBasePath   :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteBasePathMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dbpmDomainName'+--+-- * 'dbpmBasePath'+deleteBasePathMapping+    :: Text -- ^ 'dbpmDomainName'+    -> Text -- ^ 'dbpmBasePath'+    -> DeleteBasePathMapping+deleteBasePathMapping pDomainName_ pBasePath_ =+    DeleteBasePathMapping'+    { _dbpmDomainName = pDomainName_+    , _dbpmBasePath = pBasePath_+    }++-- | The domain name of the BasePathMapping resource to delete.+dbpmDomainName :: Lens' DeleteBasePathMapping Text+dbpmDomainName = lens _dbpmDomainName (\ s a -> s{_dbpmDomainName = a});++-- | The base path name of the BasePathMapping resource to delete.+dbpmBasePath :: Lens' DeleteBasePathMapping Text+dbpmBasePath = lens _dbpmBasePath (\ s a -> s{_dbpmBasePath = a});++instance AWSRequest DeleteBasePathMapping where+        type Rs DeleteBasePathMapping =+             DeleteBasePathMappingResponse+        request = delete aPIGateway+        response = receiveNull DeleteBasePathMappingResponse'++instance ToHeaders DeleteBasePathMapping where+        toHeaders = const mempty++instance ToPath DeleteBasePathMapping where+        toPath DeleteBasePathMapping'{..}+          = mconcat+              ["/domainnames/", toBS _dbpmDomainName,+               "/basepathmappings/", toBS _dbpmBasePath]++instance ToQuery DeleteBasePathMapping where+        toQuery = const mempty++-- | /See:/ 'deleteBasePathMappingResponse' smart constructor.+data DeleteBasePathMappingResponse =+    DeleteBasePathMappingResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteBasePathMappingResponse' with the minimum fields required to make a request.+--+deleteBasePathMappingResponse+    :: DeleteBasePathMappingResponse+deleteBasePathMappingResponse = DeleteBasePathMappingResponse'
+ gen/Network/AWS/APIGateway/DeleteClientCertificate.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteClientCertificate+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Undocumented operation.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteClientCertificate.html AWS API Reference> for DeleteClientCertificate.+module Network.AWS.APIGateway.DeleteClientCertificate+    (+    -- * Creating a Request+      deleteClientCertificate+    , DeleteClientCertificate+    -- * Request Lenses+    , dccClientCertificateId++    -- * Destructuring the Response+    , deleteClientCertificateResponse+    , DeleteClientCertificateResponse+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'deleteClientCertificate' smart constructor.+newtype DeleteClientCertificate = DeleteClientCertificate'+    { _dccClientCertificateId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteClientCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dccClientCertificateId'+deleteClientCertificate+    :: Text -- ^ 'dccClientCertificateId'+    -> DeleteClientCertificate+deleteClientCertificate pClientCertificateId_ =+    DeleteClientCertificate'+    { _dccClientCertificateId = pClientCertificateId_+    }++-- | Undocumented member.+dccClientCertificateId :: Lens' DeleteClientCertificate Text+dccClientCertificateId = lens _dccClientCertificateId (\ s a -> s{_dccClientCertificateId = a});++instance AWSRequest DeleteClientCertificate where+        type Rs DeleteClientCertificate =+             DeleteClientCertificateResponse+        request = delete aPIGateway+        response+          = receiveNull DeleteClientCertificateResponse'++instance ToHeaders DeleteClientCertificate where+        toHeaders = const mempty++instance ToPath DeleteClientCertificate where+        toPath DeleteClientCertificate'{..}+          = mconcat+              ["/clientcertificates/",+               toBS _dccClientCertificateId]++instance ToQuery DeleteClientCertificate where+        toQuery = const mempty++-- | /See:/ 'deleteClientCertificateResponse' smart constructor.+data DeleteClientCertificateResponse =+    DeleteClientCertificateResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteClientCertificateResponse' with the minimum fields required to make a request.+--+deleteClientCertificateResponse+    :: DeleteClientCertificateResponse+deleteClientCertificateResponse = DeleteClientCertificateResponse'
+ gen/Network/AWS/APIGateway/DeleteDeployment.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteDeployment+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a Deployment resource. Deleting a deployment will only succeed+-- if there are no Stage resources associated with it.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteDeployment.html AWS API Reference> for DeleteDeployment.+module Network.AWS.APIGateway.DeleteDeployment+    (+    -- * Creating a Request+      deleteDeployment+    , DeleteDeployment+    -- * Request Lenses+    , ddRestAPIId+    , ddDeploymentId++    -- * Destructuring the Response+    , deleteDeploymentResponse+    , DeleteDeploymentResponse+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to delete a Deployment resource.+--+-- /See:/ 'deleteDeployment' smart constructor.+data DeleteDeployment = DeleteDeployment'+    { _ddRestAPIId    :: !Text+    , _ddDeploymentId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDeployment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddRestAPIId'+--+-- * 'ddDeploymentId'+deleteDeployment+    :: Text -- ^ 'ddRestAPIId'+    -> Text -- ^ 'ddDeploymentId'+    -> DeleteDeployment+deleteDeployment pRestAPIId_ pDeploymentId_ =+    DeleteDeployment'+    { _ddRestAPIId = pRestAPIId_+    , _ddDeploymentId = pDeploymentId_+    }++-- | The identifier of the RestApi resource for the Deployment resource to+-- delete.+ddRestAPIId :: Lens' DeleteDeployment Text+ddRestAPIId = lens _ddRestAPIId (\ s a -> s{_ddRestAPIId = a});++-- | The identifier of the Deployment resource to delete.+ddDeploymentId :: Lens' DeleteDeployment Text+ddDeploymentId = lens _ddDeploymentId (\ s a -> s{_ddDeploymentId = a});++instance AWSRequest DeleteDeployment where+        type Rs DeleteDeployment = DeleteDeploymentResponse+        request = delete aPIGateway+        response = receiveNull DeleteDeploymentResponse'++instance ToHeaders DeleteDeployment where+        toHeaders = const mempty++instance ToPath DeleteDeployment where+        toPath DeleteDeployment'{..}+          = mconcat+              ["/restapis/", toBS _ddRestAPIId, "/deployments/",+               toBS _ddDeploymentId]++instance ToQuery DeleteDeployment where+        toQuery = const mempty++-- | /See:/ 'deleteDeploymentResponse' smart constructor.+data DeleteDeploymentResponse =+    DeleteDeploymentResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDeploymentResponse' with the minimum fields required to make a request.+--+deleteDeploymentResponse+    :: DeleteDeploymentResponse+deleteDeploymentResponse = DeleteDeploymentResponse'
+ gen/Network/AWS/APIGateway/DeleteDomainName.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteDomainName+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the DomainName resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteDomainName.html AWS API Reference> for DeleteDomainName.+module Network.AWS.APIGateway.DeleteDomainName+    (+    -- * Creating a Request+      deleteDomainName+    , DeleteDomainName+    -- * Request Lenses+    , ddnDomainName++    -- * Destructuring the Response+    , deleteDomainNameResponse+    , DeleteDomainNameResponse+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | A request to delete the DomainName resource.+--+-- /See:/ 'deleteDomainName' smart constructor.+newtype DeleteDomainName = DeleteDomainName'+    { _ddnDomainName :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDomainName' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddnDomainName'+deleteDomainName+    :: Text -- ^ 'ddnDomainName'+    -> DeleteDomainName+deleteDomainName pDomainName_ =+    DeleteDomainName'+    { _ddnDomainName = pDomainName_+    }++-- | The name of the DomainName resource to be deleted.+ddnDomainName :: Lens' DeleteDomainName Text+ddnDomainName = lens _ddnDomainName (\ s a -> s{_ddnDomainName = a});++instance AWSRequest DeleteDomainName where+        type Rs DeleteDomainName = DeleteDomainNameResponse+        request = delete aPIGateway+        response = receiveNull DeleteDomainNameResponse'++instance ToHeaders DeleteDomainName where+        toHeaders = const mempty++instance ToPath DeleteDomainName where+        toPath DeleteDomainName'{..}+          = mconcat ["/domainnames/", toBS _ddnDomainName]++instance ToQuery DeleteDomainName where+        toQuery = const mempty++-- | /See:/ 'deleteDomainNameResponse' smart constructor.+data DeleteDomainNameResponse =+    DeleteDomainNameResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDomainNameResponse' with the minimum fields required to make a request.+--+deleteDomainNameResponse+    :: DeleteDomainNameResponse+deleteDomainNameResponse = DeleteDomainNameResponse'
+ gen/Network/AWS/APIGateway/DeleteIntegration.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteIntegration+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Represents a delete integration.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteIntegration.html AWS API Reference> for DeleteIntegration.+module Network.AWS.APIGateway.DeleteIntegration+    (+    -- * Creating a Request+      deleteIntegration+    , DeleteIntegration+    -- * Request Lenses+    , delRestAPIId+    , delResourceId+    , delHttpMethod++    -- * Destructuring the Response+    , deleteIntegrationResponse'+    , DeleteIntegrationResponse'+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents a delete integration request.+--+-- /See:/ 'deleteIntegration' smart constructor.+data DeleteIntegration = DeleteIntegration'+    { _delRestAPIId  :: !Text+    , _delResourceId :: !Text+    , _delHttpMethod :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteIntegration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'delRestAPIId'+--+-- * 'delResourceId'+--+-- * 'delHttpMethod'+deleteIntegration+    :: Text -- ^ 'delRestAPIId'+    -> Text -- ^ 'delResourceId'+    -> Text -- ^ 'delHttpMethod'+    -> DeleteIntegration+deleteIntegration pRestAPIId_ pResourceId_ pHttpMethod_ =+    DeleteIntegration'+    { _delRestAPIId = pRestAPIId_+    , _delResourceId = pResourceId_+    , _delHttpMethod = pHttpMethod_+    }++-- | Specifies a delete integration request\'s API identifier.+delRestAPIId :: Lens' DeleteIntegration Text+delRestAPIId = lens _delRestAPIId (\ s a -> s{_delRestAPIId = a});++-- | Specifies a delete integration request\'s resource identifier.+delResourceId :: Lens' DeleteIntegration Text+delResourceId = lens _delResourceId (\ s a -> s{_delResourceId = a});++-- | Specifies a delete integration request\'s HTTP method.+delHttpMethod :: Lens' DeleteIntegration Text+delHttpMethod = lens _delHttpMethod (\ s a -> s{_delHttpMethod = a});++instance AWSRequest DeleteIntegration where+        type Rs DeleteIntegration =+             DeleteIntegrationResponse'+        request = delete aPIGateway+        response = receiveNull DeleteIntegrationResponse''++instance ToHeaders DeleteIntegration where+        toHeaders = const mempty++instance ToPath DeleteIntegration where+        toPath DeleteIntegration'{..}+          = mconcat+              ["/restapis/", toBS _delRestAPIId, "/resources/",+               toBS _delResourceId, "/methods/",+               toBS _delHttpMethod, "/integration"]++instance ToQuery DeleteIntegration where+        toQuery = const mempty++-- | /See:/ 'deleteIntegrationResponse'' smart constructor.+data DeleteIntegrationResponse' =+    DeleteIntegrationResponse''+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteIntegrationResponse'' with the minimum fields required to make a request.+--+deleteIntegrationResponse'+    :: DeleteIntegrationResponse'+deleteIntegrationResponse' = DeleteIntegrationResponse''
+ gen/Network/AWS/APIGateway/DeleteIntegrationResponse.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteIntegrationResponse+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Represents a delete integration response.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteIntegrationResponse.html AWS API Reference> for DeleteIntegrationResponse.+module Network.AWS.APIGateway.DeleteIntegrationResponse+    (+    -- * Creating a Request+      deleteIntegrationResponse+    , DeleteIntegrationResponse+    -- * Request Lenses+    , diRestAPIId+    , diResourceId+    , diHttpMethod+    , diStatusCode++    -- * Destructuring the Response+    , deleteIntegrationResponseResponse+    , DeleteIntegrationResponseResponse+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents a delete integration response request.+--+-- /See:/ 'deleteIntegrationResponse' smart constructor.+data DeleteIntegrationResponse = DeleteIntegrationResponse'+    { _diRestAPIId  :: !Text+    , _diResourceId :: !Text+    , _diHttpMethod :: !Text+    , _diStatusCode :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteIntegrationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diRestAPIId'+--+-- * 'diResourceId'+--+-- * 'diHttpMethod'+--+-- * 'diStatusCode'+deleteIntegrationResponse+    :: Text -- ^ 'diRestAPIId'+    -> Text -- ^ 'diResourceId'+    -> Text -- ^ 'diHttpMethod'+    -> Text -- ^ 'diStatusCode'+    -> DeleteIntegrationResponse+deleteIntegrationResponse pRestAPIId_ pResourceId_ pHttpMethod_ pStatusCode_ =+    DeleteIntegrationResponse'+    { _diRestAPIId = pRestAPIId_+    , _diResourceId = pResourceId_+    , _diHttpMethod = pHttpMethod_+    , _diStatusCode = pStatusCode_+    }++-- | Specifies a delete integration response request\'s API identifier.+diRestAPIId :: Lens' DeleteIntegrationResponse Text+diRestAPIId = lens _diRestAPIId (\ s a -> s{_diRestAPIId = a});++-- | Specifies a delete integration response request\'s resource identifier.+diResourceId :: Lens' DeleteIntegrationResponse Text+diResourceId = lens _diResourceId (\ s a -> s{_diResourceId = a});++-- | Specifies a delete integration response request\'s HTTP method.+diHttpMethod :: Lens' DeleteIntegrationResponse Text+diHttpMethod = lens _diHttpMethod (\ s a -> s{_diHttpMethod = a});++-- | Specifies a delete integration response request\'s status code.+diStatusCode :: Lens' DeleteIntegrationResponse Text+diStatusCode = lens _diStatusCode (\ s a -> s{_diStatusCode = a});++instance AWSRequest DeleteIntegrationResponse where+        type Rs DeleteIntegrationResponse =+             DeleteIntegrationResponseResponse+        request = delete aPIGateway+        response+          = receiveNull DeleteIntegrationResponseResponse'++instance ToHeaders DeleteIntegrationResponse where+        toHeaders = const mempty++instance ToPath DeleteIntegrationResponse where+        toPath DeleteIntegrationResponse'{..}+          = mconcat+              ["/restapis/", toBS _diRestAPIId, "/resources/",+               toBS _diResourceId, "/methods/", toBS _diHttpMethod,+               "/integration/responses/", toBS _diStatusCode]++instance ToQuery DeleteIntegrationResponse where+        toQuery = const mempty++-- | /See:/ 'deleteIntegrationResponseResponse' smart constructor.+data DeleteIntegrationResponseResponse =+    DeleteIntegrationResponseResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteIntegrationResponseResponse' with the minimum fields required to make a request.+--+deleteIntegrationResponseResponse+    :: DeleteIntegrationResponseResponse+deleteIntegrationResponseResponse = DeleteIntegrationResponseResponse'
+ gen/Network/AWS/APIGateway/DeleteMethod.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteMethod+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing Method resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteMethod.html AWS API Reference> for DeleteMethod.+module Network.AWS.APIGateway.DeleteMethod+    (+    -- * Creating a Request+      deleteMethod+    , DeleteMethod+    -- * Request Lenses+    , dmmRestAPIId+    , dmmResourceId+    , dmmHttpMethod++    -- * Destructuring the Response+    , deleteMethodResponse'+    , DeleteMethodResponse'+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to delete an existing Method resource.+--+-- /See:/ 'deleteMethod' smart constructor.+data DeleteMethod = DeleteMethod'+    { _dmmRestAPIId  :: !Text+    , _dmmResourceId :: !Text+    , _dmmHttpMethod :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteMethod' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmmRestAPIId'+--+-- * 'dmmResourceId'+--+-- * 'dmmHttpMethod'+deleteMethod+    :: Text -- ^ 'dmmRestAPIId'+    -> Text -- ^ 'dmmResourceId'+    -> Text -- ^ 'dmmHttpMethod'+    -> DeleteMethod+deleteMethod pRestAPIId_ pResourceId_ pHttpMethod_ =+    DeleteMethod'+    { _dmmRestAPIId = pRestAPIId_+    , _dmmResourceId = pResourceId_+    , _dmmHttpMethod = pHttpMethod_+    }++-- | The RestApi identifier for the Method resource.+dmmRestAPIId :: Lens' DeleteMethod Text+dmmRestAPIId = lens _dmmRestAPIId (\ s a -> s{_dmmRestAPIId = a});++-- | The Resource identifier for the Method resource.+dmmResourceId :: Lens' DeleteMethod Text+dmmResourceId = lens _dmmResourceId (\ s a -> s{_dmmResourceId = a});++-- | The HTTP verb that identifies the Method resource.+dmmHttpMethod :: Lens' DeleteMethod Text+dmmHttpMethod = lens _dmmHttpMethod (\ s a -> s{_dmmHttpMethod = a});++instance AWSRequest DeleteMethod where+        type Rs DeleteMethod = DeleteMethodResponse'+        request = delete aPIGateway+        response = receiveNull DeleteMethodResponse''++instance ToHeaders DeleteMethod where+        toHeaders = const mempty++instance ToPath DeleteMethod where+        toPath DeleteMethod'{..}+          = mconcat+              ["/restapis/", toBS _dmmRestAPIId, "/resources/",+               toBS _dmmResourceId, "/methods/",+               toBS _dmmHttpMethod]++instance ToQuery DeleteMethod where+        toQuery = const mempty++-- | /See:/ 'deleteMethodResponse'' smart constructor.+data DeleteMethodResponse' =+    DeleteMethodResponse''+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteMethodResponse'' with the minimum fields required to make a request.+--+deleteMethodResponse'+    :: DeleteMethodResponse'+deleteMethodResponse' = DeleteMethodResponse''
+ gen/Network/AWS/APIGateway/DeleteMethodResponse.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteMethodResponse+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing MethodResponse resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteMethodResponse.html AWS API Reference> for DeleteMethodResponse.+module Network.AWS.APIGateway.DeleteMethodResponse+    (+    -- * Creating a Request+      deleteMethodResponse+    , DeleteMethodResponse+    -- * Request Lenses+    , dmRestAPIId+    , dmResourceId+    , dmHttpMethod+    , dmStatusCode++    -- * Destructuring the Response+    , deleteMethodResponseResponse+    , DeleteMethodResponseResponse+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | A request to delete an existing MethodResponse resource.+--+-- /See:/ 'deleteMethodResponse' smart constructor.+data DeleteMethodResponse = DeleteMethodResponse'+    { _dmRestAPIId  :: !Text+    , _dmResourceId :: !Text+    , _dmHttpMethod :: !Text+    , _dmStatusCode :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteMethodResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmRestAPIId'+--+-- * 'dmResourceId'+--+-- * 'dmHttpMethod'+--+-- * 'dmStatusCode'+deleteMethodResponse+    :: Text -- ^ 'dmRestAPIId'+    -> Text -- ^ 'dmResourceId'+    -> Text -- ^ 'dmHttpMethod'+    -> Text -- ^ 'dmStatusCode'+    -> DeleteMethodResponse+deleteMethodResponse pRestAPIId_ pResourceId_ pHttpMethod_ pStatusCode_ =+    DeleteMethodResponse'+    { _dmRestAPIId = pRestAPIId_+    , _dmResourceId = pResourceId_+    , _dmHttpMethod = pHttpMethod_+    , _dmStatusCode = pStatusCode_+    }++-- | The RestApi identifier for the MethodResponse resource.+dmRestAPIId :: Lens' DeleteMethodResponse Text+dmRestAPIId = lens _dmRestAPIId (\ s a -> s{_dmRestAPIId = a});++-- | The Resource identifier for the MethodResponse resource.+dmResourceId :: Lens' DeleteMethodResponse Text+dmResourceId = lens _dmResourceId (\ s a -> s{_dmResourceId = a});++-- | The HTTP verb identifier for the parent Method resource.+dmHttpMethod :: Lens' DeleteMethodResponse Text+dmHttpMethod = lens _dmHttpMethod (\ s a -> s{_dmHttpMethod = a});++-- | The status code identifier for the MethodResponse resource.+dmStatusCode :: Lens' DeleteMethodResponse Text+dmStatusCode = lens _dmStatusCode (\ s a -> s{_dmStatusCode = a});++instance AWSRequest DeleteMethodResponse where+        type Rs DeleteMethodResponse =+             DeleteMethodResponseResponse+        request = delete aPIGateway+        response = receiveNull DeleteMethodResponseResponse'++instance ToHeaders DeleteMethodResponse where+        toHeaders = const mempty++instance ToPath DeleteMethodResponse where+        toPath DeleteMethodResponse'{..}+          = mconcat+              ["/restapis/", toBS _dmRestAPIId, "/resources/",+               toBS _dmResourceId, "/methods/", toBS _dmHttpMethod,+               "/responses/", toBS _dmStatusCode]++instance ToQuery DeleteMethodResponse where+        toQuery = const mempty++-- | /See:/ 'deleteMethodResponseResponse' smart constructor.+data DeleteMethodResponseResponse =+    DeleteMethodResponseResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteMethodResponseResponse' with the minimum fields required to make a request.+--+deleteMethodResponseResponse+    :: DeleteMethodResponseResponse+deleteMethodResponseResponse = DeleteMethodResponseResponse'
+ gen/Network/AWS/APIGateway/DeleteModel.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteModel+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a model.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteModel.html AWS API Reference> for DeleteModel.+module Network.AWS.APIGateway.DeleteModel+    (+    -- * Creating a Request+      deleteModel+    , DeleteModel+    -- * Request Lenses+    , dRestAPIId+    , dModelName++    -- * Destructuring the Response+    , deleteModelResponse+    , DeleteModelResponse+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to delete an existing model in an existing RestApi resource.+--+-- /See:/ 'deleteModel' smart constructor.+data DeleteModel = DeleteModel'+    { _dRestAPIId :: !Text+    , _dModelName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteModel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dRestAPIId'+--+-- * 'dModelName'+deleteModel+    :: Text -- ^ 'dRestAPIId'+    -> Text -- ^ 'dModelName'+    -> DeleteModel+deleteModel pRestAPIId_ pModelName_ =+    DeleteModel'+    { _dRestAPIId = pRestAPIId_+    , _dModelName = pModelName_+    }++-- | The RestApi under which the model will be deleted.+dRestAPIId :: Lens' DeleteModel Text+dRestAPIId = lens _dRestAPIId (\ s a -> s{_dRestAPIId = a});++-- | The name of the model to delete.+dModelName :: Lens' DeleteModel Text+dModelName = lens _dModelName (\ s a -> s{_dModelName = a});++instance AWSRequest DeleteModel where+        type Rs DeleteModel = DeleteModelResponse+        request = delete aPIGateway+        response = receiveNull DeleteModelResponse'++instance ToHeaders DeleteModel where+        toHeaders = const mempty++instance ToPath DeleteModel where+        toPath DeleteModel'{..}+          = mconcat+              ["/restapis/", toBS _dRestAPIId, "/models/",+               toBS _dModelName]++instance ToQuery DeleteModel where+        toQuery = const mempty++-- | /See:/ 'deleteModelResponse' smart constructor.+data DeleteModelResponse =+    DeleteModelResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteModelResponse' with the minimum fields required to make a request.+--+deleteModelResponse+    :: DeleteModelResponse+deleteModelResponse = DeleteModelResponse'
+ gen/Network/AWS/APIGateway/DeleteResource.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteResource+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a Resource resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteResource.html AWS API Reference> for DeleteResource.+module Network.AWS.APIGateway.DeleteResource+    (+    -- * Creating a Request+      deleteResource+    , DeleteResource+    -- * Request Lenses+    , drRestAPIId+    , drResourceId++    -- * Destructuring the Response+    , deleteResourceResponse+    , DeleteResourceResponse+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to delete a Resource.+--+-- /See:/ 'deleteResource' smart constructor.+data DeleteResource = DeleteResource'+    { _drRestAPIId  :: !Text+    , _drResourceId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteResource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drRestAPIId'+--+-- * 'drResourceId'+deleteResource+    :: Text -- ^ 'drRestAPIId'+    -> Text -- ^ 'drResourceId'+    -> DeleteResource+deleteResource pRestAPIId_ pResourceId_ =+    DeleteResource'+    { _drRestAPIId = pRestAPIId_+    , _drResourceId = pResourceId_+    }++-- | The RestApi identifier for the Resource resource.+drRestAPIId :: Lens' DeleteResource Text+drRestAPIId = lens _drRestAPIId (\ s a -> s{_drRestAPIId = a});++-- | The identifier of the Resource resource.+drResourceId :: Lens' DeleteResource Text+drResourceId = lens _drResourceId (\ s a -> s{_drResourceId = a});++instance AWSRequest DeleteResource where+        type Rs DeleteResource = DeleteResourceResponse+        request = delete aPIGateway+        response = receiveNull DeleteResourceResponse'++instance ToHeaders DeleteResource where+        toHeaders = const mempty++instance ToPath DeleteResource where+        toPath DeleteResource'{..}+          = mconcat+              ["/restapis/", toBS _drRestAPIId, "/resources/",+               toBS _drResourceId]++instance ToQuery DeleteResource where+        toQuery = const mempty++-- | /See:/ 'deleteResourceResponse' smart constructor.+data DeleteResourceResponse =+    DeleteResourceResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteResourceResponse' with the minimum fields required to make a request.+--+deleteResourceResponse+    :: DeleteResourceResponse+deleteResourceResponse = DeleteResourceResponse'
+ gen/Network/AWS/APIGateway/DeleteRestAPI.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteRestAPI+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified API.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteRestAPI.html AWS API Reference> for DeleteRestAPI.+module Network.AWS.APIGateway.DeleteRestAPI+    (+    -- * Creating a Request+      deleteRestAPI+    , DeleteRestAPI+    -- * Request Lenses+    , draRestAPIId++    -- * Destructuring the Response+    , deleteRestAPIResponse+    , DeleteRestAPIResponse+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to delete the specified API from your collection.+--+-- /See:/ 'deleteRestAPI' smart constructor.+newtype DeleteRestAPI = DeleteRestAPI'+    { _draRestAPIId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteRestAPI' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'draRestAPIId'+deleteRestAPI+    :: Text -- ^ 'draRestAPIId'+    -> DeleteRestAPI+deleteRestAPI pRestAPIId_ =+    DeleteRestAPI'+    { _draRestAPIId = pRestAPIId_+    }++-- | The ID of the RestApi you want to delete.+draRestAPIId :: Lens' DeleteRestAPI Text+draRestAPIId = lens _draRestAPIId (\ s a -> s{_draRestAPIId = a});++instance AWSRequest DeleteRestAPI where+        type Rs DeleteRestAPI = DeleteRestAPIResponse+        request = delete aPIGateway+        response = receiveNull DeleteRestAPIResponse'++instance ToHeaders DeleteRestAPI where+        toHeaders = const mempty++instance ToPath DeleteRestAPI where+        toPath DeleteRestAPI'{..}+          = mconcat ["/restapis/", toBS _draRestAPIId]++instance ToQuery DeleteRestAPI where+        toQuery = const mempty++-- | /See:/ 'deleteRestAPIResponse' smart constructor.+data DeleteRestAPIResponse =+    DeleteRestAPIResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteRestAPIResponse' with the minimum fields required to make a request.+--+deleteRestAPIResponse+    :: DeleteRestAPIResponse+deleteRestAPIResponse = DeleteRestAPIResponse'
+ gen/Network/AWS/APIGateway/DeleteStage.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.DeleteStage+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a Stage resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/DeleteStage.html AWS API Reference> for DeleteStage.+module Network.AWS.APIGateway.DeleteStage+    (+    -- * Creating a Request+      deleteStage+    , DeleteStage+    -- * Request Lenses+    , dsRestAPIId+    , dsStageName++    -- * Destructuring the Response+    , deleteStageResponse+    , DeleteStageResponse+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to delete a Stage resource.+--+-- /See:/ 'deleteStage' smart constructor.+data DeleteStage = DeleteStage'+    { _dsRestAPIId :: !Text+    , _dsStageName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteStage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsRestAPIId'+--+-- * 'dsStageName'+deleteStage+    :: Text -- ^ 'dsRestAPIId'+    -> Text -- ^ 'dsStageName'+    -> DeleteStage+deleteStage pRestAPIId_ pStageName_ =+    DeleteStage'+    { _dsRestAPIId = pRestAPIId_+    , _dsStageName = pStageName_+    }++-- | The identifier of the RestApi resource for the Stage resource to delete.+dsRestAPIId :: Lens' DeleteStage Text+dsRestAPIId = lens _dsRestAPIId (\ s a -> s{_dsRestAPIId = a});++-- | The name of the Stage resource to delete.+dsStageName :: Lens' DeleteStage Text+dsStageName = lens _dsStageName (\ s a -> s{_dsStageName = a});++instance AWSRequest DeleteStage where+        type Rs DeleteStage = DeleteStageResponse+        request = delete aPIGateway+        response = receiveNull DeleteStageResponse'++instance ToHeaders DeleteStage where+        toHeaders = const mempty++instance ToPath DeleteStage where+        toPath DeleteStage'{..}+          = mconcat+              ["/restapis/", toBS _dsRestAPIId, "/stages/",+               toBS _dsStageName]++instance ToQuery DeleteStage where+        toQuery = const mempty++-- | /See:/ 'deleteStageResponse' smart constructor.+data DeleteStageResponse =+    DeleteStageResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteStageResponse' with the minimum fields required to make a request.+--+deleteStageResponse+    :: DeleteStageResponse+deleteStageResponse = DeleteStageResponse'
+ gen/Network/AWS/APIGateway/FlushStageCache.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.FlushStageCache+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Flushes a stage\'s cache.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/FlushStageCache.html AWS API Reference> for FlushStageCache.+module Network.AWS.APIGateway.FlushStageCache+    (+    -- * Creating a Request+      flushStageCache+    , FlushStageCache+    -- * Request Lenses+    , fscRestAPIId+    , fscStageName++    -- * Destructuring the Response+    , flushStageCacheResponse+    , FlushStageCacheResponse+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to flush a stage\'s cache.+--+-- /See:/ 'flushStageCache' smart constructor.+data FlushStageCache = FlushStageCache'+    { _fscRestAPIId :: !Text+    , _fscStageName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'FlushStageCache' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fscRestAPIId'+--+-- * 'fscStageName'+flushStageCache+    :: Text -- ^ 'fscRestAPIId'+    -> Text -- ^ 'fscStageName'+    -> FlushStageCache+flushStageCache pRestAPIId_ pStageName_ =+    FlushStageCache'+    { _fscRestAPIId = pRestAPIId_+    , _fscStageName = pStageName_+    }++-- | The API identifier of the stage to flush its cache.+fscRestAPIId :: Lens' FlushStageCache Text+fscRestAPIId = lens _fscRestAPIId (\ s a -> s{_fscRestAPIId = a});++-- | The name of the stage to flush its cache.+fscStageName :: Lens' FlushStageCache Text+fscStageName = lens _fscStageName (\ s a -> s{_fscStageName = a});++instance AWSRequest FlushStageCache where+        type Rs FlushStageCache = FlushStageCacheResponse+        request = delete aPIGateway+        response = receiveNull FlushStageCacheResponse'++instance ToHeaders FlushStageCache where+        toHeaders = const mempty++instance ToPath FlushStageCache where+        toPath FlushStageCache'{..}+          = mconcat+              ["/restapis/", toBS _fscRestAPIId, "/stages/",+               toBS _fscStageName, "/cache/data"]++instance ToQuery FlushStageCache where+        toQuery = const mempty++-- | /See:/ 'flushStageCacheResponse' smart constructor.+data FlushStageCacheResponse =+    FlushStageCacheResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'FlushStageCacheResponse' with the minimum fields required to make a request.+--+flushStageCacheResponse+    :: FlushStageCacheResponse+flushStageCacheResponse = FlushStageCacheResponse'
+ gen/Network/AWS/APIGateway/GenerateClientCertificate.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GenerateClientCertificate+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Undocumented operation.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GenerateClientCertificate.html AWS API Reference> for GenerateClientCertificate.+module Network.AWS.APIGateway.GenerateClientCertificate+    (+    -- * Creating a Request+      generateClientCertificate+    , GenerateClientCertificate+    -- * Request Lenses+    , gccDescription++    -- * Destructuring the Response+    , clientCertificate+    , ClientCertificate+    -- * Response Lenses+    , ccPemEncodedCertificate+    , ccClientCertificateId+    , ccCreatedDate+    , ccExpirationDate+    , ccDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'generateClientCertificate' smart constructor.+newtype GenerateClientCertificate = GenerateClientCertificate'+    { _gccDescription :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GenerateClientCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gccDescription'+generateClientCertificate+    :: GenerateClientCertificate+generateClientCertificate =+    GenerateClientCertificate'+    { _gccDescription = Nothing+    }++-- | Undocumented member.+gccDescription :: Lens' GenerateClientCertificate (Maybe Text)+gccDescription = lens _gccDescription (\ s a -> s{_gccDescription = a});++instance AWSRequest GenerateClientCertificate where+        type Rs GenerateClientCertificate = ClientCertificate+        request = postJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GenerateClientCertificate where+        toHeaders = const mempty++instance ToJSON GenerateClientCertificate where+        toJSON GenerateClientCertificate'{..}+          = object+              (catMaybes [("description" .=) <$> _gccDescription])++instance ToPath GenerateClientCertificate where+        toPath = const "/clientcertificates"++instance ToQuery GenerateClientCertificate where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetAPIKey.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetAPIKey+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about the current ApiKey resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetAPIKey.html AWS API Reference> for GetAPIKey.+module Network.AWS.APIGateway.GetAPIKey+    (+    -- * Creating a Request+      getAPIKey+    , GetAPIKey+    -- * Request Lenses+    , gakApiKey++    -- * Destructuring the Response+    , apiKey+    , APIKey+    -- * Response Lenses+    , akEnabled+    , akCreatedDate+    , akName+    , akId+    , akStageKeys+    , akLastUpdatedDate+    , akDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | A request to get information about the current ApiKey resource.+--+-- /See:/ 'getAPIKey' smart constructor.+newtype GetAPIKey = GetAPIKey'+    { _gakApiKey :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetAPIKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gakApiKey'+getAPIKey+    :: Text -- ^ 'gakApiKey'+    -> GetAPIKey+getAPIKey pApiKey_ =+    GetAPIKey'+    { _gakApiKey = pApiKey_+    }++-- | The identifier of the ApiKey resource.+gakApiKey :: Lens' GetAPIKey Text+gakApiKey = lens _gakApiKey (\ s a -> s{_gakApiKey = a});++instance AWSRequest GetAPIKey where+        type Rs GetAPIKey = APIKey+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetAPIKey where+        toHeaders = const mempty++instance ToPath GetAPIKey where+        toPath GetAPIKey'{..}+          = mconcat ["/apikeys/", toBS _gakApiKey]++instance ToQuery GetAPIKey where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetAPIKeys.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetAPIKeys+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about the current ApiKeys resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetAPIKeys.html AWS API Reference> for GetAPIKeys.+module Network.AWS.APIGateway.GetAPIKeys+    (+    -- * Creating a Request+      getAPIKeys+    , GetAPIKeys+    -- * Request Lenses+    , gakLimit+    , gakPosition++    -- * Destructuring the Response+    , getAPIKeysResponse+    , GetAPIKeysResponse+    -- * Response Lenses+    , gakrsItems+    , gakrsPosition+    , gakrsResponseStatus+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | A request to get information about the current ApiKeys resource.+--+-- /See:/ 'getAPIKeys' smart constructor.+data GetAPIKeys = GetAPIKeys'+    { _gakLimit    :: !(Maybe Int)+    , _gakPosition :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetAPIKeys' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gakLimit'+--+-- * 'gakPosition'+getAPIKeys+    :: GetAPIKeys+getAPIKeys =+    GetAPIKeys'+    { _gakLimit = Nothing+    , _gakPosition = Nothing+    }++-- | The maximum number of ApiKeys to get information about.+gakLimit :: Lens' GetAPIKeys (Maybe Int)+gakLimit = lens _gakLimit (\ s a -> s{_gakLimit = a});++-- | The position of the current ApiKeys resource to get information about.+gakPosition :: Lens' GetAPIKeys (Maybe Text)+gakPosition = lens _gakPosition (\ s a -> s{_gakPosition = a});++instance AWSRequest GetAPIKeys where+        type Rs GetAPIKeys = GetAPIKeysResponse+        request = get aPIGateway+        response+          = receiveJSON+              (\ s h x ->+                 GetAPIKeysResponse' <$>+                   (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>+                     (pure (fromEnum s)))++instance ToHeaders GetAPIKeys where+        toHeaders = const mempty++instance ToPath GetAPIKeys where+        toPath = const "/apikeys"++instance ToQuery GetAPIKeys where+        toQuery GetAPIKeys'{..}+          = mconcat+              ["limit" =: _gakLimit, "position" =: _gakPosition]++-- | Represents a collection of ApiKey resources.+--+-- /See:/ 'getAPIKeysResponse' smart constructor.+data GetAPIKeysResponse = GetAPIKeysResponse'+    { _gakrsItems          :: !(Maybe [APIKey])+    , _gakrsPosition       :: !(Maybe Text)+    , _gakrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetAPIKeysResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gakrsItems'+--+-- * 'gakrsPosition'+--+-- * 'gakrsResponseStatus'+getAPIKeysResponse+    :: Int -- ^ 'gakrsResponseStatus'+    -> GetAPIKeysResponse+getAPIKeysResponse pResponseStatus_ =+    GetAPIKeysResponse'+    { _gakrsItems = Nothing+    , _gakrsPosition = Nothing+    , _gakrsResponseStatus = pResponseStatus_+    }++-- | The current page of any ApiKey resources in the collection of ApiKey+-- resources.+gakrsItems :: Lens' GetAPIKeysResponse [APIKey]+gakrsItems = lens _gakrsItems (\ s a -> s{_gakrsItems = a}) . _Default . _Coerce;++-- | Undocumented member.+gakrsPosition :: Lens' GetAPIKeysResponse (Maybe Text)+gakrsPosition = lens _gakrsPosition (\ s a -> s{_gakrsPosition = a});++-- | The response status code.+gakrsResponseStatus :: Lens' GetAPIKeysResponse Int+gakrsResponseStatus = lens _gakrsResponseStatus (\ s a -> s{_gakrsResponseStatus = a});
+ gen/Network/AWS/APIGateway/GetAccount.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetAccount+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about the current Account resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetAccount.html AWS API Reference> for GetAccount.+module Network.AWS.APIGateway.GetAccount+    (+    -- * Creating a Request+      getAccount+    , GetAccount++    -- * Destructuring the Response+    , account+    , Account+    -- * Response Lenses+    , aCloudwatchRoleARN+    , aThrottleSettings+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to get information about the current Account+-- resource.+--+-- /See:/ 'getAccount' smart constructor.+data GetAccount =+    GetAccount'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetAccount' with the minimum fields required to make a request.+--+getAccount+    :: GetAccount+getAccount = GetAccount'++instance AWSRequest GetAccount where+        type Rs GetAccount = Account+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetAccount where+        toHeaders = const mempty++instance ToPath GetAccount where+        toPath = const "/account"++instance ToQuery GetAccount where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetBasePathMapping.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetBasePathMapping+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describe a BasePathMapping resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetBasePathMapping.html AWS API Reference> for GetBasePathMapping.+module Network.AWS.APIGateway.GetBasePathMapping+    (+    -- * Creating a Request+      getBasePathMapping+    , GetBasePathMapping+    -- * Request Lenses+    , gbpmDomainName+    , gbpmBasePath++    -- * Destructuring the Response+    , basePathMapping+    , BasePathMapping+    -- * Response Lenses+    , bpmStage+    , bpmBasePath+    , bpmRestAPIId+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to describe a BasePathMapping resource.+--+-- /See:/ 'getBasePathMapping' smart constructor.+data GetBasePathMapping = GetBasePathMapping'+    { _gbpmDomainName :: !Text+    , _gbpmBasePath   :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetBasePathMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbpmDomainName'+--+-- * 'gbpmBasePath'+getBasePathMapping+    :: Text -- ^ 'gbpmDomainName'+    -> Text -- ^ 'gbpmBasePath'+    -> GetBasePathMapping+getBasePathMapping pDomainName_ pBasePath_ =+    GetBasePathMapping'+    { _gbpmDomainName = pDomainName_+    , _gbpmBasePath = pBasePath_+    }++-- | The domain name of the BasePathMapping resource to be described.+gbpmDomainName :: Lens' GetBasePathMapping Text+gbpmDomainName = lens _gbpmDomainName (\ s a -> s{_gbpmDomainName = a});++-- | The base path name that callers of the API must provide as part of the+-- URL after the domain name. This value must be unique for all of the+-- mappings across a single API. Leave this blank if you do not want+-- callers to specify any base path name after the domain name.+gbpmBasePath :: Lens' GetBasePathMapping Text+gbpmBasePath = lens _gbpmBasePath (\ s a -> s{_gbpmBasePath = a});++instance AWSRequest GetBasePathMapping where+        type Rs GetBasePathMapping = BasePathMapping+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetBasePathMapping where+        toHeaders = const mempty++instance ToPath GetBasePathMapping where+        toPath GetBasePathMapping'{..}+          = mconcat+              ["/domainnames/", toBS _gbpmDomainName,+               "/basepathmappings/", toBS _gbpmBasePath]++instance ToQuery GetBasePathMapping where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetBasePathMappings.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetBasePathMappings+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Represents a collection of BasePathMapping resources.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetBasePathMappings.html AWS API Reference> for GetBasePathMappings.+module Network.AWS.APIGateway.GetBasePathMappings+    (+    -- * Creating a Request+      getBasePathMappings+    , GetBasePathMappings+    -- * Request Lenses+    , gLimit+    , gPosition+    , gDomainName++    -- * Destructuring the Response+    , getBasePathMappingsResponse+    , GetBasePathMappingsResponse+    -- * Response Lenses+    , gbpmrsItems+    , gbpmrsPosition+    , gbpmrsResponseStatus+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | A request to get information about a collection of BasePathMapping+-- resources.+--+-- /See:/ 'getBasePathMappings' smart constructor.+data GetBasePathMappings = GetBasePathMappings'+    { _gLimit      :: !(Maybe Int)+    , _gPosition   :: !(Maybe Text)+    , _gDomainName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetBasePathMappings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gLimit'+--+-- * 'gPosition'+--+-- * 'gDomainName'+getBasePathMappings+    :: Text -- ^ 'gDomainName'+    -> GetBasePathMappings+getBasePathMappings pDomainName_ =+    GetBasePathMappings'+    { _gLimit = Nothing+    , _gPosition = Nothing+    , _gDomainName = pDomainName_+    }++-- | The maximum number of BasePathMapping resources in the collection to get+-- information about. The default limit is 25. It should be an integer+-- between 1 - 500.+gLimit :: Lens' GetBasePathMappings (Maybe Int)+gLimit = lens _gLimit (\ s a -> s{_gLimit = a});++-- | The position of the current BasePathMapping resource in the collection+-- to get information about.+gPosition :: Lens' GetBasePathMappings (Maybe Text)+gPosition = lens _gPosition (\ s a -> s{_gPosition = a});++-- | The domain name of a BasePathMapping resource.+gDomainName :: Lens' GetBasePathMappings Text+gDomainName = lens _gDomainName (\ s a -> s{_gDomainName = a});++instance AWSRequest GetBasePathMappings where+        type Rs GetBasePathMappings =+             GetBasePathMappingsResponse+        request = get aPIGateway+        response+          = receiveJSON+              (\ s h x ->+                 GetBasePathMappingsResponse' <$>+                   (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>+                     (pure (fromEnum s)))++instance ToHeaders GetBasePathMappings where+        toHeaders = const mempty++instance ToPath GetBasePathMappings where+        toPath GetBasePathMappings'{..}+          = mconcat+              ["/domainnames/", toBS _gDomainName,+               "/basepathmappings"]++instance ToQuery GetBasePathMappings where+        toQuery GetBasePathMappings'{..}+          = mconcat+              ["limit" =: _gLimit, "position" =: _gPosition]++-- | Represents a collection of BasePathMapping resources.+--+-- /See:/ 'getBasePathMappingsResponse' smart constructor.+data GetBasePathMappingsResponse = GetBasePathMappingsResponse'+    { _gbpmrsItems          :: !(Maybe [BasePathMapping])+    , _gbpmrsPosition       :: !(Maybe Text)+    , _gbpmrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetBasePathMappingsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbpmrsItems'+--+-- * 'gbpmrsPosition'+--+-- * 'gbpmrsResponseStatus'+getBasePathMappingsResponse+    :: Int -- ^ 'gbpmrsResponseStatus'+    -> GetBasePathMappingsResponse+getBasePathMappingsResponse pResponseStatus_ =+    GetBasePathMappingsResponse'+    { _gbpmrsItems = Nothing+    , _gbpmrsPosition = Nothing+    , _gbpmrsResponseStatus = pResponseStatus_+    }++-- | The current page of any BasePathMapping resources in the collection of+-- base path mapping resources.+gbpmrsItems :: Lens' GetBasePathMappingsResponse [BasePathMapping]+gbpmrsItems = lens _gbpmrsItems (\ s a -> s{_gbpmrsItems = a}) . _Default . _Coerce;++-- | Undocumented member.+gbpmrsPosition :: Lens' GetBasePathMappingsResponse (Maybe Text)+gbpmrsPosition = lens _gbpmrsPosition (\ s a -> s{_gbpmrsPosition = a});++-- | The response status code.+gbpmrsResponseStatus :: Lens' GetBasePathMappingsResponse Int+gbpmrsResponseStatus = lens _gbpmrsResponseStatus (\ s a -> s{_gbpmrsResponseStatus = a});
+ gen/Network/AWS/APIGateway/GetClientCertificate.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetClientCertificate+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Undocumented operation.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetClientCertificate.html AWS API Reference> for GetClientCertificate.+module Network.AWS.APIGateway.GetClientCertificate+    (+    -- * Creating a Request+      getClientCertificate+    , GetClientCertificate+    -- * Request Lenses+    , gccClientCertificateId++    -- * Destructuring the Response+    , clientCertificate+    , ClientCertificate+    -- * Response Lenses+    , ccPemEncodedCertificate+    , ccClientCertificateId+    , ccCreatedDate+    , ccExpirationDate+    , ccDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'getClientCertificate' smart constructor.+newtype GetClientCertificate = GetClientCertificate'+    { _gccClientCertificateId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetClientCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gccClientCertificateId'+getClientCertificate+    :: Text -- ^ 'gccClientCertificateId'+    -> GetClientCertificate+getClientCertificate pClientCertificateId_ =+    GetClientCertificate'+    { _gccClientCertificateId = pClientCertificateId_+    }++-- | Undocumented member.+gccClientCertificateId :: Lens' GetClientCertificate Text+gccClientCertificateId = lens _gccClientCertificateId (\ s a -> s{_gccClientCertificateId = a});++instance AWSRequest GetClientCertificate where+        type Rs GetClientCertificate = ClientCertificate+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetClientCertificate where+        toHeaders = const mempty++instance ToPath GetClientCertificate where+        toPath GetClientCertificate'{..}+          = mconcat+              ["/clientcertificates/",+               toBS _gccClientCertificateId]++instance ToQuery GetClientCertificate where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetClientCertificates.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetClientCertificates+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Undocumented operation.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetClientCertificates.html AWS API Reference> for GetClientCertificates.+module Network.AWS.APIGateway.GetClientCertificates+    (+    -- * Creating a Request+      getClientCertificates+    , GetClientCertificates+    -- * Request Lenses+    , gccLimit+    , gccPosition++    -- * Destructuring the Response+    , getClientCertificatesResponse+    , GetClientCertificatesResponse+    -- * Response Lenses+    , gccrsItems+    , gccrsPosition+    , gccrsResponseStatus+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'getClientCertificates' smart constructor.+data GetClientCertificates = GetClientCertificates'+    { _gccLimit    :: !(Maybe Int)+    , _gccPosition :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetClientCertificates' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gccLimit'+--+-- * 'gccPosition'+getClientCertificates+    :: GetClientCertificates+getClientCertificates =+    GetClientCertificates'+    { _gccLimit = Nothing+    , _gccPosition = Nothing+    }++-- | Undocumented member.+gccLimit :: Lens' GetClientCertificates (Maybe Int)+gccLimit = lens _gccLimit (\ s a -> s{_gccLimit = a});++-- | Undocumented member.+gccPosition :: Lens' GetClientCertificates (Maybe Text)+gccPosition = lens _gccPosition (\ s a -> s{_gccPosition = a});++instance AWSRequest GetClientCertificates where+        type Rs GetClientCertificates =+             GetClientCertificatesResponse+        request = get aPIGateway+        response+          = receiveJSON+              (\ s h x ->+                 GetClientCertificatesResponse' <$>+                   (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>+                     (pure (fromEnum s)))++instance ToHeaders GetClientCertificates where+        toHeaders = const mempty++instance ToPath GetClientCertificates where+        toPath = const "/clientcertificates"++instance ToQuery GetClientCertificates where+        toQuery GetClientCertificates'{..}+          = mconcat+              ["limit" =: _gccLimit, "position" =: _gccPosition]++-- | /See:/ 'getClientCertificatesResponse' smart constructor.+data GetClientCertificatesResponse = GetClientCertificatesResponse'+    { _gccrsItems          :: !(Maybe [ClientCertificate])+    , _gccrsPosition       :: !(Maybe Text)+    , _gccrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetClientCertificatesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gccrsItems'+--+-- * 'gccrsPosition'+--+-- * 'gccrsResponseStatus'+getClientCertificatesResponse+    :: Int -- ^ 'gccrsResponseStatus'+    -> GetClientCertificatesResponse+getClientCertificatesResponse pResponseStatus_ =+    GetClientCertificatesResponse'+    { _gccrsItems = Nothing+    , _gccrsPosition = Nothing+    , _gccrsResponseStatus = pResponseStatus_+    }++-- | Undocumented member.+gccrsItems :: Lens' GetClientCertificatesResponse [ClientCertificate]+gccrsItems = lens _gccrsItems (\ s a -> s{_gccrsItems = a}) . _Default . _Coerce;++-- | Undocumented member.+gccrsPosition :: Lens' GetClientCertificatesResponse (Maybe Text)+gccrsPosition = lens _gccrsPosition (\ s a -> s{_gccrsPosition = a});++-- | The response status code.+gccrsResponseStatus :: Lens' GetClientCertificatesResponse Int+gccrsResponseStatus = lens _gccrsResponseStatus (\ s a -> s{_gccrsResponseStatus = a});
+ gen/Network/AWS/APIGateway/GetDeployment.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetDeployment+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a Deployment resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetDeployment.html AWS API Reference> for GetDeployment.+module Network.AWS.APIGateway.GetDeployment+    (+    -- * Creating a Request+      getDeployment+    , GetDeployment+    -- * Request Lenses+    , gRestAPIId+    , gDeploymentId++    -- * Destructuring the Response+    , deployment+    , Deployment+    -- * Response Lenses+    , dApiSummary+    , dCreatedDate+    , dId+    , dDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to get information about a Deployment+-- resource.+--+-- /See:/ 'getDeployment' smart constructor.+data GetDeployment = GetDeployment'+    { _gRestAPIId    :: !Text+    , _gDeploymentId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDeployment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gRestAPIId'+--+-- * 'gDeploymentId'+getDeployment+    :: Text -- ^ 'gRestAPIId'+    -> Text -- ^ 'gDeploymentId'+    -> GetDeployment+getDeployment pRestAPIId_ pDeploymentId_ =+    GetDeployment'+    { _gRestAPIId = pRestAPIId_+    , _gDeploymentId = pDeploymentId_+    }++-- | The identifier of the RestApi resource for the Deployment resource to+-- get information about.+gRestAPIId :: Lens' GetDeployment Text+gRestAPIId = lens _gRestAPIId (\ s a -> s{_gRestAPIId = a});++-- | The identifier of the Deployment resource to get information about.+gDeploymentId :: Lens' GetDeployment Text+gDeploymentId = lens _gDeploymentId (\ s a -> s{_gDeploymentId = a});++instance AWSRequest GetDeployment where+        type Rs GetDeployment = Deployment+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetDeployment where+        toHeaders = const mempty++instance ToPath GetDeployment where+        toPath GetDeployment'{..}+          = mconcat+              ["/restapis/", toBS _gRestAPIId, "/deployments/",+               toBS _gDeploymentId]++instance ToQuery GetDeployment where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetDeployments.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetDeployments+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a Deployments collection.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetDeployments.html AWS API Reference> for GetDeployments.+module Network.AWS.APIGateway.GetDeployments+    (+    -- * Creating a Request+      getDeployments+    , GetDeployments+    -- * Request Lenses+    , gdLimit+    , gdPosition+    , gdRestAPIId++    -- * Destructuring the Response+    , getDeploymentsResponse+    , GetDeploymentsResponse+    -- * Response Lenses+    , gdrsItems+    , gdrsPosition+    , gdrsResponseStatus+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to get information about a Deployments+-- collection.+--+-- /See:/ 'getDeployments' smart constructor.+data GetDeployments = GetDeployments'+    { _gdLimit     :: !(Maybe Int)+    , _gdPosition  :: !(Maybe Text)+    , _gdRestAPIId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDeployments' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdLimit'+--+-- * 'gdPosition'+--+-- * 'gdRestAPIId'+getDeployments+    :: Text -- ^ 'gdRestAPIId'+    -> GetDeployments+getDeployments pRestAPIId_ =+    GetDeployments'+    { _gdLimit = Nothing+    , _gdPosition = Nothing+    , _gdRestAPIId = pRestAPIId_+    }++-- | The maximum number of Deployment resources in the collection to get+-- information about. The default limit is 25. It should be an integer+-- between 1 - 500.+gdLimit :: Lens' GetDeployments (Maybe Int)+gdLimit = lens _gdLimit (\ s a -> s{_gdLimit = a});++-- | The position of the current Deployment resource in the collection to get+-- information about.+gdPosition :: Lens' GetDeployments (Maybe Text)+gdPosition = lens _gdPosition (\ s a -> s{_gdPosition = a});++-- | The identifier of the RestApi resource for the collection of Deployment+-- resources to get information about.+gdRestAPIId :: Lens' GetDeployments Text+gdRestAPIId = lens _gdRestAPIId (\ s a -> s{_gdRestAPIId = a});++instance AWSRequest GetDeployments where+        type Rs GetDeployments = GetDeploymentsResponse+        request = get aPIGateway+        response+          = receiveJSON+              (\ s h x ->+                 GetDeploymentsResponse' <$>+                   (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>+                     (pure (fromEnum s)))++instance ToHeaders GetDeployments where+        toHeaders = const mempty++instance ToPath GetDeployments where+        toPath GetDeployments'{..}+          = mconcat+              ["/restapis/", toBS _gdRestAPIId, "/deployments"]++instance ToQuery GetDeployments where+        toQuery GetDeployments'{..}+          = mconcat+              ["limit" =: _gdLimit, "position" =: _gdPosition]++-- | Represents a collection resource that contains zero or more references+-- to your existing deployments, and links that guide you on ways to+-- interact with your collection. The collection offers a paginated view of+-- the contained deployments.+--+-- /See:/ 'getDeploymentsResponse' smart constructor.+data GetDeploymentsResponse = GetDeploymentsResponse'+    { _gdrsItems          :: !(Maybe [Deployment])+    , _gdrsPosition       :: !(Maybe Text)+    , _gdrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDeploymentsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdrsItems'+--+-- * 'gdrsPosition'+--+-- * 'gdrsResponseStatus'+getDeploymentsResponse+    :: Int -- ^ 'gdrsResponseStatus'+    -> GetDeploymentsResponse+getDeploymentsResponse pResponseStatus_ =+    GetDeploymentsResponse'+    { _gdrsItems = Nothing+    , _gdrsPosition = Nothing+    , _gdrsResponseStatus = pResponseStatus_+    }++-- | The current page of any Deployment resources in the collection of+-- deployment resources.+gdrsItems :: Lens' GetDeploymentsResponse [Deployment]+gdrsItems = lens _gdrsItems (\ s a -> s{_gdrsItems = a}) . _Default . _Coerce;++-- | Undocumented member.+gdrsPosition :: Lens' GetDeploymentsResponse (Maybe Text)+gdrsPosition = lens _gdrsPosition (\ s a -> s{_gdrsPosition = a});++-- | The response status code.+gdrsResponseStatus :: Lens' GetDeploymentsResponse Int+gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a});
+ gen/Network/AWS/APIGateway/GetDomainName.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetDomainName+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Represents a domain name that is contained in a simpler, more intuitive+-- URL that can be called.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetDomainName.html AWS API Reference> for GetDomainName.+module Network.AWS.APIGateway.GetDomainName+    (+    -- * Creating a Request+      getDomainName+    , GetDomainName+    -- * Request Lenses+    , gdnDomainName++    -- * Destructuring the Response+    , domainName+    , DomainName+    -- * Response Lenses+    , dnCertificateName+    , dnDomainName+    , dnCertificateUploadDate+    , dnDistributionDomainName+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to get the name of a DomainName resource.+--+-- /See:/ 'getDomainName' smart constructor.+newtype GetDomainName = GetDomainName'+    { _gdnDomainName :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDomainName' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdnDomainName'+getDomainName+    :: Text -- ^ 'gdnDomainName'+    -> GetDomainName+getDomainName pDomainName_ =+    GetDomainName'+    { _gdnDomainName = pDomainName_+    }++-- | The name of the DomainName resource.+gdnDomainName :: Lens' GetDomainName Text+gdnDomainName = lens _gdnDomainName (\ s a -> s{_gdnDomainName = a});++instance AWSRequest GetDomainName where+        type Rs GetDomainName = DomainName+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetDomainName where+        toHeaders = const mempty++instance ToPath GetDomainName where+        toPath GetDomainName'{..}+          = mconcat ["/domainnames/", toBS _gdnDomainName]++instance ToQuery GetDomainName where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetDomainNames.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetDomainNames+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Represents a collection of DomainName resources.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetDomainNames.html AWS API Reference> for GetDomainNames.+module Network.AWS.APIGateway.GetDomainNames+    (+    -- * Creating a Request+      getDomainNames+    , GetDomainNames+    -- * Request Lenses+    , gdnLimit+    , gdnPosition++    -- * Destructuring the Response+    , getDomainNamesResponse+    , GetDomainNamesResponse+    -- * Response Lenses+    , gdnrsItems+    , gdnrsPosition+    , gdnrsResponseStatus+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to describe a collection of DomainName resources.+--+-- /See:/ 'getDomainNames' smart constructor.+data GetDomainNames = GetDomainNames'+    { _gdnLimit    :: !(Maybe Int)+    , _gdnPosition :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDomainNames' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdnLimit'+--+-- * 'gdnPosition'+getDomainNames+    :: GetDomainNames+getDomainNames =+    GetDomainNames'+    { _gdnLimit = Nothing+    , _gdnPosition = Nothing+    }++-- | The maximum number of DomainName resources in the collection to get+-- information about. The default limit is 25. It should be an integer+-- between 1 - 500.+gdnLimit :: Lens' GetDomainNames (Maybe Int)+gdnLimit = lens _gdnLimit (\ s a -> s{_gdnLimit = a});++-- | The position of the current domain names to get information about.+gdnPosition :: Lens' GetDomainNames (Maybe Text)+gdnPosition = lens _gdnPosition (\ s a -> s{_gdnPosition = a});++instance AWSRequest GetDomainNames where+        type Rs GetDomainNames = GetDomainNamesResponse+        request = get aPIGateway+        response+          = receiveJSON+              (\ s h x ->+                 GetDomainNamesResponse' <$>+                   (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>+                     (pure (fromEnum s)))++instance ToHeaders GetDomainNames where+        toHeaders = const mempty++instance ToPath GetDomainNames where+        toPath = const "/domainnames"++instance ToQuery GetDomainNames where+        toQuery GetDomainNames'{..}+          = mconcat+              ["limit" =: _gdnLimit, "position" =: _gdnPosition]++-- | Represents a collection of DomainName resources.+--+-- /See:/ 'getDomainNamesResponse' smart constructor.+data GetDomainNamesResponse = GetDomainNamesResponse'+    { _gdnrsItems          :: !(Maybe [DomainName])+    , _gdnrsPosition       :: !(Maybe Text)+    , _gdnrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDomainNamesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdnrsItems'+--+-- * 'gdnrsPosition'+--+-- * 'gdnrsResponseStatus'+getDomainNamesResponse+    :: Int -- ^ 'gdnrsResponseStatus'+    -> GetDomainNamesResponse+getDomainNamesResponse pResponseStatus_ =+    GetDomainNamesResponse'+    { _gdnrsItems = Nothing+    , _gdnrsPosition = Nothing+    , _gdnrsResponseStatus = pResponseStatus_+    }++-- | The current page of any DomainName resources in the collection of+-- DomainName resources.+gdnrsItems :: Lens' GetDomainNamesResponse [DomainName]+gdnrsItems = lens _gdnrsItems (\ s a -> s{_gdnrsItems = a}) . _Default . _Coerce;++-- | Undocumented member.+gdnrsPosition :: Lens' GetDomainNamesResponse (Maybe Text)+gdnrsPosition = lens _gdnrsPosition (\ s a -> s{_gdnrsPosition = a});++-- | The response status code.+gdnrsResponseStatus :: Lens' GetDomainNamesResponse Int+gdnrsResponseStatus = lens _gdnrsResponseStatus (\ s a -> s{_gdnrsResponseStatus = a});
+ gen/Network/AWS/APIGateway/GetIntegration.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetIntegration+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Represents a get integration.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetIntegration.html AWS API Reference> for GetIntegration.+module Network.AWS.APIGateway.GetIntegration+    (+    -- * Creating a Request+      getIntegration+    , GetIntegration+    -- * Request Lenses+    , giRestAPIId+    , giResourceId+    , giHttpMethod++    -- * Destructuring the Response+    , integration+    , Integration+    -- * Response Lenses+    , iHttpMethod+    , iRequestTemplates+    , iCredentials+    , iRequestParameters+    , iUri+    , iIntegrationResponses+    , iCacheNamespace+    , iType+    , iCacheKeyParameters+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents a get integration request.+--+-- /See:/ 'getIntegration' smart constructor.+data GetIntegration = GetIntegration'+    { _giRestAPIId  :: !Text+    , _giResourceId :: !Text+    , _giHttpMethod :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetIntegration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'giRestAPIId'+--+-- * 'giResourceId'+--+-- * 'giHttpMethod'+getIntegration+    :: Text -- ^ 'giRestAPIId'+    -> Text -- ^ 'giResourceId'+    -> Text -- ^ 'giHttpMethod'+    -> GetIntegration+getIntegration pRestAPIId_ pResourceId_ pHttpMethod_ =+    GetIntegration'+    { _giRestAPIId = pRestAPIId_+    , _giResourceId = pResourceId_+    , _giHttpMethod = pHttpMethod_+    }++-- | Specifies a get integration request\'s API identifier.+giRestAPIId :: Lens' GetIntegration Text+giRestAPIId = lens _giRestAPIId (\ s a -> s{_giRestAPIId = a});++-- | Specifies a get integration request\'s resource identifier+giResourceId :: Lens' GetIntegration Text+giResourceId = lens _giResourceId (\ s a -> s{_giResourceId = a});++-- | Specifies a get integration request\'s HTTP method.+giHttpMethod :: Lens' GetIntegration Text+giHttpMethod = lens _giHttpMethod (\ s a -> s{_giHttpMethod = a});++instance AWSRequest GetIntegration where+        type Rs GetIntegration = Integration+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetIntegration where+        toHeaders = const mempty++instance ToPath GetIntegration where+        toPath GetIntegration'{..}+          = mconcat+              ["/restapis/", toBS _giRestAPIId, "/resources/",+               toBS _giResourceId, "/methods/", toBS _giHttpMethod,+               "/integration"]++instance ToQuery GetIntegration where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetIntegrationResponse.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetIntegrationResponse+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Represents a get integration response.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetIntegrationResponse.html AWS API Reference> for GetIntegrationResponse.+module Network.AWS.APIGateway.GetIntegrationResponse+    (+    -- * Creating a Request+      getIntegrationResponse+    , GetIntegrationResponse+    -- * Request Lenses+    , getRestAPIId+    , getResourceId+    , getHttpMethod+    , getStatusCode++    -- * Destructuring the Response+    , integrationResponse+    , IntegrationResponse+    -- * Response Lenses+    , iResponseTemplates+    , iSelectionPattern+    , iStatusCode+    , iResponseParameters+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents a get integration response request.+--+-- /See:/ 'getIntegrationResponse' smart constructor.+data GetIntegrationResponse = GetIntegrationResponse'+    { _getRestAPIId  :: !Text+    , _getResourceId :: !Text+    , _getHttpMethod :: !Text+    , _getStatusCode :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetIntegrationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'getRestAPIId'+--+-- * 'getResourceId'+--+-- * 'getHttpMethod'+--+-- * 'getStatusCode'+getIntegrationResponse+    :: Text -- ^ 'getRestAPIId'+    -> Text -- ^ 'getResourceId'+    -> Text -- ^ 'getHttpMethod'+    -> Text -- ^ 'getStatusCode'+    -> GetIntegrationResponse+getIntegrationResponse pRestAPIId_ pResourceId_ pHttpMethod_ pStatusCode_ =+    GetIntegrationResponse'+    { _getRestAPIId = pRestAPIId_+    , _getResourceId = pResourceId_+    , _getHttpMethod = pHttpMethod_+    , _getStatusCode = pStatusCode_+    }++-- | Specifies a get integration response request\'s API identifier.+getRestAPIId :: Lens' GetIntegrationResponse Text+getRestAPIId = lens _getRestAPIId (\ s a -> s{_getRestAPIId = a});++-- | Specifies a get integration response request\'s resource identifier.+getResourceId :: Lens' GetIntegrationResponse Text+getResourceId = lens _getResourceId (\ s a -> s{_getResourceId = a});++-- | Specifies a get integration response request\'s HTTP method.+getHttpMethod :: Lens' GetIntegrationResponse Text+getHttpMethod = lens _getHttpMethod (\ s a -> s{_getHttpMethod = a});++-- | Specifies a get integration response request\'s status code.+getStatusCode :: Lens' GetIntegrationResponse Text+getStatusCode = lens _getStatusCode (\ s a -> s{_getStatusCode = a});++instance AWSRequest GetIntegrationResponse where+        type Rs GetIntegrationResponse = IntegrationResponse+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetIntegrationResponse where+        toHeaders = const mempty++instance ToPath GetIntegrationResponse where+        toPath GetIntegrationResponse'{..}+          = mconcat+              ["/restapis/", toBS _getRestAPIId, "/resources/",+               toBS _getResourceId, "/methods/",+               toBS _getHttpMethod, "/integration/responses/",+               toBS _getStatusCode]++instance ToQuery GetIntegrationResponse where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetMethod.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetMethod+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describe an existing Method resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetMethod.html AWS API Reference> for GetMethod.+module Network.AWS.APIGateway.GetMethod+    (+    -- * Creating a Request+      getMethod+    , GetMethod+    -- * Request Lenses+    , gmmRestAPIId+    , gmmResourceId+    , gmmHttpMethod++    -- * Destructuring the Response+    , method+    , Method+    -- * Response Lenses+    , mMethodResponses+    , mHttpMethod+    , mRequestModels+    , mRequestParameters+    , mAuthorizationType+    , mApiKeyRequired+    , mMethodIntegration+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to describe an existing Method resource.+--+-- /See:/ 'getMethod' smart constructor.+data GetMethod = GetMethod'+    { _gmmRestAPIId  :: !Text+    , _gmmResourceId :: !Text+    , _gmmHttpMethod :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetMethod' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gmmRestAPIId'+--+-- * 'gmmResourceId'+--+-- * 'gmmHttpMethod'+getMethod+    :: Text -- ^ 'gmmRestAPIId'+    -> Text -- ^ 'gmmResourceId'+    -> Text -- ^ 'gmmHttpMethod'+    -> GetMethod+getMethod pRestAPIId_ pResourceId_ pHttpMethod_ =+    GetMethod'+    { _gmmRestAPIId = pRestAPIId_+    , _gmmResourceId = pResourceId_+    , _gmmHttpMethod = pHttpMethod_+    }++-- | The RestApi identifier for the Method resource.+gmmRestAPIId :: Lens' GetMethod Text+gmmRestAPIId = lens _gmmRestAPIId (\ s a -> s{_gmmRestAPIId = a});++-- | The Resource identifier for the Method resource.+gmmResourceId :: Lens' GetMethod Text+gmmResourceId = lens _gmmResourceId (\ s a -> s{_gmmResourceId = a});++-- | Specifies the put method request\'s HTTP method type.+gmmHttpMethod :: Lens' GetMethod Text+gmmHttpMethod = lens _gmmHttpMethod (\ s a -> s{_gmmHttpMethod = a});++instance AWSRequest GetMethod where+        type Rs GetMethod = Method+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetMethod where+        toHeaders = const mempty++instance ToPath GetMethod where+        toPath GetMethod'{..}+          = mconcat+              ["/restapis/", toBS _gmmRestAPIId, "/resources/",+               toBS _gmmResourceId, "/methods/",+               toBS _gmmHttpMethod]++instance ToQuery GetMethod where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetMethodResponse.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetMethodResponse+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a MethodResponse resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetMethodResponse.html AWS API Reference> for GetMethodResponse.+module Network.AWS.APIGateway.GetMethodResponse+    (+    -- * Creating a Request+      getMethodResponse+    , GetMethodResponse+    -- * Request Lenses+    , gmRestAPIId+    , gmResourceId+    , gmHttpMethod+    , gmStatusCode++    -- * Destructuring the Response+    , methodResponse+    , MethodResponse+    -- * Response Lenses+    , mResponseModels+    , mStatusCode+    , mResponseParameters+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to describe a MethodResponse resource.+--+-- /See:/ 'getMethodResponse' smart constructor.+data GetMethodResponse = GetMethodResponse'+    { _gmRestAPIId  :: !Text+    , _gmResourceId :: !Text+    , _gmHttpMethod :: !Text+    , _gmStatusCode :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetMethodResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gmRestAPIId'+--+-- * 'gmResourceId'+--+-- * 'gmHttpMethod'+--+-- * 'gmStatusCode'+getMethodResponse+    :: Text -- ^ 'gmRestAPIId'+    -> Text -- ^ 'gmResourceId'+    -> Text -- ^ 'gmHttpMethod'+    -> Text -- ^ 'gmStatusCode'+    -> GetMethodResponse+getMethodResponse pRestAPIId_ pResourceId_ pHttpMethod_ pStatusCode_ =+    GetMethodResponse'+    { _gmRestAPIId = pRestAPIId_+    , _gmResourceId = pResourceId_+    , _gmHttpMethod = pHttpMethod_+    , _gmStatusCode = pStatusCode_+    }++-- | The RestApi identifier for the MethodResponse resource.+gmRestAPIId :: Lens' GetMethodResponse Text+gmRestAPIId = lens _gmRestAPIId (\ s a -> s{_gmRestAPIId = a});++-- | The Resource identifier for the MethodResponse resource.+gmResourceId :: Lens' GetMethodResponse Text+gmResourceId = lens _gmResourceId (\ s a -> s{_gmResourceId = a});++-- | The HTTP verb identifier for the parent Method resource.+gmHttpMethod :: Lens' GetMethodResponse Text+gmHttpMethod = lens _gmHttpMethod (\ s a -> s{_gmHttpMethod = a});++-- | The status code identifier for the MethodResponse resource.+gmStatusCode :: Lens' GetMethodResponse Text+gmStatusCode = lens _gmStatusCode (\ s a -> s{_gmStatusCode = a});++instance AWSRequest GetMethodResponse where+        type Rs GetMethodResponse = MethodResponse+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetMethodResponse where+        toHeaders = const mempty++instance ToPath GetMethodResponse where+        toPath GetMethodResponse'{..}+          = mconcat+              ["/restapis/", toBS _gmRestAPIId, "/resources/",+               toBS _gmResourceId, "/methods/", toBS _gmHttpMethod,+               "/responses/", toBS _gmStatusCode]++instance ToQuery GetMethodResponse where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetModel.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetModel+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes an existing model defined for a RestApi resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetModel.html AWS API Reference> for GetModel.+module Network.AWS.APIGateway.GetModel+    (+    -- * Creating a Request+      getModel+    , GetModel+    -- * Request Lenses+    , ggFlatten+    , ggRestAPIId+    , ggModelName++    -- * Destructuring the Response+    , model+    , Model+    -- * Response Lenses+    , mSchema+    , mName+    , mId+    , mDescription+    , mContentType+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to list information about a model in an existing RestApi+-- resource.+--+-- /See:/ 'getModel' smart constructor.+data GetModel = GetModel'+    { _ggFlatten   :: !(Maybe Bool)+    , _ggRestAPIId :: !Text+    , _ggModelName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetModel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggFlatten'+--+-- * 'ggRestAPIId'+--+-- * 'ggModelName'+getModel+    :: Text -- ^ 'ggRestAPIId'+    -> Text -- ^ 'ggModelName'+    -> GetModel+getModel pRestAPIId_ pModelName_ =+    GetModel'+    { _ggFlatten = Nothing+    , _ggRestAPIId = pRestAPIId_+    , _ggModelName = pModelName_+    }++-- | Resolves all external model references and returns a flattened model+-- schema.+ggFlatten :: Lens' GetModel (Maybe Bool)+ggFlatten = lens _ggFlatten (\ s a -> s{_ggFlatten = a});++-- | The RestApi identifier under which the Model exists.+ggRestAPIId :: Lens' GetModel Text+ggRestAPIId = lens _ggRestAPIId (\ s a -> s{_ggRestAPIId = a});++-- | The name of the model as an identifier.+ggModelName :: Lens' GetModel Text+ggModelName = lens _ggModelName (\ s a -> s{_ggModelName = a});++instance AWSRequest GetModel where+        type Rs GetModel = Model+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetModel where+        toHeaders = const mempty++instance ToPath GetModel where+        toPath GetModel'{..}+          = mconcat+              ["/restapis/", toBS _ggRestAPIId, "/models/",+               toBS _ggModelName]++instance ToQuery GetModel where+        toQuery GetModel'{..}+          = mconcat ["flatten" =: _ggFlatten]
+ gen/Network/AWS/APIGateway/GetModelTemplate.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetModelTemplate+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates a sample mapping template that can be used to transform a+-- payload into the structure of a model.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetModelTemplate.html AWS API Reference> for GetModelTemplate.+module Network.AWS.APIGateway.GetModelTemplate+    (+    -- * Creating a Request+      getModelTemplate+    , GetModelTemplate+    -- * Request Lenses+    , gmtRestAPIId+    , gmtModelName++    -- * Destructuring the Response+    , getModelTemplateResponse+    , GetModelTemplateResponse+    -- * Response Lenses+    , gmtrsValue+    , gmtrsResponseStatus+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to generate a sample mapping template used to transform the+-- payload.+--+-- /See:/ 'getModelTemplate' smart constructor.+data GetModelTemplate = GetModelTemplate'+    { _gmtRestAPIId :: !Text+    , _gmtModelName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetModelTemplate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gmtRestAPIId'+--+-- * 'gmtModelName'+getModelTemplate+    :: Text -- ^ 'gmtRestAPIId'+    -> Text -- ^ 'gmtModelName'+    -> GetModelTemplate+getModelTemplate pRestAPIId_ pModelName_ =+    GetModelTemplate'+    { _gmtRestAPIId = pRestAPIId_+    , _gmtModelName = pModelName_+    }++-- | The ID of the RestApi under which the model exists.+gmtRestAPIId :: Lens' GetModelTemplate Text+gmtRestAPIId = lens _gmtRestAPIId (\ s a -> s{_gmtRestAPIId = a});++-- | The name of the model for which to generate a template.+gmtModelName :: Lens' GetModelTemplate Text+gmtModelName = lens _gmtModelName (\ s a -> s{_gmtModelName = a});++instance AWSRequest GetModelTemplate where+        type Rs GetModelTemplate = GetModelTemplateResponse+        request = get aPIGateway+        response+          = receiveJSON+              (\ s h x ->+                 GetModelTemplateResponse' <$>+                   (x .?> "value") <*> (pure (fromEnum s)))++instance ToHeaders GetModelTemplate where+        toHeaders = const mempty++instance ToPath GetModelTemplate where+        toPath GetModelTemplate'{..}+          = mconcat+              ["/restapis/", toBS _gmtRestAPIId, "/models/",+               toBS _gmtModelName, "/default_template"]++instance ToQuery GetModelTemplate where+        toQuery = const mempty++-- | Represents a mapping template used to transform a payload.+--+-- /See:/ 'getModelTemplateResponse' smart constructor.+data GetModelTemplateResponse = GetModelTemplateResponse'+    { _gmtrsValue          :: !(Maybe Text)+    , _gmtrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetModelTemplateResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gmtrsValue'+--+-- * 'gmtrsResponseStatus'+getModelTemplateResponse+    :: Int -- ^ 'gmtrsResponseStatus'+    -> GetModelTemplateResponse+getModelTemplateResponse pResponseStatus_ =+    GetModelTemplateResponse'+    { _gmtrsValue = Nothing+    , _gmtrsResponseStatus = pResponseStatus_+    }++-- | The Apache+-- <http://velocity.apache.org/engine/devel/vtl-reference-guide.html Velocity Template Language (VTL)>+-- template content used for the template resource.+gmtrsValue :: Lens' GetModelTemplateResponse (Maybe Text)+gmtrsValue = lens _gmtrsValue (\ s a -> s{_gmtrsValue = a});++-- | The response status code.+gmtrsResponseStatus :: Lens' GetModelTemplateResponse Int+gmtrsResponseStatus = lens _gmtrsResponseStatus (\ s a -> s{_gmtrsResponseStatus = a});
+ gen/Network/AWS/APIGateway/GetModels.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetModels+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes existing Models defined for a RestApi resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetModels.html AWS API Reference> for GetModels.+module Network.AWS.APIGateway.GetModels+    (+    -- * Creating a Request+      getModels+    , GetModels+    -- * Request Lenses+    , gmsLimit+    , gmsPosition+    , gmsRestAPIId++    -- * Destructuring the Response+    , getModelsResponse+    , GetModelsResponse+    -- * Response Lenses+    , gmrsItems+    , gmrsPosition+    , gmrsResponseStatus+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to list existing Models defined for a RestApi resource.+--+-- /See:/ 'getModels' smart constructor.+data GetModels = GetModels'+    { _gmsLimit     :: !(Maybe Int)+    , _gmsPosition  :: !(Maybe Text)+    , _gmsRestAPIId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetModels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gmsLimit'+--+-- * 'gmsPosition'+--+-- * 'gmsRestAPIId'+getModels+    :: Text -- ^ 'gmsRestAPIId'+    -> GetModels+getModels pRestAPIId_ =+    GetModels'+    { _gmsLimit = Nothing+    , _gmsPosition = Nothing+    , _gmsRestAPIId = pRestAPIId_+    }++-- | The maximum number of models in the collection to get information about.+-- The default limit is 25. It should be an integer between 1 - 500.+gmsLimit :: Lens' GetModels (Maybe Int)+gmsLimit = lens _gmsLimit (\ s a -> s{_gmsLimit = a});++-- | The position of the next set of results in the Models resource to get+-- information about.+gmsPosition :: Lens' GetModels (Maybe Text)+gmsPosition = lens _gmsPosition (\ s a -> s{_gmsPosition = a});++-- | The RestApi identifier.+gmsRestAPIId :: Lens' GetModels Text+gmsRestAPIId = lens _gmsRestAPIId (\ s a -> s{_gmsRestAPIId = a});++instance AWSRequest GetModels where+        type Rs GetModels = GetModelsResponse+        request = get aPIGateway+        response+          = receiveJSON+              (\ s h x ->+                 GetModelsResponse' <$>+                   (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>+                     (pure (fromEnum s)))++instance ToHeaders GetModels where+        toHeaders = const mempty++instance ToPath GetModels where+        toPath GetModels'{..}+          = mconcat+              ["/restapis/", toBS _gmsRestAPIId, "/models"]++instance ToQuery GetModels where+        toQuery GetModels'{..}+          = mconcat+              ["limit" =: _gmsLimit, "position" =: _gmsPosition]++-- | Represents a collection of Model resources.+--+-- /See:/ 'getModelsResponse' smart constructor.+data GetModelsResponse = GetModelsResponse'+    { _gmrsItems          :: !(Maybe [Model])+    , _gmrsPosition       :: !(Maybe Text)+    , _gmrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetModelsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gmrsItems'+--+-- * 'gmrsPosition'+--+-- * 'gmrsResponseStatus'+getModelsResponse+    :: Int -- ^ 'gmrsResponseStatus'+    -> GetModelsResponse+getModelsResponse pResponseStatus_ =+    GetModelsResponse'+    { _gmrsItems = Nothing+    , _gmrsPosition = Nothing+    , _gmrsResponseStatus = pResponseStatus_+    }++-- | Gets the current Model resource in the collection.+gmrsItems :: Lens' GetModelsResponse [Model]+gmrsItems = lens _gmrsItems (\ s a -> s{_gmrsItems = a}) . _Default . _Coerce;++-- | Undocumented member.+gmrsPosition :: Lens' GetModelsResponse (Maybe Text)+gmrsPosition = lens _gmrsPosition (\ s a -> s{_gmrsPosition = a});++-- | The response status code.+gmrsResponseStatus :: Lens' GetModelsResponse Int+gmrsResponseStatus = lens _gmrsResponseStatus (\ s a -> s{_gmrsResponseStatus = a});
+ gen/Network/AWS/APIGateway/GetResource.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetResource+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists information about a resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetResource.html AWS API Reference> for GetResource.+module Network.AWS.APIGateway.GetResource+    (+    -- * Creating a Request+      getResource+    , GetResource+    -- * Request Lenses+    , grRestAPIId+    , grResourceId++    -- * Destructuring the Response+    , resource+    , Resource+    -- * Response Lenses+    , rPathPart+    , rPath+    , rId+    , rResourceMethods+    , rParentId+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to list information about a resource.+--+-- /See:/ 'getResource' smart constructor.+data GetResource = GetResource'+    { _grRestAPIId  :: !Text+    , _grResourceId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetResource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grRestAPIId'+--+-- * 'grResourceId'+getResource+    :: Text -- ^ 'grRestAPIId'+    -> Text -- ^ 'grResourceId'+    -> GetResource+getResource pRestAPIId_ pResourceId_ =+    GetResource'+    { _grRestAPIId = pRestAPIId_+    , _grResourceId = pResourceId_+    }++-- | The RestApi identifier for the resource.+grRestAPIId :: Lens' GetResource Text+grRestAPIId = lens _grRestAPIId (\ s a -> s{_grRestAPIId = a});++-- | The identifier for the Resource resource.+grResourceId :: Lens' GetResource Text+grResourceId = lens _grResourceId (\ s a -> s{_grResourceId = a});++instance AWSRequest GetResource where+        type Rs GetResource = Resource+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetResource where+        toHeaders = const mempty++instance ToPath GetResource where+        toPath GetResource'{..}+          = mconcat+              ["/restapis/", toBS _grRestAPIId, "/resources/",+               toBS _grResourceId]++instance ToQuery GetResource where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetResources.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetResources+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists information about a collection of Resource resources.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetResources.html AWS API Reference> for GetResources.+module Network.AWS.APIGateway.GetResources+    (+    -- * Creating a Request+      getResources+    , GetResources+    -- * Request Lenses+    , grsLimit+    , grsPosition+    , grsRestAPIId++    -- * Destructuring the Response+    , getResourcesResponse+    , GetResourcesResponse+    -- * Response Lenses+    , grrsItems+    , grrsPosition+    , grrsResponseStatus+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to list information about a collection of resources.+--+-- /See:/ 'getResources' smart constructor.+data GetResources = GetResources'+    { _grsLimit     :: !(Maybe Int)+    , _grsPosition  :: !(Maybe Text)+    , _grsRestAPIId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetResources' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grsLimit'+--+-- * 'grsPosition'+--+-- * 'grsRestAPIId'+getResources+    :: Text -- ^ 'grsRestAPIId'+    -> GetResources+getResources pRestAPIId_ =+    GetResources'+    { _grsLimit = Nothing+    , _grsPosition = Nothing+    , _grsRestAPIId = pRestAPIId_+    }++-- | The maximum number of Resource resources in the collection to get+-- information about. The default limit is 25. It should be an integer+-- between 1 - 500.+grsLimit :: Lens' GetResources (Maybe Int)+grsLimit = lens _grsLimit (\ s a -> s{_grsLimit = a});++-- | The position of the next set of results in the current Resources+-- resource to get information about.+grsPosition :: Lens' GetResources (Maybe Text)+grsPosition = lens _grsPosition (\ s a -> s{_grsPosition = a});++-- | The RestApi identifier for the Resource.+grsRestAPIId :: Lens' GetResources Text+grsRestAPIId = lens _grsRestAPIId (\ s a -> s{_grsRestAPIId = a});++instance AWSRequest GetResources where+        type Rs GetResources = GetResourcesResponse+        request = get aPIGateway+        response+          = receiveJSON+              (\ s h x ->+                 GetResourcesResponse' <$>+                   (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>+                     (pure (fromEnum s)))++instance ToHeaders GetResources where+        toHeaders = const mempty++instance ToPath GetResources where+        toPath GetResources'{..}+          = mconcat+              ["/restapis/", toBS _grsRestAPIId, "/resources"]++instance ToQuery GetResources where+        toQuery GetResources'{..}+          = mconcat+              ["limit" =: _grsLimit, "position" =: _grsPosition]++-- | Represents a collection of Resource resources.+--+-- /See:/ 'getResourcesResponse' smart constructor.+data GetResourcesResponse = GetResourcesResponse'+    { _grrsItems          :: !(Maybe [Resource])+    , _grrsPosition       :: !(Maybe Text)+    , _grrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetResourcesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grrsItems'+--+-- * 'grrsPosition'+--+-- * 'grrsResponseStatus'+getResourcesResponse+    :: Int -- ^ 'grrsResponseStatus'+    -> GetResourcesResponse+getResourcesResponse pResponseStatus_ =+    GetResourcesResponse'+    { _grrsItems = Nothing+    , _grrsPosition = Nothing+    , _grrsResponseStatus = pResponseStatus_+    }++-- | Gets the current Resource resource in the collection.+grrsItems :: Lens' GetResourcesResponse [Resource]+grrsItems = lens _grrsItems (\ s a -> s{_grrsItems = a}) . _Default . _Coerce;++-- | Undocumented member.+grrsPosition :: Lens' GetResourcesResponse (Maybe Text)+grrsPosition = lens _grrsPosition (\ s a -> s{_grrsPosition = a});++-- | The response status code.+grrsResponseStatus :: Lens' GetResourcesResponse Int+grrsResponseStatus = lens _grrsResponseStatus (\ s a -> s{_grrsResponseStatus = a});
+ gen/Network/AWS/APIGateway/GetRestAPI.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetRestAPI+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the RestApi resource in the collection.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetRestAPI.html AWS API Reference> for GetRestAPI.+module Network.AWS.APIGateway.GetRestAPI+    (+    -- * Creating a Request+      getRestAPI+    , GetRestAPI+    -- * Request Lenses+    , graRestAPIId++    -- * Destructuring the Response+    , restAPI+    , RestAPI+    -- * Response Lenses+    , raCreatedDate+    , raName+    , raId+    , raDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to list an existing RestApi defined for your collection.+--+-- /See:/ 'getRestAPI' smart constructor.+newtype GetRestAPI = GetRestAPI'+    { _graRestAPIId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetRestAPI' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'graRestAPIId'+getRestAPI+    :: Text -- ^ 'graRestAPIId'+    -> GetRestAPI+getRestAPI pRestAPIId_ =+    GetRestAPI'+    { _graRestAPIId = pRestAPIId_+    }++-- | The identifier of the RestApi resource.+graRestAPIId :: Lens' GetRestAPI Text+graRestAPIId = lens _graRestAPIId (\ s a -> s{_graRestAPIId = a});++instance AWSRequest GetRestAPI where+        type Rs GetRestAPI = RestAPI+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetRestAPI where+        toHeaders = const mempty++instance ToPath GetRestAPI where+        toPath GetRestAPI'{..}+          = mconcat ["/restapis/", toBS _graRestAPIId]++instance ToQuery GetRestAPI where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetRestAPIs.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetRestAPIs+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the RestApis resources for your collection.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetRestAPIs.html AWS API Reference> for GetRestAPIs.+module Network.AWS.APIGateway.GetRestAPIs+    (+    -- * Creating a Request+      getRestAPIs+    , GetRestAPIs+    -- * Request Lenses+    , graLimit+    , graPosition++    -- * Destructuring the Response+    , getRestAPIsResponse+    , GetRestAPIsResponse+    -- * Response Lenses+    , grarsItems+    , grarsPosition+    , grarsResponseStatus+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to list existing RestApis defined for your collection.+--+-- /See:/ 'getRestAPIs' smart constructor.+data GetRestAPIs = GetRestAPIs'+    { _graLimit    :: !(Maybe Int)+    , _graPosition :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetRestAPIs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'graLimit'+--+-- * 'graPosition'+getRestAPIs+    :: GetRestAPIs+getRestAPIs =+    GetRestAPIs'+    { _graLimit = Nothing+    , _graPosition = Nothing+    }++-- | The maximum number of RestApi resources in the collection to get+-- information about. The default limit is 25. It should be an integer+-- between 1 - 500.+graLimit :: Lens' GetRestAPIs (Maybe Int)+graLimit = lens _graLimit (\ s a -> s{_graLimit = a});++-- | The position of the current RestApis resource in the collection to get+-- information about.+graPosition :: Lens' GetRestAPIs (Maybe Text)+graPosition = lens _graPosition (\ s a -> s{_graPosition = a});++instance AWSRequest GetRestAPIs where+        type Rs GetRestAPIs = GetRestAPIsResponse+        request = get aPIGateway+        response+          = receiveJSON+              (\ s h x ->+                 GetRestAPIsResponse' <$>+                   (x .?> "item" .!@ mempty) <*> (x .?> "position") <*>+                     (pure (fromEnum s)))++instance ToHeaders GetRestAPIs where+        toHeaders = const mempty++instance ToPath GetRestAPIs where+        toPath = const "/restapis"++instance ToQuery GetRestAPIs where+        toQuery GetRestAPIs'{..}+          = mconcat+              ["limit" =: _graLimit, "position" =: _graPosition]++-- | Contains references to your APIs and links that guide you in ways to+-- interact with your collection. A collection offers a paginated view of+-- your APIs.+--+-- /See:/ 'getRestAPIsResponse' smart constructor.+data GetRestAPIsResponse = GetRestAPIsResponse'+    { _grarsItems          :: !(Maybe [RestAPI])+    , _grarsPosition       :: !(Maybe Text)+    , _grarsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetRestAPIsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grarsItems'+--+-- * 'grarsPosition'+--+-- * 'grarsResponseStatus'+getRestAPIsResponse+    :: Int -- ^ 'grarsResponseStatus'+    -> GetRestAPIsResponse+getRestAPIsResponse pResponseStatus_ =+    GetRestAPIsResponse'+    { _grarsItems = Nothing+    , _grarsPosition = Nothing+    , _grarsResponseStatus = pResponseStatus_+    }++-- | An array of links to the current page of RestApi resources.+grarsItems :: Lens' GetRestAPIsResponse [RestAPI]+grarsItems = lens _grarsItems (\ s a -> s{_grarsItems = a}) . _Default . _Coerce;++-- | Undocumented member.+grarsPosition :: Lens' GetRestAPIsResponse (Maybe Text)+grarsPosition = lens _grarsPosition (\ s a -> s{_grarsPosition = a});++-- | The response status code.+grarsResponseStatus :: Lens' GetRestAPIsResponse Int+grarsResponseStatus = lens _grarsResponseStatus (\ s a -> s{_grarsResponseStatus = a});
+ gen/Network/AWS/APIGateway/GetSDK.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetSDK+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Undocumented operation.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetSDK.html AWS API Reference> for GetSDK.+module Network.AWS.APIGateway.GetSDK+    (+    -- * Creating a Request+      getSDK+    , GetSDK+    -- * Request Lenses+    , gsdkParameters+    , gsdkRestAPIId+    , gsdkStageName+    , gsdkSdkType++    -- * Destructuring the Response+    , getSDKResponse+    , GetSDKResponse+    -- * Response Lenses+    , gsdkrsBody+    , gsdkrsContentDisposition+    , gsdkrsContentType+    , gsdkrsResponseStatus+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'getSDK' smart constructor.+data GetSDK = GetSDK'+    { _gsdkParameters :: !(Maybe (Map Text Text))+    , _gsdkRestAPIId  :: !Text+    , _gsdkStageName  :: !Text+    , _gsdkSdkType    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetSDK' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsdkParameters'+--+-- * 'gsdkRestAPIId'+--+-- * 'gsdkStageName'+--+-- * 'gsdkSdkType'+getSDK+    :: Text -- ^ 'gsdkRestAPIId'+    -> Text -- ^ 'gsdkStageName'+    -> Text -- ^ 'gsdkSdkType'+    -> GetSDK+getSDK pRestAPIId_ pStageName_ pSdkType_ =+    GetSDK'+    { _gsdkParameters = Nothing+    , _gsdkRestAPIId = pRestAPIId_+    , _gsdkStageName = pStageName_+    , _gsdkSdkType = pSdkType_+    }++-- | Undocumented member.+gsdkParameters :: Lens' GetSDK (HashMap Text Text)+gsdkParameters = lens _gsdkParameters (\ s a -> s{_gsdkParameters = a}) . _Default . _Map;++-- | Undocumented member.+gsdkRestAPIId :: Lens' GetSDK Text+gsdkRestAPIId = lens _gsdkRestAPIId (\ s a -> s{_gsdkRestAPIId = a});++-- | Undocumented member.+gsdkStageName :: Lens' GetSDK Text+gsdkStageName = lens _gsdkStageName (\ s a -> s{_gsdkStageName = a});++-- | Undocumented member.+gsdkSdkType :: Lens' GetSDK Text+gsdkSdkType = lens _gsdkSdkType (\ s a -> s{_gsdkSdkType = a});++instance AWSRequest GetSDK where+        type Rs GetSDK = GetSDKResponse+        request = get aPIGateway+        response+          = receiveJSON+              (\ s h x ->+                 GetSDKResponse' <$>+                   (pure (Just x)) <*> (h .#? "Content-Disposition") <*>+                     (h .#? "Content-Type")+                     <*> (pure (fromEnum s)))++instance ToHeaders GetSDK where+        toHeaders = const mempty++instance ToPath GetSDK where+        toPath GetSDK'{..}+          = mconcat+              ["/restapis/", toBS _gsdkRestAPIId, "/stages/",+               toBS _gsdkStageName, "/sdks/", toBS _gsdkSdkType]++instance ToQuery GetSDK where+        toQuery GetSDK'{..}+          = mconcat+              ["parameters" =:+                 toQuery+                   (toQueryMap "entry" "key" "value" <$>+                      _gsdkParameters)]++-- | /See:/ 'getSDKResponse' smart constructor.+data GetSDKResponse = GetSDKResponse'+    { _gsdkrsBody               :: !(Maybe (HashMap Text Value))+    , _gsdkrsContentDisposition :: !(Maybe Text)+    , _gsdkrsContentType        :: !(Maybe Text)+    , _gsdkrsResponseStatus     :: !Int+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetSDKResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsdkrsBody'+--+-- * 'gsdkrsContentDisposition'+--+-- * 'gsdkrsContentType'+--+-- * 'gsdkrsResponseStatus'+getSDKResponse+    :: Int -- ^ 'gsdkrsResponseStatus'+    -> GetSDKResponse+getSDKResponse pResponseStatus_ =+    GetSDKResponse'+    { _gsdkrsBody = Nothing+    , _gsdkrsContentDisposition = Nothing+    , _gsdkrsContentType = Nothing+    , _gsdkrsResponseStatus = pResponseStatus_+    }++-- | Undocumented member.+gsdkrsBody :: Lens' GetSDKResponse (Maybe (HashMap Text Value))+gsdkrsBody = lens _gsdkrsBody (\ s a -> s{_gsdkrsBody = a});++-- | Undocumented member.+gsdkrsContentDisposition :: Lens' GetSDKResponse (Maybe Text)+gsdkrsContentDisposition = lens _gsdkrsContentDisposition (\ s a -> s{_gsdkrsContentDisposition = a});++-- | Undocumented member.+gsdkrsContentType :: Lens' GetSDKResponse (Maybe Text)+gsdkrsContentType = lens _gsdkrsContentType (\ s a -> s{_gsdkrsContentType = a});++-- | The response status code.+gsdkrsResponseStatus :: Lens' GetSDKResponse Int+gsdkrsResponseStatus = lens _gsdkrsResponseStatus (\ s a -> s{_gsdkrsResponseStatus = a});
+ gen/Network/AWS/APIGateway/GetStage.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetStage+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a Stage resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetStage.html AWS API Reference> for GetStage.+module Network.AWS.APIGateway.GetStage+    (+    -- * Creating a Request+      getStage+    , GetStage+    -- * Request Lenses+    , gssRestAPIId+    , gssStageName++    -- * Destructuring the Response+    , stage+    , Stage+    -- * Response Lenses+    , sDeploymentId+    , sClientCertificateId+    , sCreatedDate+    , sCacheClusterStatus+    , sMethodSettings+    , sLastUpdatedDate+    , sCacheClusterSize+    , sCacheClusterEnabled+    , sStageName+    , sDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to get information about a Stage resource.+--+-- /See:/ 'getStage' smart constructor.+data GetStage = GetStage'+    { _gssRestAPIId :: !Text+    , _gssStageName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetStage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gssRestAPIId'+--+-- * 'gssStageName'+getStage+    :: Text -- ^ 'gssRestAPIId'+    -> Text -- ^ 'gssStageName'+    -> GetStage+getStage pRestAPIId_ pStageName_ =+    GetStage'+    { _gssRestAPIId = pRestAPIId_+    , _gssStageName = pStageName_+    }++-- | The identifier of the RestApi resource for the Stage resource to get+-- information about.+gssRestAPIId :: Lens' GetStage Text+gssRestAPIId = lens _gssRestAPIId (\ s a -> s{_gssRestAPIId = a});++-- | The name of the Stage resource to get information about.+gssStageName :: Lens' GetStage Text+gssStageName = lens _gssStageName (\ s a -> s{_gssStageName = a});++instance AWSRequest GetStage where+        type Rs GetStage = Stage+        request = get aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders GetStage where+        toHeaders = const mempty++instance ToPath GetStage where+        toPath GetStage'{..}+          = mconcat+              ["/restapis/", toBS _gssRestAPIId, "/stages/",+               toBS _gssStageName]++instance ToQuery GetStage where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/GetStages.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.GetStages+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about one or more Stage resources.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/GetStages.html AWS API Reference> for GetStages.+module Network.AWS.APIGateway.GetStages+    (+    -- * Creating a Request+      getStages+    , GetStages+    -- * Request Lenses+    , gsDeploymentId+    , gsRestAPIId++    -- * Destructuring the Response+    , getStagesResponse+    , GetStagesResponse+    -- * Response Lenses+    , gsrsItem+    , gsrsResponseStatus+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to get information about one or more Stage+-- resources.+--+-- /See:/ 'getStages' smart constructor.+data GetStages = GetStages'+    { _gsDeploymentId :: !(Maybe Text)+    , _gsRestAPIId    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetStages' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsDeploymentId'+--+-- * 'gsRestAPIId'+getStages+    :: Text -- ^ 'gsRestAPIId'+    -> GetStages+getStages pRestAPIId_ =+    GetStages'+    { _gsDeploymentId = Nothing+    , _gsRestAPIId = pRestAPIId_+    }++-- | The stages\' deployment identifiers.+gsDeploymentId :: Lens' GetStages (Maybe Text)+gsDeploymentId = lens _gsDeploymentId (\ s a -> s{_gsDeploymentId = a});++-- | The stages\' API identifiers.+gsRestAPIId :: Lens' GetStages Text+gsRestAPIId = lens _gsRestAPIId (\ s a -> s{_gsRestAPIId = a});++instance AWSRequest GetStages where+        type Rs GetStages = GetStagesResponse+        request = get aPIGateway+        response+          = receiveJSON+              (\ s h x ->+                 GetStagesResponse' <$>+                   (x .?> "item" .!@ mempty) <*> (pure (fromEnum s)))++instance ToHeaders GetStages where+        toHeaders = const mempty++instance ToPath GetStages where+        toPath GetStages'{..}+          = mconcat+              ["/restapis/", toBS _gsRestAPIId, "/stages"]++instance ToQuery GetStages where+        toQuery GetStages'{..}+          = mconcat ["deploymentId" =: _gsDeploymentId]++-- | A list of Stage resource that are associated with the ApiKey resource.+--+-- /See:/ 'getStagesResponse' smart constructor.+data GetStagesResponse = GetStagesResponse'+    { _gsrsItem           :: !(Maybe [Stage])+    , _gsrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetStagesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsrsItem'+--+-- * 'gsrsResponseStatus'+getStagesResponse+    :: Int -- ^ 'gsrsResponseStatus'+    -> GetStagesResponse+getStagesResponse pResponseStatus_ =+    GetStagesResponse'+    { _gsrsItem = Nothing+    , _gsrsResponseStatus = pResponseStatus_+    }++-- | An individual Stage resource.+gsrsItem :: Lens' GetStagesResponse [Stage]+gsrsItem = lens _gsrsItem (\ s a -> s{_gsrsItem = a}) . _Default . _Coerce;++-- | The response status code.+gsrsResponseStatus :: Lens' GetStagesResponse Int+gsrsResponseStatus = lens _gsrsResponseStatus (\ s a -> s{_gsrsResponseStatus = a});
+ gen/Network/AWS/APIGateway/PutIntegration.hs view
@@ -0,0 +1,200 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.PutIntegration+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Represents a put integration.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/PutIntegration.html AWS API Reference> for PutIntegration.+module Network.AWS.APIGateway.PutIntegration+    (+    -- * Creating a Request+      putIntegration+    , PutIntegration+    -- * Request Lenses+    , pRequestTemplates+    , pCredentials+    , pRequestParameters+    , pUri+    , pCacheNamespace+    , pCacheKeyParameters+    , pRestAPIId+    , pResourceId+    , pHttpMethod+    , pType++    -- * Destructuring the Response+    , integration+    , Integration+    -- * Response Lenses+    , iHttpMethod+    , iRequestTemplates+    , iCredentials+    , iRequestParameters+    , iUri+    , iIntegrationResponses+    , iCacheNamespace+    , iType+    , iCacheKeyParameters+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents a put integration request.+--+-- /See:/ 'putIntegration' smart constructor.+data PutIntegration = PutIntegration'+    { _pRequestTemplates   :: !(Maybe (Map Text Text))+    , _pCredentials        :: !(Maybe Text)+    , _pRequestParameters  :: !(Maybe (Map Text Text))+    , _pUri                :: !(Maybe Text)+    , _pCacheNamespace     :: !(Maybe Text)+    , _pCacheKeyParameters :: !(Maybe [Text])+    , _pRestAPIId          :: !Text+    , _pResourceId         :: !Text+    , _pHttpMethod         :: !Text+    , _pType               :: !IntegrationType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutIntegration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pRequestTemplates'+--+-- * 'pCredentials'+--+-- * 'pRequestParameters'+--+-- * 'pUri'+--+-- * 'pCacheNamespace'+--+-- * 'pCacheKeyParameters'+--+-- * 'pRestAPIId'+--+-- * 'pResourceId'+--+-- * 'pHttpMethod'+--+-- * 'pType'+putIntegration+    :: Text -- ^ 'pRestAPIId'+    -> Text -- ^ 'pResourceId'+    -> Text -- ^ 'pHttpMethod'+    -> IntegrationType -- ^ 'pType'+    -> PutIntegration+putIntegration pRestAPIId_ pResourceId_ pHttpMethod_ pType_ =+    PutIntegration'+    { _pRequestTemplates = Nothing+    , _pCredentials = Nothing+    , _pRequestParameters = Nothing+    , _pUri = Nothing+    , _pCacheNamespace = Nothing+    , _pCacheKeyParameters = Nothing+    , _pRestAPIId = pRestAPIId_+    , _pResourceId = pResourceId_+    , _pHttpMethod = pHttpMethod_+    , _pType = pType_+    }++-- | Specifies the templates used to transform the method request body.+-- Request templates are represented as a key\/value map, with a+-- content-type as the key and a template as the value.+pRequestTemplates :: Lens' PutIntegration (HashMap Text Text)+pRequestTemplates = lens _pRequestTemplates (\ s a -> s{_pRequestTemplates = a}) . _Default . _Map;++-- | Specifies whether credentials are required for a put integration.+pCredentials :: Lens' PutIntegration (Maybe Text)+pCredentials = lens _pCredentials (\ s a -> s{_pCredentials = a});++-- | Represents request parameters that are sent with the backend request.+-- Request parameters are represented as a key\/value map, with a+-- destination as the key and a source as the value. A source must match an+-- existing method request parameter, or a static value. Static values must+-- be enclosed with single quotes, and be pre-encoded based on their+-- destination in the request. The destination must match the pattern+-- 'integration.request.{location}.{name}', where 'location' is either+-- querystring, path, or header. 'name' must be a valid, unique parameter+-- name.+pRequestParameters :: Lens' PutIntegration (HashMap Text Text)+pRequestParameters = lens _pRequestParameters (\ s a -> s{_pRequestParameters = a}) . _Default . _Map;++-- | Specifies a put integration input\'s Uniform Resource Identifier (URI).+pUri :: Lens' PutIntegration (Maybe Text)+pUri = lens _pUri (\ s a -> s{_pUri = a});++-- | Specifies a put integration input\'s cache namespace.+pCacheNamespace :: Lens' PutIntegration (Maybe Text)+pCacheNamespace = lens _pCacheNamespace (\ s a -> s{_pCacheNamespace = a});++-- | Specifies a put integration input\'s cache key parameters.+pCacheKeyParameters :: Lens' PutIntegration [Text]+pCacheKeyParameters = lens _pCacheKeyParameters (\ s a -> s{_pCacheKeyParameters = a}) . _Default . _Coerce;++-- | Specifies a put integration request\'s API identifier.+pRestAPIId :: Lens' PutIntegration Text+pRestAPIId = lens _pRestAPIId (\ s a -> s{_pRestAPIId = a});++-- | Specifies a put integration request\'s resource ID.+pResourceId :: Lens' PutIntegration Text+pResourceId = lens _pResourceId (\ s a -> s{_pResourceId = a});++-- | Specifies a put integration HTTP method.+pHttpMethod :: Lens' PutIntegration Text+pHttpMethod = lens _pHttpMethod (\ s a -> s{_pHttpMethod = a});++-- | Specifies a put integration input\'s type.+pType :: Lens' PutIntegration IntegrationType+pType = lens _pType (\ s a -> s{_pType = a});++instance AWSRequest PutIntegration where+        type Rs PutIntegration = Integration+        request = putJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders PutIntegration where+        toHeaders = const mempty++instance ToJSON PutIntegration where+        toJSON PutIntegration'{..}+          = object+              (catMaybes+                 [("requestTemplates" .=) <$> _pRequestTemplates,+                  ("credentials" .=) <$> _pCredentials,+                  ("requestParameters" .=) <$> _pRequestParameters,+                  ("uri" .=) <$> _pUri,+                  ("cacheNamespace" .=) <$> _pCacheNamespace,+                  ("cacheKeyParameters" .=) <$> _pCacheKeyParameters,+                  Just ("httpMethod" .= _pHttpMethod),+                  Just ("type" .= _pType)])++instance ToPath PutIntegration where+        toPath PutIntegration'{..}+          = mconcat+              ["/restapis/", toBS _pRestAPIId, "/resources/",+               toBS _pResourceId, "/methods/", toBS _pHttpMethod,+               "/integration"]++instance ToQuery PutIntegration where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/PutIntegrationResponse.hs view
@@ -0,0 +1,160 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.PutIntegrationResponse+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Represents a put integration.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/PutIntegrationResponse.html AWS API Reference> for PutIntegrationResponse.+module Network.AWS.APIGateway.PutIntegrationResponse+    (+    -- * Creating a Request+      putIntegrationResponse+    , PutIntegrationResponse+    -- * Request Lenses+    , piResponseTemplates+    , piSelectionPattern+    , piResponseParameters+    , piRestAPIId+    , piResourceId+    , piHttpMethod+    , piStatusCode++    -- * Destructuring the Response+    , integrationResponse+    , IntegrationResponse+    -- * Response Lenses+    , iResponseTemplates+    , iSelectionPattern+    , iStatusCode+    , iResponseParameters+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents a put integration response request.+--+-- /See:/ 'putIntegrationResponse' smart constructor.+data PutIntegrationResponse = PutIntegrationResponse'+    { _piResponseTemplates  :: !(Maybe (Map Text Text))+    , _piSelectionPattern   :: !(Maybe Text)+    , _piResponseParameters :: !(Maybe (Map Text Text))+    , _piRestAPIId          :: !Text+    , _piResourceId         :: !Text+    , _piHttpMethod         :: !Text+    , _piStatusCode         :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutIntegrationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piResponseTemplates'+--+-- * 'piSelectionPattern'+--+-- * 'piResponseParameters'+--+-- * 'piRestAPIId'+--+-- * 'piResourceId'+--+-- * 'piHttpMethod'+--+-- * 'piStatusCode'+putIntegrationResponse+    :: Text -- ^ 'piRestAPIId'+    -> Text -- ^ 'piResourceId'+    -> Text -- ^ 'piHttpMethod'+    -> Text -- ^ 'piStatusCode'+    -> PutIntegrationResponse+putIntegrationResponse pRestAPIId_ pResourceId_ pHttpMethod_ pStatusCode_ =+    PutIntegrationResponse'+    { _piResponseTemplates = Nothing+    , _piSelectionPattern = Nothing+    , _piResponseParameters = Nothing+    , _piRestAPIId = pRestAPIId_+    , _piResourceId = pResourceId_+    , _piHttpMethod = pHttpMethod_+    , _piStatusCode = pStatusCode_+    }++-- | Specifies a put integration response\'s templates.+piResponseTemplates :: Lens' PutIntegrationResponse (HashMap Text Text)+piResponseTemplates = lens _piResponseTemplates (\ s a -> s{_piResponseTemplates = a}) . _Default . _Map;++-- | Specifies the selection pattern of a put integration response.+piSelectionPattern :: Lens' PutIntegrationResponse (Maybe Text)+piSelectionPattern = lens _piSelectionPattern (\ s a -> s{_piSelectionPattern = a});++-- | Represents response parameters that can be read from the backend+-- response. Response parameters are represented as a key\/value map, with+-- a destination as the key and a source as the value. A destination must+-- match an existing response parameter in the Method. The source can be a+-- header from the backend response, or a static value. Static values are+-- specified using enclosing single quotes, and backend response headers+-- can be read using the pattern 'integration.response.header.{name}'.+piResponseParameters :: Lens' PutIntegrationResponse (HashMap Text Text)+piResponseParameters = lens _piResponseParameters (\ s a -> s{_piResponseParameters = a}) . _Default . _Map;++-- | Specifies a put integration response request\'s API identifier.+piRestAPIId :: Lens' PutIntegrationResponse Text+piRestAPIId = lens _piRestAPIId (\ s a -> s{_piRestAPIId = a});++-- | Specifies a put integration response request\'s resource identifier.+piResourceId :: Lens' PutIntegrationResponse Text+piResourceId = lens _piResourceId (\ s a -> s{_piResourceId = a});++-- | Specifies a put integration response request\'s HTTP method.+piHttpMethod :: Lens' PutIntegrationResponse Text+piHttpMethod = lens _piHttpMethod (\ s a -> s{_piHttpMethod = a});++-- | Specifies the status code that is used to map the integration response+-- to an existing MethodResponse.+piStatusCode :: Lens' PutIntegrationResponse Text+piStatusCode = lens _piStatusCode (\ s a -> s{_piStatusCode = a});++instance AWSRequest PutIntegrationResponse where+        type Rs PutIntegrationResponse = IntegrationResponse+        request = putJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders PutIntegrationResponse where+        toHeaders = const mempty++instance ToJSON PutIntegrationResponse where+        toJSON PutIntegrationResponse'{..}+          = object+              (catMaybes+                 [("responseTemplates" .=) <$> _piResponseTemplates,+                  ("selectionPattern" .=) <$> _piSelectionPattern,+                  ("responseParameters" .=) <$> _piResponseParameters])++instance ToPath PutIntegrationResponse where+        toPath PutIntegrationResponse'{..}+          = mconcat+              ["/restapis/", toBS _piRestAPIId, "/resources/",+               toBS _piResourceId, "/methods/", toBS _piHttpMethod,+               "/integration/responses/", toBS _piStatusCode]++instance ToQuery PutIntegrationResponse where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/PutMethod.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.PutMethod+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Add a method to an existing Resource resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/PutMethod.html AWS API Reference> for PutMethod.+module Network.AWS.APIGateway.PutMethod+    (+    -- * Creating a Request+      putMethod+    , PutMethod+    -- * Request Lenses+    , putRequestModels+    , putRequestParameters+    , putApiKeyRequired+    , putRestAPIId+    , putResourceId+    , putHttpMethod+    , putAuthorizationType++    -- * Destructuring the Response+    , method+    , Method+    -- * Response Lenses+    , mMethodResponses+    , mHttpMethod+    , mRequestModels+    , mRequestParameters+    , mAuthorizationType+    , mApiKeyRequired+    , mMethodIntegration+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to add a method to an existing Resource resource.+--+-- /See:/ 'putMethod' smart constructor.+data PutMethod = PutMethod'+    { _putRequestModels     :: !(Maybe (Map Text Text))+    , _putRequestParameters :: !(Maybe (Map Text Bool))+    , _putApiKeyRequired    :: !(Maybe Bool)+    , _putRestAPIId         :: !Text+    , _putResourceId        :: !Text+    , _putHttpMethod        :: !Text+    , _putAuthorizationType :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutMethod' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'putRequestModels'+--+-- * 'putRequestParameters'+--+-- * 'putApiKeyRequired'+--+-- * 'putRestAPIId'+--+-- * 'putResourceId'+--+-- * 'putHttpMethod'+--+-- * 'putAuthorizationType'+putMethod+    :: Text -- ^ 'putRestAPIId'+    -> Text -- ^ 'putResourceId'+    -> Text -- ^ 'putHttpMethod'+    -> Text -- ^ 'putAuthorizationType'+    -> PutMethod+putMethod pRestAPIId_ pResourceId_ pHttpMethod_ pAuthorizationType_ =+    PutMethod'+    { _putRequestModels = Nothing+    , _putRequestParameters = Nothing+    , _putApiKeyRequired = Nothing+    , _putRestAPIId = pRestAPIId_+    , _putResourceId = pResourceId_+    , _putHttpMethod = pHttpMethod_+    , _putAuthorizationType = pAuthorizationType_+    }++-- | Specifies the Model resources used for the request\'s content type.+-- Request models are represented as a key\/value map, with a content type+-- as the key and a Model name as the value.+putRequestModels :: Lens' PutMethod (HashMap Text Text)+putRequestModels = lens _putRequestModels (\ s a -> s{_putRequestModels = a}) . _Default . _Map;++-- | Represents requests parameters that are sent with the backend request.+-- Request parameters are represented as a key\/value map, with a+-- destination as the key and a source as the value. A source must match an+-- existing method request parameter, or a static value. Static values must+-- be enclosed with single quotes, and be pre-encoded based on their+-- destination in the request. The destination must match the pattern+-- 'integration.request.{location}.{name}', where 'location' is either+-- querystring, path, or header. 'name' must be a valid, unique parameter+-- name.+putRequestParameters :: Lens' PutMethod (HashMap Text Bool)+putRequestParameters = lens _putRequestParameters (\ s a -> s{_putRequestParameters = a}) . _Default . _Map;++-- | Specifies whether the method required a valid ApiKey.+putApiKeyRequired :: Lens' PutMethod (Maybe Bool)+putApiKeyRequired = lens _putApiKeyRequired (\ s a -> s{_putApiKeyRequired = a});++-- | The RestApi identifier for the new Method resource.+putRestAPIId :: Lens' PutMethod Text+putRestAPIId = lens _putRestAPIId (\ s a -> s{_putRestAPIId = a});++-- | The Resource identifier for the new Method resource.+putResourceId :: Lens' PutMethod Text+putResourceId = lens _putResourceId (\ s a -> s{_putResourceId = a});++-- | Specifies the put method request\'s HTTP method type.+putHttpMethod :: Lens' PutMethod Text+putHttpMethod = lens _putHttpMethod (\ s a -> s{_putHttpMethod = a});++-- | Specifies the type of authorization used for the method.+putAuthorizationType :: Lens' PutMethod Text+putAuthorizationType = lens _putAuthorizationType (\ s a -> s{_putAuthorizationType = a});++instance AWSRequest PutMethod where+        type Rs PutMethod = Method+        request = putJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders PutMethod where+        toHeaders = const mempty++instance ToJSON PutMethod where+        toJSON PutMethod'{..}+          = object+              (catMaybes+                 [("requestModels" .=) <$> _putRequestModels,+                  ("requestParameters" .=) <$> _putRequestParameters,+                  ("apiKeyRequired" .=) <$> _putApiKeyRequired,+                  Just ("authorizationType" .= _putAuthorizationType)])++instance ToPath PutMethod where+        toPath PutMethod'{..}+          = mconcat+              ["/restapis/", toBS _putRestAPIId, "/resources/",+               toBS _putResourceId, "/methods/",+               toBS _putHttpMethod]++instance ToQuery PutMethod where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/PutMethodResponse.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.PutMethodResponse+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a MethodResponse to an existing Method resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/PutMethodResponse.html AWS API Reference> for PutMethodResponse.+module Network.AWS.APIGateway.PutMethodResponse+    (+    -- * Creating a Request+      putMethodResponse+    , PutMethodResponse+    -- * Request Lenses+    , pmResponseModels+    , pmResponseParameters+    , pmRestAPIId+    , pmResourceId+    , pmHttpMethod+    , pmStatusCode++    -- * Destructuring the Response+    , methodResponse+    , MethodResponse+    -- * Response Lenses+    , mResponseModels+    , mStatusCode+    , mResponseParameters+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to add a MethodResponse to an existing Method resource.+--+-- /See:/ 'putMethodResponse' smart constructor.+data PutMethodResponse = PutMethodResponse'+    { _pmResponseModels     :: !(Maybe (Map Text Text))+    , _pmResponseParameters :: !(Maybe (Map Text Bool))+    , _pmRestAPIId          :: !Text+    , _pmResourceId         :: !Text+    , _pmHttpMethod         :: !Text+    , _pmStatusCode         :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutMethodResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmResponseModels'+--+-- * 'pmResponseParameters'+--+-- * 'pmRestAPIId'+--+-- * 'pmResourceId'+--+-- * 'pmHttpMethod'+--+-- * 'pmStatusCode'+putMethodResponse+    :: Text -- ^ 'pmRestAPIId'+    -> Text -- ^ 'pmResourceId'+    -> Text -- ^ 'pmHttpMethod'+    -> Text -- ^ 'pmStatusCode'+    -> PutMethodResponse+putMethodResponse pRestAPIId_ pResourceId_ pHttpMethod_ pStatusCode_ =+    PutMethodResponse'+    { _pmResponseModels = Nothing+    , _pmResponseParameters = Nothing+    , _pmRestAPIId = pRestAPIId_+    , _pmResourceId = pResourceId_+    , _pmHttpMethod = pHttpMethod_+    , _pmStatusCode = pStatusCode_+    }++-- | Specifies the Model resources used for the response\'s content type.+-- Response models are represented as a key\/value map, with a content type+-- as the key and a Model name as the value.+pmResponseModels :: Lens' PutMethodResponse (HashMap Text Text)+pmResponseModels = lens _pmResponseModels (\ s a -> s{_pmResponseModels = a}) . _Default . _Map;++-- | Represents response parameters that can be sent back to the caller by+-- Amazon API Gateway. Response parameters are represented as a key\/value+-- map, with a destination as the key and a Boolean flag as the value. The+-- Boolean flag is used to specify whether the parameter is required. A+-- destination must match the pattern 'method.response.header.{name}',+-- where 'name' is a valid, unique header name. Destinations specified here+-- are available to the integration for mapping from integration response+-- parameters.+pmResponseParameters :: Lens' PutMethodResponse (HashMap Text Bool)+pmResponseParameters = lens _pmResponseParameters (\ s a -> s{_pmResponseParameters = a}) . _Default . _Map;++-- | The RestApi identifier for the Method resource.+pmRestAPIId :: Lens' PutMethodResponse Text+pmRestAPIId = lens _pmRestAPIId (\ s a -> s{_pmRestAPIId = a});++-- | The Resource identifier for the Method resource.+pmResourceId :: Lens' PutMethodResponse Text+pmResourceId = lens _pmResourceId (\ s a -> s{_pmResourceId = a});++-- | The HTTP verb that identifies the Method resource.+pmHttpMethod :: Lens' PutMethodResponse Text+pmHttpMethod = lens _pmHttpMethod (\ s a -> s{_pmHttpMethod = a});++-- | The method response\'s status code.+pmStatusCode :: Lens' PutMethodResponse Text+pmStatusCode = lens _pmStatusCode (\ s a -> s{_pmStatusCode = a});++instance AWSRequest PutMethodResponse where+        type Rs PutMethodResponse = MethodResponse+        request = putJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders PutMethodResponse where+        toHeaders = const mempty++instance ToJSON PutMethodResponse where+        toJSON PutMethodResponse'{..}+          = object+              (catMaybes+                 [("responseModels" .=) <$> _pmResponseModels,+                  ("responseParameters" .=) <$> _pmResponseParameters])++instance ToPath PutMethodResponse where+        toPath PutMethodResponse'{..}+          = mconcat+              ["/restapis/", toBS _pmRestAPIId, "/resources/",+               toBS _pmResourceId, "/methods/", toBS _pmHttpMethod,+               "/responses/", toBS _pmStatusCode]++instance ToQuery PutMethodResponse where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/TestInvokeMethod.hs view
@@ -0,0 +1,226 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.TestInvokeMethod+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Undocumented operation.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/TestInvokeMethod.html AWS API Reference> for TestInvokeMethod.+module Network.AWS.APIGateway.TestInvokeMethod+    (+    -- * Creating a Request+      testInvokeMethod+    , TestInvokeMethod+    -- * Request Lenses+    , timPathWithQueryString+    , timBody+    , timClientCertificateId+    , timHeaders+    , timRestAPIId+    , timResourceId+    , timHttpMethod++    -- * Destructuring the Response+    , testInvokeMethodResponse+    , TestInvokeMethodResponse+    -- * Response Lenses+    , timrsLog+    , timrsStatus+    , timrsBody+    , timrsLatency+    , timrsHeaders+    , timrsResponseStatus+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'testInvokeMethod' smart constructor.+data TestInvokeMethod = TestInvokeMethod'+    { _timPathWithQueryString :: !(Maybe Text)+    , _timBody                :: !(Maybe Text)+    , _timClientCertificateId :: !(Maybe Text)+    , _timHeaders             :: !(Maybe (Map Text Text))+    , _timRestAPIId           :: !Text+    , _timResourceId          :: !Text+    , _timHttpMethod          :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestInvokeMethod' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'timPathWithQueryString'+--+-- * 'timBody'+--+-- * 'timClientCertificateId'+--+-- * 'timHeaders'+--+-- * 'timRestAPIId'+--+-- * 'timResourceId'+--+-- * 'timHttpMethod'+testInvokeMethod+    :: Text -- ^ 'timRestAPIId'+    -> Text -- ^ 'timResourceId'+    -> Text -- ^ 'timHttpMethod'+    -> TestInvokeMethod+testInvokeMethod pRestAPIId_ pResourceId_ pHttpMethod_ =+    TestInvokeMethod'+    { _timPathWithQueryString = Nothing+    , _timBody = Nothing+    , _timClientCertificateId = Nothing+    , _timHeaders = Nothing+    , _timRestAPIId = pRestAPIId_+    , _timResourceId = pResourceId_+    , _timHttpMethod = pHttpMethod_+    }++-- | Undocumented member.+timPathWithQueryString :: Lens' TestInvokeMethod (Maybe Text)+timPathWithQueryString = lens _timPathWithQueryString (\ s a -> s{_timPathWithQueryString = a});++-- | Undocumented member.+timBody :: Lens' TestInvokeMethod (Maybe Text)+timBody = lens _timBody (\ s a -> s{_timBody = a});++-- | Undocumented member.+timClientCertificateId :: Lens' TestInvokeMethod (Maybe Text)+timClientCertificateId = lens _timClientCertificateId (\ s a -> s{_timClientCertificateId = a});++-- | Undocumented member.+timHeaders :: Lens' TestInvokeMethod (HashMap Text Text)+timHeaders = lens _timHeaders (\ s a -> s{_timHeaders = a}) . _Default . _Map;++-- | Undocumented member.+timRestAPIId :: Lens' TestInvokeMethod Text+timRestAPIId = lens _timRestAPIId (\ s a -> s{_timRestAPIId = a});++-- | Undocumented member.+timResourceId :: Lens' TestInvokeMethod Text+timResourceId = lens _timResourceId (\ s a -> s{_timResourceId = a});++-- | Undocumented member.+timHttpMethod :: Lens' TestInvokeMethod Text+timHttpMethod = lens _timHttpMethod (\ s a -> s{_timHttpMethod = a});++instance AWSRequest TestInvokeMethod where+        type Rs TestInvokeMethod = TestInvokeMethodResponse+        request = postJSON aPIGateway+        response+          = receiveJSON+              (\ s h x ->+                 TestInvokeMethodResponse' <$>+                   (x .?> "log") <*> (x .?> "status") <*> (x .?> "body")+                     <*> (x .?> "latency")+                     <*> (x .?> "headers" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance ToHeaders TestInvokeMethod where+        toHeaders = const mempty++instance ToJSON TestInvokeMethod where+        toJSON TestInvokeMethod'{..}+          = object+              (catMaybes+                 [("pathWithQueryString" .=) <$>+                    _timPathWithQueryString,+                  ("body" .=) <$> _timBody,+                  ("clientCertificateId" .=) <$>+                    _timClientCertificateId,+                  ("headers" .=) <$> _timHeaders])++instance ToPath TestInvokeMethod where+        toPath TestInvokeMethod'{..}+          = mconcat+              ["/restapis/", toBS _timRestAPIId, "/resources/",+               toBS _timResourceId, "/methods/",+               toBS _timHttpMethod]++instance ToQuery TestInvokeMethod where+        toQuery = const mempty++-- | Represents the response of the test invoke request in HTTP method.+--+-- /See:/ 'testInvokeMethodResponse' smart constructor.+data TestInvokeMethodResponse = TestInvokeMethodResponse'+    { _timrsLog            :: !(Maybe Text)+    , _timrsStatus         :: !(Maybe Int)+    , _timrsBody           :: !(Maybe Text)+    , _timrsLatency        :: !(Maybe Integer)+    , _timrsHeaders        :: !(Maybe (Map Text Text))+    , _timrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestInvokeMethodResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'timrsLog'+--+-- * 'timrsStatus'+--+-- * 'timrsBody'+--+-- * 'timrsLatency'+--+-- * 'timrsHeaders'+--+-- * 'timrsResponseStatus'+testInvokeMethodResponse+    :: Int -- ^ 'timrsResponseStatus'+    -> TestInvokeMethodResponse+testInvokeMethodResponse pResponseStatus_ =+    TestInvokeMethodResponse'+    { _timrsLog = Nothing+    , _timrsStatus = Nothing+    , _timrsBody = Nothing+    , _timrsLatency = Nothing+    , _timrsHeaders = Nothing+    , _timrsResponseStatus = pResponseStatus_+    }++-- | The Amazon API Gateway execution log for the test invoke request.+timrsLog :: Lens' TestInvokeMethodResponse (Maybe Text)+timrsLog = lens _timrsLog (\ s a -> s{_timrsLog = a});++-- | The HTTP status code.+timrsStatus :: Lens' TestInvokeMethodResponse (Maybe Int)+timrsStatus = lens _timrsStatus (\ s a -> s{_timrsStatus = a});++-- | The body of HTTP response.+timrsBody :: Lens' TestInvokeMethodResponse (Maybe Text)+timrsBody = lens _timrsBody (\ s a -> s{_timrsBody = a});++-- | The execution latency of the test invoke request.+timrsLatency :: Lens' TestInvokeMethodResponse (Maybe Integer)+timrsLatency = lens _timrsLatency (\ s a -> s{_timrsLatency = a});++-- | The headers of HTTP response.+timrsHeaders :: Lens' TestInvokeMethodResponse (HashMap Text Text)+timrsHeaders = lens _timrsHeaders (\ s a -> s{_timrsHeaders = a}) . _Default . _Map;++-- | The response status code.+timrsResponseStatus :: Lens' TestInvokeMethodResponse Int+timrsResponseStatus = lens _timrsResponseStatus (\ s a -> s{_timrsResponseStatus = a});
+ gen/Network/AWS/APIGateway/Types.hs view
@@ -0,0 +1,275 @@+{-# LANGUAGE OverloadedStrings #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.Types+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.APIGateway.Types+    (+    -- * Service Configuration+      aPIGateway++    -- * Errors+    , _ConflictException+    , _NotFoundException+    , _TooManyRequestsException+    , _ServiceUnavailableException+    , _UnauthorizedException+    , _BadRequestException+    , _LimitExceededException++    -- * CacheClusterSize+    , CacheClusterSize (..)++    -- * CacheClusterStatus+    , CacheClusterStatus (..)++    -- * IntegrationType+    , IntegrationType (..)++    -- * Op+    , Op (..)++    -- * APIKey+    , APIKey+    , apiKey+    , akEnabled+    , akCreatedDate+    , akName+    , akId+    , akStageKeys+    , akLastUpdatedDate+    , akDescription++    -- * Account+    , Account+    , account+    , aCloudwatchRoleARN+    , aThrottleSettings++    -- * BasePathMapping+    , BasePathMapping+    , basePathMapping+    , bpmStage+    , bpmBasePath+    , bpmRestAPIId++    -- * ClientCertificate+    , ClientCertificate+    , clientCertificate+    , ccPemEncodedCertificate+    , ccClientCertificateId+    , ccCreatedDate+    , ccExpirationDate+    , ccDescription++    -- * Deployment+    , Deployment+    , deployment+    , dApiSummary+    , dCreatedDate+    , dId+    , dDescription++    -- * DomainName+    , DomainName+    , domainName+    , dnCertificateName+    , dnDomainName+    , dnCertificateUploadDate+    , dnDistributionDomainName++    -- * Integration+    , Integration+    , integration+    , iHttpMethod+    , iRequestTemplates+    , iCredentials+    , iRequestParameters+    , iUri+    , iIntegrationResponses+    , iCacheNamespace+    , iType+    , iCacheKeyParameters++    -- * IntegrationResponse+    , IntegrationResponse+    , integrationResponse+    , iResponseTemplates+    , iSelectionPattern+    , iStatusCode+    , iResponseParameters++    -- * Method+    , Method+    , method+    , mMethodResponses+    , mHttpMethod+    , mRequestModels+    , mRequestParameters+    , mAuthorizationType+    , mApiKeyRequired+    , mMethodIntegration++    -- * MethodResponse+    , MethodResponse+    , methodResponse+    , mResponseModels+    , mStatusCode+    , mResponseParameters++    -- * MethodSetting+    , MethodSetting+    , methodSetting+    , msCacheTtlInSeconds+    , msDataTraceEnabled+    , msThrottlingBurstLimit+    , msCacheDataEncrypted+    , msLoggingLevel+    , msCachingEnabled+    , msMetricsEnabled+    , msThrottlingRateLimit++    -- * MethodSnapshot+    , MethodSnapshot+    , methodSnapshot+    , msAuthorizationType+    , msApiKeyRequired++    -- * Model+    , Model+    , model+    , mSchema+    , mName+    , mId+    , mDescription+    , mContentType++    -- * PatchOperation+    , PatchOperation+    , patchOperation+    , poOp+    , poPath+    , poValue+    , poFrom++    -- * Resource+    , Resource+    , resource+    , rPathPart+    , rPath+    , rId+    , rResourceMethods+    , rParentId++    -- * RestAPI+    , RestAPI+    , restAPI+    , raCreatedDate+    , raName+    , raId+    , raDescription++    -- * Stage+    , Stage+    , stage+    , sDeploymentId+    , sClientCertificateId+    , sCreatedDate+    , sCacheClusterStatus+    , sMethodSettings+    , sLastUpdatedDate+    , sCacheClusterSize+    , sCacheClusterEnabled+    , sStageName+    , sDescription++    -- * StageKey+    , StageKey+    , stageKey+    , skRestAPIId+    , skStageName++    -- * ThrottleSettings+    , ThrottleSettings+    , throttleSettings+    , tsBurstLimit+    , tsRateLimit+    ) where++import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.APIGateway.Types.Sum+import           Network.AWS.Prelude+import           Network.AWS.Sign.V4++-- | API version '2015-07-09' of the Amazon API Gateway SDK configuration.+aPIGateway :: Service+aPIGateway =+    Service+    { _svcAbbrev = "APIGateway"+    , _svcSigner = v4+    , _svcPrefix = "apigateway"+    , _svcVersion = "2015-07-09"+    , _svcEndpoint = defaultEndpoint aPIGateway+    , _svcTimeout = Just 70+    , _svcCheck = statusSuccess+    , _svcError = parseJSONError+    , _svcRetry = retry+    }+  where+    retry =+        Exponential+        { _retryBase = 5.0e-2+        , _retryGrowth = 2+        , _retryAttempts = 5+        , _retryCheck = check+        }+    check e+      | has (hasCode "ThrottlingException" . hasStatus 400) e =+          Just "throttling_exception"+      | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+      | has (hasStatus 503) e = Just "service_unavailable"+      | has (hasStatus 500) e = Just "general_server_error"+      | has (hasStatus 509) e = Just "limit_exceeded"+      | otherwise = Nothing++-- | Prism for ConflictException' errors.+_ConflictException :: AsError a => Getting (First ServiceError) a ServiceError+_ConflictException =+    _ServiceError . hasStatus 409 . hasCode "ConflictException"++-- | Prism for NotFoundException' errors.+_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_NotFoundException =+    _ServiceError . hasStatus 404 . hasCode "NotFoundException"++-- | Prism for TooManyRequestsException' errors.+_TooManyRequestsException :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyRequestsException =+    _ServiceError . hasStatus 429 . hasCode "TooManyRequestsException"++-- | Prism for ServiceUnavailableException' errors.+_ServiceUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError+_ServiceUnavailableException =+    _ServiceError . hasStatus 503 . hasCode "ServiceUnavailableException"++-- | Prism for UnauthorizedException' errors.+_UnauthorizedException :: AsError a => Getting (First ServiceError) a ServiceError+_UnauthorizedException =+    _ServiceError . hasStatus 401 . hasCode "UnauthorizedException"++-- | Prism for BadRequestException' errors.+_BadRequestException :: AsError a => Getting (First ServiceError) a ServiceError+_BadRequestException =+    _ServiceError . hasStatus 400 . hasCode "BadRequestException"++-- | Prism for LimitExceededException' errors.+_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_LimitExceededException =+    _ServiceError . hasStatus 429 . hasCode "LimitExceededException"
+ gen/Network/AWS/APIGateway/Types/Product.hs view
@@ -0,0 +1,1336 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.Types.Product+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.APIGateway.Types.Product where++import           Network.AWS.APIGateway.Types.Sum+import           Network.AWS.Prelude++-- | A resource that can be distributed to callers for executing Method+-- resources that require an API key. API keys can be mapped to any Stage+-- on any RestApi, which indicates that the callers with the API key can+-- make requests to that stage.+--+-- /See:/ 'apiKey' smart constructor.+data APIKey = APIKey'+    { _akEnabled         :: !(Maybe Bool)+    , _akCreatedDate     :: !(Maybe POSIX)+    , _akName            :: !(Maybe Text)+    , _akId              :: !(Maybe Text)+    , _akStageKeys       :: !(Maybe [Text])+    , _akLastUpdatedDate :: !(Maybe POSIX)+    , _akDescription     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'APIKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'akEnabled'+--+-- * 'akCreatedDate'+--+-- * 'akName'+--+-- * 'akId'+--+-- * 'akStageKeys'+--+-- * 'akLastUpdatedDate'+--+-- * 'akDescription'+apiKey+    :: APIKey+apiKey =+    APIKey'+    { _akEnabled = Nothing+    , _akCreatedDate = Nothing+    , _akName = Nothing+    , _akId = Nothing+    , _akStageKeys = Nothing+    , _akLastUpdatedDate = Nothing+    , _akDescription = Nothing+    }++-- | Specifies whether the API Key can be used by callers.+akEnabled :: Lens' APIKey (Maybe Bool)+akEnabled = lens _akEnabled (\ s a -> s{_akEnabled = a});++-- | The date when the API Key was created, in+-- <http://www.iso.org/iso/home/standards/iso8601.htm ISO 8601 format>.+akCreatedDate :: Lens' APIKey (Maybe UTCTime)+akCreatedDate = lens _akCreatedDate (\ s a -> s{_akCreatedDate = a}) . mapping _Time;++-- | The name of the API Key.+akName :: Lens' APIKey (Maybe Text)+akName = lens _akName (\ s a -> s{_akName = a});++-- | The identifier of the API Key.+akId :: Lens' APIKey (Maybe Text)+akId = lens _akId (\ s a -> s{_akId = a});++-- | A list of Stage resources that are associated with the ApiKey resource.+akStageKeys :: Lens' APIKey [Text]+akStageKeys = lens _akStageKeys (\ s a -> s{_akStageKeys = a}) . _Default . _Coerce;++-- | When the API Key was last updated, in ISO 8601 format.+akLastUpdatedDate :: Lens' APIKey (Maybe UTCTime)+akLastUpdatedDate = lens _akLastUpdatedDate (\ s a -> s{_akLastUpdatedDate = a}) . mapping _Time;++-- | The description of the API Key.+akDescription :: Lens' APIKey (Maybe Text)+akDescription = lens _akDescription (\ s a -> s{_akDescription = a});++instance FromJSON APIKey where+        parseJSON+          = withObject "APIKey"+              (\ x ->+                 APIKey' <$>+                   (x .:? "enabled") <*> (x .:? "createdDate") <*>+                     (x .:? "name")+                     <*> (x .:? "id")+                     <*> (x .:? "stageKeys" .!= mempty)+                     <*> (x .:? "lastUpdatedDate")+                     <*> (x .:? "description"))++-- | Represents an AWS account that is associated with Amazon API Gateway.+--+-- /See:/ 'account' smart constructor.+data Account = Account'+    { _aCloudwatchRoleARN :: !(Maybe Text)+    , _aThrottleSettings  :: !(Maybe ThrottleSettings)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Account' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aCloudwatchRoleARN'+--+-- * 'aThrottleSettings'+account+    :: Account+account =+    Account'+    { _aCloudwatchRoleARN = Nothing+    , _aThrottleSettings = Nothing+    }++-- | Specifies the Amazon resource name (ARN) of an Amazon CloudWatch role+-- for the current Account resource.+aCloudwatchRoleARN :: Lens' Account (Maybe Text)+aCloudwatchRoleARN = lens _aCloudwatchRoleARN (\ s a -> s{_aCloudwatchRoleARN = a});++-- | Specifies the application programming interface (API) throttle settings+-- for the current Account resource.+aThrottleSettings :: Lens' Account (Maybe ThrottleSettings)+aThrottleSettings = lens _aThrottleSettings (\ s a -> s{_aThrottleSettings = a});++instance FromJSON Account where+        parseJSON+          = withObject "Account"+              (\ x ->+                 Account' <$>+                   (x .:? "cloudwatchRoleArn") <*>+                     (x .:? "throttleSettings"))++-- | Represents the base path that callers of the API that must provide as+-- part of the URL after the domain name.+--+-- /See:/ 'basePathMapping' smart constructor.+data BasePathMapping = BasePathMapping'+    { _bpmStage     :: !(Maybe Text)+    , _bpmBasePath  :: !(Maybe Text)+    , _bpmRestAPIId :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BasePathMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bpmStage'+--+-- * 'bpmBasePath'+--+-- * 'bpmRestAPIId'+basePathMapping+    :: BasePathMapping+basePathMapping =+    BasePathMapping'+    { _bpmStage = Nothing+    , _bpmBasePath = Nothing+    , _bpmRestAPIId = Nothing+    }++-- | The name of the API\'s stage.+bpmStage :: Lens' BasePathMapping (Maybe Text)+bpmStage = lens _bpmStage (\ s a -> s{_bpmStage = a});++-- | The base path name that callers of the API must provide as part of the+-- URL after the domain name.+bpmBasePath :: Lens' BasePathMapping (Maybe Text)+bpmBasePath = lens _bpmBasePath (\ s a -> s{_bpmBasePath = a});++-- | The name of the API.+bpmRestAPIId :: Lens' BasePathMapping (Maybe Text)+bpmRestAPIId = lens _bpmRestAPIId (\ s a -> s{_bpmRestAPIId = a});++instance FromJSON BasePathMapping where+        parseJSON+          = withObject "BasePathMapping"+              (\ x ->+                 BasePathMapping' <$>+                   (x .:? "stage") <*> (x .:? "basePath") <*>+                     (x .:? "restApiId"))++-- | /See:/ 'clientCertificate' smart constructor.+data ClientCertificate = ClientCertificate'+    { _ccPemEncodedCertificate :: !(Maybe Text)+    , _ccClientCertificateId   :: !(Maybe Text)+    , _ccCreatedDate           :: !(Maybe POSIX)+    , _ccExpirationDate        :: !(Maybe POSIX)+    , _ccDescription           :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClientCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccPemEncodedCertificate'+--+-- * 'ccClientCertificateId'+--+-- * 'ccCreatedDate'+--+-- * 'ccExpirationDate'+--+-- * 'ccDescription'+clientCertificate+    :: ClientCertificate+clientCertificate =+    ClientCertificate'+    { _ccPemEncodedCertificate = Nothing+    , _ccClientCertificateId = Nothing+    , _ccCreatedDate = Nothing+    , _ccExpirationDate = Nothing+    , _ccDescription = Nothing+    }++-- | Undocumented member.+ccPemEncodedCertificate :: Lens' ClientCertificate (Maybe Text)+ccPemEncodedCertificate = lens _ccPemEncodedCertificate (\ s a -> s{_ccPemEncodedCertificate = a});++-- | Undocumented member.+ccClientCertificateId :: Lens' ClientCertificate (Maybe Text)+ccClientCertificateId = lens _ccClientCertificateId (\ s a -> s{_ccClientCertificateId = a});++-- | Undocumented member.+ccCreatedDate :: Lens' ClientCertificate (Maybe UTCTime)+ccCreatedDate = lens _ccCreatedDate (\ s a -> s{_ccCreatedDate = a}) . mapping _Time;++-- | Undocumented member.+ccExpirationDate :: Lens' ClientCertificate (Maybe UTCTime)+ccExpirationDate = lens _ccExpirationDate (\ s a -> s{_ccExpirationDate = a}) . mapping _Time;++-- | Undocumented member.+ccDescription :: Lens' ClientCertificate (Maybe Text)+ccDescription = lens _ccDescription (\ s a -> s{_ccDescription = a});++instance FromJSON ClientCertificate where+        parseJSON+          = withObject "ClientCertificate"+              (\ x ->+                 ClientCertificate' <$>+                   (x .:? "pemEncodedCertificate") <*>+                     (x .:? "clientCertificateId")+                     <*> (x .:? "createdDate")+                     <*> (x .:? "expirationDate")+                     <*> (x .:? "description"))++-- | An immutable representation of a RestApi resource that can be called by+-- users using Stages. A deployment must be associated with a Stage for it+-- to be callable over the Internet.+--+-- /See:/ 'deployment' smart constructor.+data Deployment = Deployment'+    { _dApiSummary  :: !(Maybe (Map Text (Map Text MethodSnapshot)))+    , _dCreatedDate :: !(Maybe POSIX)+    , _dId          :: !(Maybe Text)+    , _dDescription :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Deployment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dApiSummary'+--+-- * 'dCreatedDate'+--+-- * 'dId'+--+-- * 'dDescription'+deployment+    :: Deployment+deployment =+    Deployment'+    { _dApiSummary = Nothing+    , _dCreatedDate = Nothing+    , _dId = Nothing+    , _dDescription = Nothing+    }++-- | Gets a summary of the RestApi at the date and time that the deployment+-- resource was created.+dApiSummary :: Lens' Deployment (HashMap Text (HashMap Text MethodSnapshot))+dApiSummary = lens _dApiSummary (\ s a -> s{_dApiSummary = a}) . _Default . _Map;++-- | The date and time that the deployment resource was created.+dCreatedDate :: Lens' Deployment (Maybe UTCTime)+dCreatedDate = lens _dCreatedDate (\ s a -> s{_dCreatedDate = a}) . mapping _Time;++-- | The identifier for the deployment resource.+dId :: Lens' Deployment (Maybe Text)+dId = lens _dId (\ s a -> s{_dId = a});++-- | The description for the deployment resource.+dDescription :: Lens' Deployment (Maybe Text)+dDescription = lens _dDescription (\ s a -> s{_dDescription = a});++instance FromJSON Deployment where+        parseJSON+          = withObject "Deployment"+              (\ x ->+                 Deployment' <$>+                   (x .:? "apiSummary" .!= mempty) <*>+                     (x .:? "createdDate")+                     <*> (x .:? "id")+                     <*> (x .:? "description"))++-- | Represents a domain name that is contained in a simpler, more intuitive+-- URL that can be called.+--+-- /See:/ 'domainName' smart constructor.+data DomainName = DomainName'+    { _dnCertificateName        :: !(Maybe Text)+    , _dnDomainName             :: !(Maybe Text)+    , _dnCertificateUploadDate  :: !(Maybe POSIX)+    , _dnDistributionDomainName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DomainName' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dnCertificateName'+--+-- * 'dnDomainName'+--+-- * 'dnCertificateUploadDate'+--+-- * 'dnDistributionDomainName'+domainName+    :: DomainName+domainName =+    DomainName'+    { _dnCertificateName = Nothing+    , _dnDomainName = Nothing+    , _dnCertificateUploadDate = Nothing+    , _dnDistributionDomainName = Nothing+    }++-- | The name of the certificate.+dnCertificateName :: Lens' DomainName (Maybe Text)+dnCertificateName = lens _dnCertificateName (\ s a -> s{_dnCertificateName = a});++-- | The name of the DomainName resource.+dnDomainName :: Lens' DomainName (Maybe Text)+dnDomainName = lens _dnDomainName (\ s a -> s{_dnDomainName = a});++-- | The date when the certificate was uploaded, in+-- <http://www.iso.org/iso/home/standards/iso8601.htm ISO 8601 format>.+dnCertificateUploadDate :: Lens' DomainName (Maybe UTCTime)+dnCertificateUploadDate = lens _dnCertificateUploadDate (\ s a -> s{_dnCertificateUploadDate = a}) . mapping _Time;++-- | The domain name of the Amazon CloudFront distribution. For more+-- information, see the+-- <http://aws.amazon.com/documentation/cloudfront/ Amazon CloudFront documentation>.+dnDistributionDomainName :: Lens' DomainName (Maybe Text)+dnDistributionDomainName = lens _dnDistributionDomainName (\ s a -> s{_dnDistributionDomainName = a});++instance FromJSON DomainName where+        parseJSON+          = withObject "DomainName"+              (\ x ->+                 DomainName' <$>+                   (x .:? "certificateName") <*> (x .:? "domainName")+                     <*> (x .:? "certificateUploadDate")+                     <*> (x .:? "distributionDomainName"))++-- | Represents a HTTP, AWS, or Mock integration.+--+-- /See:/ 'integration' smart constructor.+data Integration = Integration'+    { _iHttpMethod           :: !(Maybe Text)+    , _iRequestTemplates     :: !(Maybe (Map Text Text))+    , _iCredentials          :: !(Maybe Text)+    , _iRequestParameters    :: !(Maybe (Map Text Text))+    , _iUri                  :: !(Maybe Text)+    , _iIntegrationResponses :: !(Maybe (Map Text IntegrationResponse))+    , _iCacheNamespace       :: !(Maybe Text)+    , _iType                 :: !(Maybe IntegrationType)+    , _iCacheKeyParameters   :: !(Maybe [Text])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Integration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iHttpMethod'+--+-- * 'iRequestTemplates'+--+-- * 'iCredentials'+--+-- * 'iRequestParameters'+--+-- * 'iUri'+--+-- * 'iIntegrationResponses'+--+-- * 'iCacheNamespace'+--+-- * 'iType'+--+-- * 'iCacheKeyParameters'+integration+    :: Integration+integration =+    Integration'+    { _iHttpMethod = Nothing+    , _iRequestTemplates = Nothing+    , _iCredentials = Nothing+    , _iRequestParameters = Nothing+    , _iUri = Nothing+    , _iIntegrationResponses = Nothing+    , _iCacheNamespace = Nothing+    , _iType = Nothing+    , _iCacheKeyParameters = Nothing+    }++-- | Specifies the integration\'s HTTP method type.+iHttpMethod :: Lens' Integration (Maybe Text)+iHttpMethod = lens _iHttpMethod (\ s a -> s{_iHttpMethod = a});++-- | Specifies the integration\'s request templates.+iRequestTemplates :: Lens' Integration (HashMap Text Text)+iRequestTemplates = lens _iRequestTemplates (\ s a -> s{_iRequestTemplates = a}) . _Default . _Map;++-- | Specifies the credentials required for the integration, if any. For AWS+-- integrations, three options are available. To specify an IAM Role for+-- Amazon API Gateway to assume, use the role\'s Amazon Resource Name+-- (ARN). To require that the caller\'s identity be passed through from the+-- request, specify the string 'arn:aws:iam::\\*:user\/\\*'. To use+-- resource-based permissions on supported AWS services, specify null.+iCredentials :: Lens' Integration (Maybe Text)+iCredentials = lens _iCredentials (\ s a -> s{_iCredentials = a});++-- | Represents requests parameters that are sent with the backend request.+-- Request parameters are represented as a key\/value map, with a+-- destination as the key and a source as the value. A source must match an+-- existing method request parameter, or a static value. Static values must+-- be enclosed with single quotes, and be pre-encoded based on their+-- destination in the request. The destination must match the pattern+-- 'integration.request.{location}.{name}', where 'location' is either+-- querystring, path, or header. 'name' must be a valid, unique parameter+-- name.+iRequestParameters :: Lens' Integration (HashMap Text Text)+iRequestParameters = lens _iRequestParameters (\ s a -> s{_iRequestParameters = a}) . _Default . _Map;++-- | Specifies the integration\'s Uniform Resource Identifier (URI). For HTTP+-- integrations, the URI must be a fully formed, encoded HTTP(S) URL+-- according to the+-- <https://www.ietf.org/rfc/rfc3986.txt RFC-3986 specification>. For AWS+-- integrations, the URI should be of the form+-- 'arn:aws:apigateway:{region}:{service}:{path|action}\/{service_api}'.+-- 'Region' and 'service' are used to determine the right endpoint. For AWS+-- services that use the 'Action=' query string parameter, 'service_api'+-- should be a valid action for the desired service. For RESTful AWS+-- service APIs, 'path' is used to indicate that the remaining substring in+-- the URI should be treated as the path to the resource, including the+-- initial '\/'.+iUri :: Lens' Integration (Maybe Text)+iUri = lens _iUri (\ s a -> s{_iUri = a});++-- | Specifies the integration\'s responses.+iIntegrationResponses :: Lens' Integration (HashMap Text IntegrationResponse)+iIntegrationResponses = lens _iIntegrationResponses (\ s a -> s{_iIntegrationResponses = a}) . _Default . _Map;++-- | Specifies the integration\'s cache namespace.+iCacheNamespace :: Lens' Integration (Maybe Text)+iCacheNamespace = lens _iCacheNamespace (\ s a -> s{_iCacheNamespace = a});++-- | Specifies the integration\'s type.+iType :: Lens' Integration (Maybe IntegrationType)+iType = lens _iType (\ s a -> s{_iType = a});++-- | Specifies the integration\'s cache key parameters.+iCacheKeyParameters :: Lens' Integration [Text]+iCacheKeyParameters = lens _iCacheKeyParameters (\ s a -> s{_iCacheKeyParameters = a}) . _Default . _Coerce;++instance FromJSON Integration where+        parseJSON+          = withObject "Integration"+              (\ x ->+                 Integration' <$>+                   (x .:? "httpMethod") <*>+                     (x .:? "requestTemplates" .!= mempty)+                     <*> (x .:? "credentials")+                     <*> (x .:? "requestParameters" .!= mempty)+                     <*> (x .:? "uri")+                     <*> (x .:? "integrationResponses" .!= mempty)+                     <*> (x .:? "cacheNamespace")+                     <*> (x .:? "type")+                     <*> (x .:? "cacheKeyParameters" .!= mempty))++-- | Represents an integration response. The status code must map to an+-- existing MethodResponse, and parameters and templates can be used to+-- transform the backend response.+--+-- /See:/ 'integrationResponse' smart constructor.+data IntegrationResponse = IntegrationResponse'+    { _iResponseTemplates  :: !(Maybe (Map Text Text))+    , _iSelectionPattern   :: !(Maybe Text)+    , _iStatusCode         :: !(Maybe Text)+    , _iResponseParameters :: !(Maybe (Map Text Text))+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'IntegrationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iResponseTemplates'+--+-- * 'iSelectionPattern'+--+-- * 'iStatusCode'+--+-- * 'iResponseParameters'+integrationResponse+    :: IntegrationResponse+integrationResponse =+    IntegrationResponse'+    { _iResponseTemplates = Nothing+    , _iSelectionPattern = Nothing+    , _iStatusCode = Nothing+    , _iResponseParameters = Nothing+    }++-- | Specifies the templates used to transform the integration response body.+-- Response templates are represented as a key\/value map, with a+-- content-type as the key and a template as the value.+iResponseTemplates :: Lens' IntegrationResponse (HashMap Text Text)+iResponseTemplates = lens _iResponseTemplates (\ s a -> s{_iResponseTemplates = a}) . _Default . _Map;++-- | Specifies the regular expression (regex) pattern used to choose an+-- integration response based on the response from the backend. If the+-- backend is an AWS Lambda function, the AWS Lambda function error header+-- is matched. For all other HTTP and AWS backends, the HTTP status code is+-- matched.+iSelectionPattern :: Lens' IntegrationResponse (Maybe Text)+iSelectionPattern = lens _iSelectionPattern (\ s a -> s{_iSelectionPattern = a});++-- | Specifies the status code that is used to map the integration response+-- to an existing MethodResponse.+iStatusCode :: Lens' IntegrationResponse (Maybe Text)+iStatusCode = lens _iStatusCode (\ s a -> s{_iStatusCode = a});++-- | Represents response parameters that can be read from the backend+-- response. Response parameters are represented as a key\/value map, with+-- a destination as the key and a source as the value. A destination must+-- match an existing response parameter in the Method. The source can be a+-- header from the backend response, or a static value. Static values are+-- specified using enclosing single quotes, and backend response headers+-- can be read using the pattern 'integration.response.header.{name}'.+iResponseParameters :: Lens' IntegrationResponse (HashMap Text Text)+iResponseParameters = lens _iResponseParameters (\ s a -> s{_iResponseParameters = a}) . _Default . _Map;++instance FromJSON IntegrationResponse where+        parseJSON+          = withObject "IntegrationResponse"+              (\ x ->+                 IntegrationResponse' <$>+                   (x .:? "responseTemplates" .!= mempty) <*>+                     (x .:? "selectionPattern")+                     <*> (x .:? "statusCode")+                     <*> (x .:? "responseParameters" .!= mempty))++-- | Represents a method.+--+-- /See:/ 'method' smart constructor.+data Method = Method'+    { _mMethodResponses   :: !(Maybe (Map Text MethodResponse))+    , _mHttpMethod        :: !(Maybe Text)+    , _mRequestModels     :: !(Maybe (Map Text Text))+    , _mRequestParameters :: !(Maybe (Map Text Bool))+    , _mAuthorizationType :: !(Maybe Text)+    , _mApiKeyRequired    :: !(Maybe Bool)+    , _mMethodIntegration :: !(Maybe Integration)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Method' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mMethodResponses'+--+-- * 'mHttpMethod'+--+-- * 'mRequestModels'+--+-- * 'mRequestParameters'+--+-- * 'mAuthorizationType'+--+-- * 'mApiKeyRequired'+--+-- * 'mMethodIntegration'+method+    :: Method+method =+    Method'+    { _mMethodResponses = Nothing+    , _mHttpMethod = Nothing+    , _mRequestModels = Nothing+    , _mRequestParameters = Nothing+    , _mAuthorizationType = Nothing+    , _mApiKeyRequired = Nothing+    , _mMethodIntegration = Nothing+    }++-- | Represents available responses that can be sent to the caller. Method+-- responses are represented as a key\/value map, with an HTTP status code+-- as the key and a MethodResponse as the value. The status codes are+-- available for the Integration responses to map to.+mMethodResponses :: Lens' Method (HashMap Text MethodResponse)+mMethodResponses = lens _mMethodResponses (\ s a -> s{_mMethodResponses = a}) . _Default . _Map;++-- | The HTTP method.+mHttpMethod :: Lens' Method (Maybe Text)+mHttpMethod = lens _mHttpMethod (\ s a -> s{_mHttpMethod = a});++-- | Specifies the Model resources used for the request\'s content type.+-- Request models are represented as a key\/value map, with a content type+-- as the key and a Model name as the value.+mRequestModels :: Lens' Method (HashMap Text Text)+mRequestModels = lens _mRequestModels (\ s a -> s{_mRequestModels = a}) . _Default . _Map;++-- | Represents request parameters that can be accepted by Amazon API+-- Gateway. Request parameters are represented as a key\/value map, with a+-- source as the key and a Boolean flag as the value. The Boolean flag is+-- used to specify whether the parameter is required. A source must match+-- the pattern 'method.request.{location}.{name}', where 'location' is+-- either querystring, path, or header. 'name' is a valid, unique parameter+-- name. Sources specified here are available to the integration for+-- mapping to integration request parameters or templates.+mRequestParameters :: Lens' Method (HashMap Text Bool)+mRequestParameters = lens _mRequestParameters (\ s a -> s{_mRequestParameters = a}) . _Default . _Map;++-- | The method\'s authorization type.+mAuthorizationType :: Lens' Method (Maybe Text)+mAuthorizationType = lens _mAuthorizationType (\ s a -> s{_mAuthorizationType = a});++-- | Specifies whether the method requires a valid ApiKey.+mApiKeyRequired :: Lens' Method (Maybe Bool)+mApiKeyRequired = lens _mApiKeyRequired (\ s a -> s{_mApiKeyRequired = a});++-- | The method\'s integration.+mMethodIntegration :: Lens' Method (Maybe Integration)+mMethodIntegration = lens _mMethodIntegration (\ s a -> s{_mMethodIntegration = a});++instance FromJSON Method where+        parseJSON+          = withObject "Method"+              (\ x ->+                 Method' <$>+                   (x .:? "methodResponses" .!= mempty) <*>+                     (x .:? "httpMethod")+                     <*> (x .:? "requestModels" .!= mempty)+                     <*> (x .:? "requestParameters" .!= mempty)+                     <*> (x .:? "authorizationType")+                     <*> (x .:? "apiKeyRequired")+                     <*> (x .:? "methodIntegration"))++-- | Represents a method response. Amazon API Gateway sends back the status+-- code to the caller as the HTTP status code. Parameters and models can be+-- used to transform the response from the method\'s integration.+--+-- /See:/ 'methodResponse' smart constructor.+data MethodResponse = MethodResponse'+    { _mResponseModels     :: !(Maybe (Map Text Text))+    , _mStatusCode         :: !(Maybe Text)+    , _mResponseParameters :: !(Maybe (Map Text Bool))+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MethodResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mResponseModels'+--+-- * 'mStatusCode'+--+-- * 'mResponseParameters'+methodResponse+    :: MethodResponse+methodResponse =+    MethodResponse'+    { _mResponseModels = Nothing+    , _mStatusCode = Nothing+    , _mResponseParameters = Nothing+    }++-- | Specifies the Model resources used for the response\'s content-type.+-- Response models are represented as a key\/value map, with a content-type+-- as the key and a Model name as the value.+mResponseModels :: Lens' MethodResponse (HashMap Text Text)+mResponseModels = lens _mResponseModels (\ s a -> s{_mResponseModels = a}) . _Default . _Map;++-- | The method response\'s status code.+mStatusCode :: Lens' MethodResponse (Maybe Text)+mStatusCode = lens _mStatusCode (\ s a -> s{_mStatusCode = a});++-- | Represents response parameters that can be sent back to the caller by+-- Amazon API Gateway. Response parameters are represented as a key\/value+-- map, with a destination as the key and a boolean flag as the value,+-- which is used to specify whether the parameter is required. A+-- destination must match the pattern 'method.response.header.{name}',+-- where 'name' is a valid, unique header name. Destinations specified here+-- are available to the integration for mapping from integration response+-- parameters.+mResponseParameters :: Lens' MethodResponse (HashMap Text Bool)+mResponseParameters = lens _mResponseParameters (\ s a -> s{_mResponseParameters = a}) . _Default . _Map;++instance FromJSON MethodResponse where+        parseJSON+          = withObject "MethodResponse"+              (\ x ->+                 MethodResponse' <$>+                   (x .:? "responseModels" .!= mempty) <*>+                     (x .:? "statusCode")+                     <*> (x .:? "responseParameters" .!= mempty))++-- | Specifies the method setting properties.+--+-- /See:/ 'methodSetting' smart constructor.+data MethodSetting = MethodSetting'+    { _msCacheTtlInSeconds    :: !(Maybe Int)+    , _msDataTraceEnabled     :: !(Maybe Bool)+    , _msThrottlingBurstLimit :: !(Maybe Int)+    , _msCacheDataEncrypted   :: !(Maybe Bool)+    , _msLoggingLevel         :: !(Maybe Text)+    , _msCachingEnabled       :: !(Maybe Bool)+    , _msMetricsEnabled       :: !(Maybe Bool)+    , _msThrottlingRateLimit  :: !(Maybe Double)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MethodSetting' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'msCacheTtlInSeconds'+--+-- * 'msDataTraceEnabled'+--+-- * 'msThrottlingBurstLimit'+--+-- * 'msCacheDataEncrypted'+--+-- * 'msLoggingLevel'+--+-- * 'msCachingEnabled'+--+-- * 'msMetricsEnabled'+--+-- * 'msThrottlingRateLimit'+methodSetting+    :: MethodSetting+methodSetting =+    MethodSetting'+    { _msCacheTtlInSeconds = Nothing+    , _msDataTraceEnabled = Nothing+    , _msThrottlingBurstLimit = Nothing+    , _msCacheDataEncrypted = Nothing+    , _msLoggingLevel = Nothing+    , _msCachingEnabled = Nothing+    , _msMetricsEnabled = Nothing+    , _msThrottlingRateLimit = Nothing+    }++-- | Specifies the time to live (TTL) in seconds, for cached responses. The+-- higher a the TTL, the longer the response will be cached. The PATCH path+-- for this setting is '\/{method_setting_key}\/caching\/ttlInSeconds', and+-- the value is an integer.+msCacheTtlInSeconds :: Lens' MethodSetting (Maybe Int)+msCacheTtlInSeconds = lens _msCacheTtlInSeconds (\ s a -> s{_msCacheTtlInSeconds = a});++-- | Specifies the whether data trace logging is enabled for this method,+-- which effects the log entries pushed to Amazon CloudWatch Logs. The+-- PATCH path for this setting is+-- '\/{method_setting_key}\/logging\/dataTrace', and the value is a+-- Boolean.+msDataTraceEnabled :: Lens' MethodSetting (Maybe Bool)+msDataTraceEnabled = lens _msDataTraceEnabled (\ s a -> s{_msDataTraceEnabled = a});++-- | Specifies the throttling burst limit. The PATCH path for this setting is+-- '\/{method_setting_key}\/throttling\/burstLimit', and the value is an+-- integer.+msThrottlingBurstLimit :: Lens' MethodSetting (Maybe Int)+msThrottlingBurstLimit = lens _msThrottlingBurstLimit (\ s a -> s{_msThrottlingBurstLimit = a});++-- | Specifies whether the cached responses are encrypted. The PATCH path for+-- this setting is '\/{method_setting_key}\/caching\/dataEncrypted', and+-- the value is a Boolean.+msCacheDataEncrypted :: Lens' MethodSetting (Maybe Bool)+msCacheDataEncrypted = lens _msCacheDataEncrypted (\ s a -> s{_msCacheDataEncrypted = a});++-- | Specifies the logging level for this method, which effects the log+-- entries pushed to Amazon CloudWatch Logs. The PATCH path for this+-- setting is '\/{method_setting_key}\/logging\/loglevel', and the+-- available levels are 'OFF', 'ERROR', and 'INFO'.+msLoggingLevel :: Lens' MethodSetting (Maybe Text)+msLoggingLevel = lens _msLoggingLevel (\ s a -> s{_msLoggingLevel = a});++-- | Specifies whether responses should be cached and returned for requests.+-- A cache cluster must be enabled on the stage for responses to be cached.+-- The PATCH path for this setting is+-- '\/{method_setting_key}\/caching\/enabled', and the value is a Boolean.+msCachingEnabled :: Lens' MethodSetting (Maybe Bool)+msCachingEnabled = lens _msCachingEnabled (\ s a -> s{_msCachingEnabled = a});++-- | Specifies whether Amazon CloudWatch metrics are enabled for this method.+-- The PATCH path for this setting is+-- '\/{method_setting_key}\/metrics\/enabled', and the value is a Boolean.+msMetricsEnabled :: Lens' MethodSetting (Maybe Bool)+msMetricsEnabled = lens _msMetricsEnabled (\ s a -> s{_msMetricsEnabled = a});++-- | Specifies the throttling rate limit. The PATCH path for this setting is+-- '\/{method_setting_key}\/throttling\/rateLimit', and the value is a+-- double.+msThrottlingRateLimit :: Lens' MethodSetting (Maybe Double)+msThrottlingRateLimit = lens _msThrottlingRateLimit (\ s a -> s{_msThrottlingRateLimit = a});++instance FromJSON MethodSetting where+        parseJSON+          = withObject "MethodSetting"+              (\ x ->+                 MethodSetting' <$>+                   (x .:? "cacheTtlInSeconds") <*>+                     (x .:? "dataTraceEnabled")+                     <*> (x .:? "throttlingBurstLimit")+                     <*> (x .:? "cacheDataEncrypted")+                     <*> (x .:? "loggingLevel")+                     <*> (x .:? "cachingEnabled")+                     <*> (x .:? "metricsEnabled")+                     <*> (x .:? "throttlingRateLimit"))++-- | Represents a summary of a Method resource, given a particular date and+-- time.+--+-- /See:/ 'methodSnapshot' smart constructor.+data MethodSnapshot = MethodSnapshot'+    { _msAuthorizationType :: !(Maybe Text)+    , _msApiKeyRequired    :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MethodSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'msAuthorizationType'+--+-- * 'msApiKeyRequired'+methodSnapshot+    :: MethodSnapshot+methodSnapshot =+    MethodSnapshot'+    { _msAuthorizationType = Nothing+    , _msApiKeyRequired = Nothing+    }++-- | Specifies the type of authorization used for the method.+msAuthorizationType :: Lens' MethodSnapshot (Maybe Text)+msAuthorizationType = lens _msAuthorizationType (\ s a -> s{_msAuthorizationType = a});++-- | Specifies whether the method requires a valid ApiKey.+msApiKeyRequired :: Lens' MethodSnapshot (Maybe Bool)+msApiKeyRequired = lens _msApiKeyRequired (\ s a -> s{_msApiKeyRequired = a});++instance FromJSON MethodSnapshot where+        parseJSON+          = withObject "MethodSnapshot"+              (\ x ->+                 MethodSnapshot' <$>+                   (x .:? "authorizationType") <*>+                     (x .:? "apiKeyRequired"))++-- | Represents the structure of a request or response payload for a method.+--+-- /See:/ 'model' smart constructor.+data Model = Model'+    { _mSchema      :: !(Maybe Text)+    , _mName        :: !(Maybe Text)+    , _mId          :: !(Maybe Text)+    , _mDescription :: !(Maybe Text)+    , _mContentType :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Model' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mSchema'+--+-- * 'mName'+--+-- * 'mId'+--+-- * 'mDescription'+--+-- * 'mContentType'+model+    :: Model+model =+    Model'+    { _mSchema = Nothing+    , _mName = Nothing+    , _mId = Nothing+    , _mDescription = Nothing+    , _mContentType = Nothing+    }++-- | The schema for the model. For 'application\/json' models, this should be+-- <http://json-schema.org/documentation.html JSON-schema draft v4> model.+mSchema :: Lens' Model (Maybe Text)+mSchema = lens _mSchema (\ s a -> s{_mSchema = a});++-- | The name of the model.+mName :: Lens' Model (Maybe Text)+mName = lens _mName (\ s a -> s{_mName = a});++-- | The identifier for the model resource.+mId :: Lens' Model (Maybe Text)+mId = lens _mId (\ s a -> s{_mId = a});++-- | The description of the model.+mDescription :: Lens' Model (Maybe Text)+mDescription = lens _mDescription (\ s a -> s{_mDescription = a});++-- | The content-type for the model.+mContentType :: Lens' Model (Maybe Text)+mContentType = lens _mContentType (\ s a -> s{_mContentType = a});++instance FromJSON Model where+        parseJSON+          = withObject "Model"+              (\ x ->+                 Model' <$>+                   (x .:? "schema") <*> (x .:? "name") <*> (x .:? "id")+                     <*> (x .:? "description")+                     <*> (x .:? "contentType"))++-- | A single patch operation to apply to the specified resource. Please+-- refer to http:\/\/tools.ietf.org\/html\/rfc6902#section-4 for an+-- explanation of how each operation is used.+--+-- /See:/ 'patchOperation' smart constructor.+data PatchOperation = PatchOperation'+    { _poOp    :: !(Maybe Op)+    , _poPath  :: !(Maybe Text)+    , _poValue :: !(Maybe Text)+    , _poFrom  :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PatchOperation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'poOp'+--+-- * 'poPath'+--+-- * 'poValue'+--+-- * 'poFrom'+patchOperation+    :: PatchOperation+patchOperation =+    PatchOperation'+    { _poOp = Nothing+    , _poPath = Nothing+    , _poValue = Nothing+    , _poFrom = Nothing+    }++-- | A patch operation whose value indicates the operation to perform. Its+-- value MUST be one of \"add\", \"remove\", \"replace\", \"move\",+-- \"copy\", or \"test\"; other values are errors.+poOp :: Lens' PatchOperation (Maybe Op)+poOp = lens _poOp (\ s a -> s{_poOp = a});++-- | Operation objects MUST have exactly one \"path\" member. That member\'s+-- value is a string containing a \`JSON-Pointer\` value that references a+-- location within the target document (the \"target location\") where the+-- operation is performed.+poPath :: Lens' PatchOperation (Maybe Text)+poPath = lens _poPath (\ s a -> s{_poPath = a});++-- | The actual value content.+poValue :: Lens' PatchOperation (Maybe Text)+poValue = lens _poValue (\ s a -> s{_poValue = a});++-- | The \"move\" and \"copy\" operation object MUST contain a \"from\"+-- member, which is a string containing a 'JSON Pointer' value that+-- references the location in the target document to move the value from.+poFrom :: Lens' PatchOperation (Maybe Text)+poFrom = lens _poFrom (\ s a -> s{_poFrom = a});++instance ToJSON PatchOperation where+        toJSON PatchOperation'{..}+          = object+              (catMaybes+                 [("op" .=) <$> _poOp, ("path" .=) <$> _poPath,+                  ("value" .=) <$> _poValue, ("from" .=) <$> _poFrom])++-- | Represents a resource.+--+-- /See:/ 'resource' smart constructor.+data Resource = Resource'+    { _rPathPart        :: !(Maybe Text)+    , _rPath            :: !(Maybe Text)+    , _rId              :: !(Maybe Text)+    , _rResourceMethods :: !(Maybe (Map Text Method))+    , _rParentId        :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Resource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rPathPart'+--+-- * 'rPath'+--+-- * 'rId'+--+-- * 'rResourceMethods'+--+-- * 'rParentId'+resource+    :: Resource+resource =+    Resource'+    { _rPathPart = Nothing+    , _rPath = Nothing+    , _rId = Nothing+    , _rResourceMethods = Nothing+    , _rParentId = Nothing+    }++-- | The last path segment for this resource.+rPathPart :: Lens' Resource (Maybe Text)+rPathPart = lens _rPathPart (\ s a -> s{_rPathPart = a});++-- | The full path for this resource.+rPath :: Lens' Resource (Maybe Text)+rPath = lens _rPath (\ s a -> s{_rPath = a});++-- | The resource\'s identifier.+rId :: Lens' Resource (Maybe Text)+rId = lens _rId (\ s a -> s{_rId = a});++-- | Map of methods for this resource, which is included only if requested+-- using the __embed__ option.+rResourceMethods :: Lens' Resource (HashMap Text Method)+rResourceMethods = lens _rResourceMethods (\ s a -> s{_rResourceMethods = a}) . _Default . _Map;++-- | The parent resource\'s identifier.+rParentId :: Lens' Resource (Maybe Text)+rParentId = lens _rParentId (\ s a -> s{_rParentId = a});++instance FromJSON Resource where+        parseJSON+          = withObject "Resource"+              (\ x ->+                 Resource' <$>+                   (x .:? "pathPart") <*> (x .:? "path") <*>+                     (x .:? "id")+                     <*> (x .:? "resourceMethods" .!= mempty)+                     <*> (x .:? "parentId"))++-- | Represents a REST API.+--+-- /See:/ 'restAPI' smart constructor.+data RestAPI = RestAPI'+    { _raCreatedDate :: !(Maybe POSIX)+    , _raName        :: !(Maybe Text)+    , _raId          :: !(Maybe Text)+    , _raDescription :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RestAPI' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'raCreatedDate'+--+-- * 'raName'+--+-- * 'raId'+--+-- * 'raDescription'+restAPI+    :: RestAPI+restAPI =+    RestAPI'+    { _raCreatedDate = Nothing+    , _raName = Nothing+    , _raId = Nothing+    , _raDescription = Nothing+    }++-- | The date when the API was created, in+-- <http://www.iso.org/iso/home/standards/iso8601.htm ISO 8601 format>.+raCreatedDate :: Lens' RestAPI (Maybe UTCTime)+raCreatedDate = lens _raCreatedDate (\ s a -> s{_raCreatedDate = a}) . mapping _Time;++-- | The API\'s name.+raName :: Lens' RestAPI (Maybe Text)+raName = lens _raName (\ s a -> s{_raName = a});++-- | The API\'s identifier. This identifier is unique across all of your APIs+-- in Amazon API Gateway.+raId :: Lens' RestAPI (Maybe Text)+raId = lens _raId (\ s a -> s{_raId = a});++-- | The API\'s description.+raDescription :: Lens' RestAPI (Maybe Text)+raDescription = lens _raDescription (\ s a -> s{_raDescription = a});++instance FromJSON RestAPI where+        parseJSON+          = withObject "RestAPI"+              (\ x ->+                 RestAPI' <$>+                   (x .:? "createdDate") <*> (x .:? "name") <*>+                     (x .:? "id")+                     <*> (x .:? "description"))++-- | Represents a unique identifier for a version of a deployed RestApi that+-- is callable by users.+--+-- /See:/ 'stage' smart constructor.+data Stage = Stage'+    { _sDeploymentId        :: !(Maybe Text)+    , _sClientCertificateId :: !(Maybe Text)+    , _sCreatedDate         :: !(Maybe POSIX)+    , _sCacheClusterStatus  :: !(Maybe CacheClusterStatus)+    , _sMethodSettings      :: !(Maybe (Map Text MethodSetting))+    , _sLastUpdatedDate     :: !(Maybe POSIX)+    , _sCacheClusterSize    :: !(Maybe CacheClusterSize)+    , _sCacheClusterEnabled :: !(Maybe Bool)+    , _sStageName           :: !(Maybe Text)+    , _sDescription         :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Stage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDeploymentId'+--+-- * 'sClientCertificateId'+--+-- * 'sCreatedDate'+--+-- * 'sCacheClusterStatus'+--+-- * 'sMethodSettings'+--+-- * 'sLastUpdatedDate'+--+-- * 'sCacheClusterSize'+--+-- * 'sCacheClusterEnabled'+--+-- * 'sStageName'+--+-- * 'sDescription'+stage+    :: Stage+stage =+    Stage'+    { _sDeploymentId = Nothing+    , _sClientCertificateId = Nothing+    , _sCreatedDate = Nothing+    , _sCacheClusterStatus = Nothing+    , _sMethodSettings = Nothing+    , _sLastUpdatedDate = Nothing+    , _sCacheClusterSize = Nothing+    , _sCacheClusterEnabled = Nothing+    , _sStageName = Nothing+    , _sDescription = Nothing+    }++-- | The identifier of the Deployment that the stage points to.+sDeploymentId :: Lens' Stage (Maybe Text)+sDeploymentId = lens _sDeploymentId (\ s a -> s{_sDeploymentId = a});++-- | Undocumented member.+sClientCertificateId :: Lens' Stage (Maybe Text)+sClientCertificateId = lens _sClientCertificateId (\ s a -> s{_sClientCertificateId = a});++-- | The date and time that the stage was created, in+-- <http://www.iso.org/iso/home/standards/iso8601.htm ISO 8601 format>.+sCreatedDate :: Lens' Stage (Maybe UTCTime)+sCreatedDate = lens _sCreatedDate (\ s a -> s{_sCreatedDate = a}) . mapping _Time;++-- | The status of the cache cluster for the stage, if enabled.+sCacheClusterStatus :: Lens' Stage (Maybe CacheClusterStatus)+sCacheClusterStatus = lens _sCacheClusterStatus (\ s a -> s{_sCacheClusterStatus = a});++-- | A map that defines the method settings for a Stage resource. Keys are+-- defined as '{resource_path}\/{http_method}' for an individual method+-- override, or '\\*\/\\*' for the settings applied to all methods in the+-- stage.+sMethodSettings :: Lens' Stage (HashMap Text MethodSetting)+sMethodSettings = lens _sMethodSettings (\ s a -> s{_sMethodSettings = a}) . _Default . _Map;++-- | The date and time that information about the stage was last updated, in+-- <http://www.iso.org/iso/home/standards/iso8601.htm ISO 8601 format>.+sLastUpdatedDate :: Lens' Stage (Maybe UTCTime)+sLastUpdatedDate = lens _sLastUpdatedDate (\ s a -> s{_sLastUpdatedDate = a}) . mapping _Time;++-- | The size of the cache cluster for the stage, if enabled.+sCacheClusterSize :: Lens' Stage (Maybe CacheClusterSize)+sCacheClusterSize = lens _sCacheClusterSize (\ s a -> s{_sCacheClusterSize = a});++-- | Specifies whether a cache cluster is enabled for the stage.+sCacheClusterEnabled :: Lens' Stage (Maybe Bool)+sCacheClusterEnabled = lens _sCacheClusterEnabled (\ s a -> s{_sCacheClusterEnabled = a});++-- | The name of the stage is the first path segment in the Uniform Resource+-- Identifier (URI) of a call to Amazon API Gateway.+sStageName :: Lens' Stage (Maybe Text)+sStageName = lens _sStageName (\ s a -> s{_sStageName = a});++-- | The stage\'s description.+sDescription :: Lens' Stage (Maybe Text)+sDescription = lens _sDescription (\ s a -> s{_sDescription = a});++instance FromJSON Stage where+        parseJSON+          = withObject "Stage"+              (\ x ->+                 Stage' <$>+                   (x .:? "deploymentId") <*>+                     (x .:? "clientCertificateId")+                     <*> (x .:? "createdDate")+                     <*> (x .:? "cacheClusterStatus")+                     <*> (x .:? "methodSettings" .!= mempty)+                     <*> (x .:? "lastUpdatedDate")+                     <*> (x .:? "cacheClusterSize")+                     <*> (x .:? "cacheClusterEnabled")+                     <*> (x .:? "stageName")+                     <*> (x .:? "description"))++-- | A reference to a unique stage identified in the format+-- '{restApiId}\/{stage}'.+--+-- /See:/ 'stageKey' smart constructor.+data StageKey = StageKey'+    { _skRestAPIId :: !(Maybe Text)+    , _skStageName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StageKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'skRestAPIId'+--+-- * 'skStageName'+stageKey+    :: StageKey+stageKey =+    StageKey'+    { _skRestAPIId = Nothing+    , _skStageName = Nothing+    }++-- | A list of Stage resources that are associated with the ApiKey resource.+skRestAPIId :: Lens' StageKey (Maybe Text)+skRestAPIId = lens _skRestAPIId (\ s a -> s{_skRestAPIId = a});++-- | The stage name in the RestApi that the stage key references.+skStageName :: Lens' StageKey (Maybe Text)+skStageName = lens _skStageName (\ s a -> s{_skStageName = a});++instance ToJSON StageKey where+        toJSON StageKey'{..}+          = object+              (catMaybes+                 [("restApiId" .=) <$> _skRestAPIId,+                  ("stageName" .=) <$> _skStageName])++-- | Returns the throttle settings.+--+-- /See:/ 'throttleSettings' smart constructor.+data ThrottleSettings = ThrottleSettings'+    { _tsBurstLimit :: !(Maybe Int)+    , _tsRateLimit  :: !(Maybe Double)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ThrottleSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsBurstLimit'+--+-- * 'tsRateLimit'+throttleSettings+    :: ThrottleSettings+throttleSettings =+    ThrottleSettings'+    { _tsBurstLimit = Nothing+    , _tsRateLimit = Nothing+    }++-- | Returns the burstLimit when __ThrottleSettings__ is called.+tsBurstLimit :: Lens' ThrottleSettings (Maybe Int)+tsBurstLimit = lens _tsBurstLimit (\ s a -> s{_tsBurstLimit = a});++-- | Returns the rateLimit when __ThrottleSettings__ is called.+tsRateLimit :: Lens' ThrottleSettings (Maybe Double)+tsRateLimit = lens _tsRateLimit (\ s a -> s{_tsRateLimit = a});++instance FromJSON ThrottleSettings where+        parseJSON+          = withObject "ThrottleSettings"+              (\ x ->+                 ThrottleSettings' <$>+                   (x .:? "burstLimit") <*> (x .:? "rateLimit"))
+ gen/Network/AWS/APIGateway/Types/Sum.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.Types.Sum+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.APIGateway.Types.Sum where++import           Network.AWS.Prelude++-- | Returns the size of the __CacheCluster__.+data CacheClusterSize+    = D0_5+    | D118+    | D13_5+    | D1_6+    | D237+    | D28_4+    | D58_2+    | D6_1+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText CacheClusterSize where+    parser = takeLowerText >>= \case+        "0.5" -> pure D0_5+        "118" -> pure D118+        "13.5" -> pure D13_5+        "1.6" -> pure D1_6+        "237" -> pure D237+        "28.4" -> pure D28_4+        "58.2" -> pure D58_2+        "6.1" -> pure D6_1+        e -> fromTextError $ "Failure parsing CacheClusterSize from value: '" <> e+           <> "'. Accepted values: 0.5, 118, 13.5, 1.6, 237, 28.4, 58.2, 6.1"++instance ToText CacheClusterSize where+    toText = \case+        D0_5 -> "0.5"+        D118 -> "118"+        D13_5 -> "13.5"+        D1_6 -> "1.6"+        D237 -> "237"+        D28_4 -> "28.4"+        D58_2 -> "58.2"+        D6_1 -> "6.1"++instance Hashable     CacheClusterSize+instance ToByteString CacheClusterSize+instance ToQuery      CacheClusterSize+instance ToHeader     CacheClusterSize++instance ToJSON CacheClusterSize where+    toJSON = toJSONText++instance FromJSON CacheClusterSize where+    parseJSON = parseJSONText "CacheClusterSize"++-- | Returns the status of the __CacheCluster__.+data CacheClusterStatus+    = Available+    | CreateInProgress+    | DeleteInProgress+    | FlushInProgress+    | NotAvailable+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText CacheClusterStatus where+    parser = takeLowerText >>= \case+        "available" -> pure Available+        "create_in_progress" -> pure CreateInProgress+        "delete_in_progress" -> pure DeleteInProgress+        "flush_in_progress" -> pure FlushInProgress+        "not_available" -> pure NotAvailable+        e -> fromTextError $ "Failure parsing CacheClusterStatus from value: '" <> e+           <> "'. Accepted values: AVAILABLE, CREATE_IN_PROGRESS, DELETE_IN_PROGRESS, FLUSH_IN_PROGRESS, NOT_AVAILABLE"++instance ToText CacheClusterStatus where+    toText = \case+        Available -> "AVAILABLE"+        CreateInProgress -> "CREATE_IN_PROGRESS"+        DeleteInProgress -> "DELETE_IN_PROGRESS"+        FlushInProgress -> "FLUSH_IN_PROGRESS"+        NotAvailable -> "NOT_AVAILABLE"++instance Hashable     CacheClusterStatus+instance ToByteString CacheClusterStatus+instance ToQuery      CacheClusterStatus+instance ToHeader     CacheClusterStatus++instance FromJSON CacheClusterStatus where+    parseJSON = parseJSONText "CacheClusterStatus"++-- | The integration type. Possible values are HTTP, AWS, or Mock.+data IntegrationType+    = AWS+    | HTTP+    | Mock+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText IntegrationType where+    parser = takeLowerText >>= \case+        "aws" -> pure AWS+        "http" -> pure HTTP+        "mock" -> pure Mock+        e -> fromTextError $ "Failure parsing IntegrationType from value: '" <> e+           <> "'. Accepted values: AWS, HTTP, MOCK"++instance ToText IntegrationType where+    toText = \case+        AWS -> "AWS"+        HTTP -> "HTTP"+        Mock -> "MOCK"++instance Hashable     IntegrationType+instance ToByteString IntegrationType+instance ToQuery      IntegrationType+instance ToHeader     IntegrationType++instance ToJSON IntegrationType where+    toJSON = toJSONText++instance FromJSON IntegrationType where+    parseJSON = parseJSONText "IntegrationType"++data Op+    = Add+    | Copy+    | Move+    | Remove+    | Replace+    | Test+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText Op where+    parser = takeLowerText >>= \case+        "add" -> pure Add+        "copy" -> pure Copy+        "move" -> pure Move+        "remove" -> pure Remove+        "replace" -> pure Replace+        "test" -> pure Test+        e -> fromTextError $ "Failure parsing Op from value: '" <> e+           <> "'. Accepted values: add, copy, move, remove, replace, test"++instance ToText Op where+    toText = \case+        Add -> "add"+        Copy -> "copy"+        Move -> "move"+        Remove -> "remove"+        Replace -> "replace"+        Test -> "test"++instance Hashable     Op+instance ToByteString Op+instance ToQuery      Op+instance ToHeader     Op++instance ToJSON Op where+    toJSON = toJSONText
+ gen/Network/AWS/APIGateway/UpdateAPIKey.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateAPIKey+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes information about an ApiKey resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateAPIKey.html AWS API Reference> for UpdateAPIKey.+module Network.AWS.APIGateway.UpdateAPIKey+    (+    -- * Creating a Request+      updateAPIKey+    , UpdateAPIKey+    -- * Request Lenses+    , uakPatchOperations+    , uakApiKey++    -- * Destructuring the Response+    , apiKey+    , APIKey+    -- * Response Lenses+    , akEnabled+    , akCreatedDate+    , akName+    , akId+    , akStageKeys+    , akLastUpdatedDate+    , akDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | A request to change information about an ApiKey resource.+--+-- /See:/ 'updateAPIKey' smart constructor.+data UpdateAPIKey = UpdateAPIKey'+    { _uakPatchOperations :: !(Maybe [PatchOperation])+    , _uakApiKey          :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateAPIKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uakPatchOperations'+--+-- * 'uakApiKey'+updateAPIKey+    :: Text -- ^ 'uakApiKey'+    -> UpdateAPIKey+updateAPIKey pApiKey_ =+    UpdateAPIKey'+    { _uakPatchOperations = Nothing+    , _uakApiKey = pApiKey_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+uakPatchOperations :: Lens' UpdateAPIKey [PatchOperation]+uakPatchOperations = lens _uakPatchOperations (\ s a -> s{_uakPatchOperations = a}) . _Default . _Coerce;++-- | The identifier of the ApiKey resource to be updated.+uakApiKey :: Lens' UpdateAPIKey Text+uakApiKey = lens _uakApiKey (\ s a -> s{_uakApiKey = a});++instance AWSRequest UpdateAPIKey where+        type Rs UpdateAPIKey = APIKey+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateAPIKey where+        toHeaders = const mempty++instance ToJSON UpdateAPIKey where+        toJSON UpdateAPIKey'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _uakPatchOperations])++instance ToPath UpdateAPIKey where+        toPath UpdateAPIKey'{..}+          = mconcat ["/apikeys/", toBS _uakApiKey]++instance ToQuery UpdateAPIKey where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateAccount.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateAccount+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes information about the current Account resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateAccount.html AWS API Reference> for UpdateAccount.+module Network.AWS.APIGateway.UpdateAccount+    (+    -- * Creating a Request+      updateAccount+    , UpdateAccount+    -- * Request Lenses+    , uaPatchOperations++    -- * Destructuring the Response+    , account+    , Account+    -- * Response Lenses+    , aCloudwatchRoleARN+    , aThrottleSettings+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to change information about the current+-- Account resource.+--+-- /See:/ 'updateAccount' smart constructor.+newtype UpdateAccount = UpdateAccount'+    { _uaPatchOperations :: Maybe [PatchOperation]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateAccount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uaPatchOperations'+updateAccount+    :: UpdateAccount+updateAccount =+    UpdateAccount'+    { _uaPatchOperations = Nothing+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+uaPatchOperations :: Lens' UpdateAccount [PatchOperation]+uaPatchOperations = lens _uaPatchOperations (\ s a -> s{_uaPatchOperations = a}) . _Default . _Coerce;++instance AWSRequest UpdateAccount where+        type Rs UpdateAccount = Account+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateAccount where+        toHeaders = const mempty++instance ToJSON UpdateAccount where+        toJSON UpdateAccount'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _uaPatchOperations])++instance ToPath UpdateAccount where+        toPath = const "/account"++instance ToQuery UpdateAccount where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateBasePathMapping.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateBasePathMapping+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes information about the BasePathMapping resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateBasePathMapping.html AWS API Reference> for UpdateBasePathMapping.+module Network.AWS.APIGateway.UpdateBasePathMapping+    (+    -- * Creating a Request+      updateBasePathMapping+    , UpdateBasePathMapping+    -- * Request Lenses+    , ubpmPatchOperations+    , ubpmDomainName+    , ubpmBasePath++    -- * Destructuring the Response+    , basePathMapping+    , BasePathMapping+    -- * Response Lenses+    , bpmStage+    , bpmBasePath+    , bpmRestAPIId+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | A request to change information about the BasePathMapping resource.+--+-- /See:/ 'updateBasePathMapping' smart constructor.+data UpdateBasePathMapping = UpdateBasePathMapping'+    { _ubpmPatchOperations :: !(Maybe [PatchOperation])+    , _ubpmDomainName      :: !Text+    , _ubpmBasePath        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateBasePathMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ubpmPatchOperations'+--+-- * 'ubpmDomainName'+--+-- * 'ubpmBasePath'+updateBasePathMapping+    :: Text -- ^ 'ubpmDomainName'+    -> Text -- ^ 'ubpmBasePath'+    -> UpdateBasePathMapping+updateBasePathMapping pDomainName_ pBasePath_ =+    UpdateBasePathMapping'+    { _ubpmPatchOperations = Nothing+    , _ubpmDomainName = pDomainName_+    , _ubpmBasePath = pBasePath_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+ubpmPatchOperations :: Lens' UpdateBasePathMapping [PatchOperation]+ubpmPatchOperations = lens _ubpmPatchOperations (\ s a -> s{_ubpmPatchOperations = a}) . _Default . _Coerce;++-- | The domain name of the BasePathMapping resource to change.+ubpmDomainName :: Lens' UpdateBasePathMapping Text+ubpmDomainName = lens _ubpmDomainName (\ s a -> s{_ubpmDomainName = a});++-- | The base path of the BasePathMapping resource to change.+ubpmBasePath :: Lens' UpdateBasePathMapping Text+ubpmBasePath = lens _ubpmBasePath (\ s a -> s{_ubpmBasePath = a});++instance AWSRequest UpdateBasePathMapping where+        type Rs UpdateBasePathMapping = BasePathMapping+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateBasePathMapping where+        toHeaders = const mempty++instance ToJSON UpdateBasePathMapping where+        toJSON UpdateBasePathMapping'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _ubpmPatchOperations])++instance ToPath UpdateBasePathMapping where+        toPath UpdateBasePathMapping'{..}+          = mconcat+              ["/domainnames/", toBS _ubpmDomainName,+               "/basepathmappings/", toBS _ubpmBasePath]++instance ToQuery UpdateBasePathMapping where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateClientCertificate.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateClientCertificate+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Undocumented operation.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateClientCertificate.html AWS API Reference> for UpdateClientCertificate.+module Network.AWS.APIGateway.UpdateClientCertificate+    (+    -- * Creating a Request+      updateClientCertificate+    , UpdateClientCertificate+    -- * Request Lenses+    , uccPatchOperations+    , uccClientCertificateId++    -- * Destructuring the Response+    , clientCertificate+    , ClientCertificate+    -- * Response Lenses+    , ccPemEncodedCertificate+    , ccClientCertificateId+    , ccCreatedDate+    , ccExpirationDate+    , ccDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'updateClientCertificate' smart constructor.+data UpdateClientCertificate = UpdateClientCertificate'+    { _uccPatchOperations     :: !(Maybe [PatchOperation])+    , _uccClientCertificateId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateClientCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uccPatchOperations'+--+-- * 'uccClientCertificateId'+updateClientCertificate+    :: Text -- ^ 'uccClientCertificateId'+    -> UpdateClientCertificate+updateClientCertificate pClientCertificateId_ =+    UpdateClientCertificate'+    { _uccPatchOperations = Nothing+    , _uccClientCertificateId = pClientCertificateId_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+uccPatchOperations :: Lens' UpdateClientCertificate [PatchOperation]+uccPatchOperations = lens _uccPatchOperations (\ s a -> s{_uccPatchOperations = a}) . _Default . _Coerce;++-- | Undocumented member.+uccClientCertificateId :: Lens' UpdateClientCertificate Text+uccClientCertificateId = lens _uccClientCertificateId (\ s a -> s{_uccClientCertificateId = a});++instance AWSRequest UpdateClientCertificate where+        type Rs UpdateClientCertificate = ClientCertificate+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateClientCertificate where+        toHeaders = const mempty++instance ToJSON UpdateClientCertificate where+        toJSON UpdateClientCertificate'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _uccPatchOperations])++instance ToPath UpdateClientCertificate where+        toPath UpdateClientCertificate'{..}+          = mconcat+              ["/clientcertificates/",+               toBS _uccClientCertificateId]++instance ToQuery UpdateClientCertificate where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateDeployment.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateDeployment+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes information about a Deployment resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateDeployment.html AWS API Reference> for UpdateDeployment.+module Network.AWS.APIGateway.UpdateDeployment+    (+    -- * Creating a Request+      updateDeployment+    , UpdateDeployment+    -- * Request Lenses+    , udPatchOperations+    , udRestAPIId+    , udDeploymentId++    -- * Destructuring the Response+    , deployment+    , Deployment+    -- * Response Lenses+    , dApiSummary+    , dCreatedDate+    , dId+    , dDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to change information about a Deployment+-- resource.+--+-- /See:/ 'updateDeployment' smart constructor.+data UpdateDeployment = UpdateDeployment'+    { _udPatchOperations :: !(Maybe [PatchOperation])+    , _udRestAPIId       :: !Text+    , _udDeploymentId    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateDeployment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udPatchOperations'+--+-- * 'udRestAPIId'+--+-- * 'udDeploymentId'+updateDeployment+    :: Text -- ^ 'udRestAPIId'+    -> Text -- ^ 'udDeploymentId'+    -> UpdateDeployment+updateDeployment pRestAPIId_ pDeploymentId_ =+    UpdateDeployment'+    { _udPatchOperations = Nothing+    , _udRestAPIId = pRestAPIId_+    , _udDeploymentId = pDeploymentId_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+udPatchOperations :: Lens' UpdateDeployment [PatchOperation]+udPatchOperations = lens _udPatchOperations (\ s a -> s{_udPatchOperations = a}) . _Default . _Coerce;++-- | The replacement identifier of the RestApi resource for the Deployment+-- resource to change information about.+udRestAPIId :: Lens' UpdateDeployment Text+udRestAPIId = lens _udRestAPIId (\ s a -> s{_udRestAPIId = a});++-- | The replacment identifier for the Deployment resource to change+-- information about.+udDeploymentId :: Lens' UpdateDeployment Text+udDeploymentId = lens _udDeploymentId (\ s a -> s{_udDeploymentId = a});++instance AWSRequest UpdateDeployment where+        type Rs UpdateDeployment = Deployment+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateDeployment where+        toHeaders = const mempty++instance ToJSON UpdateDeployment where+        toJSON UpdateDeployment'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _udPatchOperations])++instance ToPath UpdateDeployment where+        toPath UpdateDeployment'{..}+          = mconcat+              ["/restapis/", toBS _udRestAPIId, "/deployments/",+               toBS _udDeploymentId]++instance ToQuery UpdateDeployment where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateDomainName.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateDomainName+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes information about the DomainName resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateDomainName.html AWS API Reference> for UpdateDomainName.+module Network.AWS.APIGateway.UpdateDomainName+    (+    -- * Creating a Request+      updateDomainName+    , UpdateDomainName+    -- * Request Lenses+    , udnPatchOperations+    , udnDomainName++    -- * Destructuring the Response+    , domainName+    , DomainName+    -- * Response Lenses+    , dnCertificateName+    , dnDomainName+    , dnCertificateUploadDate+    , dnDistributionDomainName+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | A request to change information about the DomainName resource.+--+-- /See:/ 'updateDomainName' smart constructor.+data UpdateDomainName = UpdateDomainName'+    { _udnPatchOperations :: !(Maybe [PatchOperation])+    , _udnDomainName      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateDomainName' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udnPatchOperations'+--+-- * 'udnDomainName'+updateDomainName+    :: Text -- ^ 'udnDomainName'+    -> UpdateDomainName+updateDomainName pDomainName_ =+    UpdateDomainName'+    { _udnPatchOperations = Nothing+    , _udnDomainName = pDomainName_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+udnPatchOperations :: Lens' UpdateDomainName [PatchOperation]+udnPatchOperations = lens _udnPatchOperations (\ s a -> s{_udnPatchOperations = a}) . _Default . _Coerce;++-- | The name of the DomainName resource to be changed.+udnDomainName :: Lens' UpdateDomainName Text+udnDomainName = lens _udnDomainName (\ s a -> s{_udnDomainName = a});++instance AWSRequest UpdateDomainName where+        type Rs UpdateDomainName = DomainName+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateDomainName where+        toHeaders = const mempty++instance ToJSON UpdateDomainName where+        toJSON UpdateDomainName'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _udnPatchOperations])++instance ToPath UpdateDomainName where+        toPath UpdateDomainName'{..}+          = mconcat ["/domainnames/", toBS _udnDomainName]++instance ToQuery UpdateDomainName where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateIntegration.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateIntegration+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Represents an update integration.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateIntegration.html AWS API Reference> for UpdateIntegration.+module Network.AWS.APIGateway.UpdateIntegration+    (+    -- * Creating a Request+      updateIntegration+    , UpdateIntegration+    -- * Request Lenses+    , updPatchOperations+    , updRestAPIId+    , updResourceId+    , updHttpMethod++    -- * Destructuring the Response+    , integration+    , Integration+    -- * Response Lenses+    , iHttpMethod+    , iRequestTemplates+    , iCredentials+    , iRequestParameters+    , iUri+    , iIntegrationResponses+    , iCacheNamespace+    , iType+    , iCacheKeyParameters+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents an update integration request.+--+-- /See:/ 'updateIntegration' smart constructor.+data UpdateIntegration = UpdateIntegration'+    { _updPatchOperations :: !(Maybe [PatchOperation])+    , _updRestAPIId       :: !Text+    , _updResourceId      :: !Text+    , _updHttpMethod      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateIntegration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'updPatchOperations'+--+-- * 'updRestAPIId'+--+-- * 'updResourceId'+--+-- * 'updHttpMethod'+updateIntegration+    :: Text -- ^ 'updRestAPIId'+    -> Text -- ^ 'updResourceId'+    -> Text -- ^ 'updHttpMethod'+    -> UpdateIntegration+updateIntegration pRestAPIId_ pResourceId_ pHttpMethod_ =+    UpdateIntegration'+    { _updPatchOperations = Nothing+    , _updRestAPIId = pRestAPIId_+    , _updResourceId = pResourceId_+    , _updHttpMethod = pHttpMethod_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+updPatchOperations :: Lens' UpdateIntegration [PatchOperation]+updPatchOperations = lens _updPatchOperations (\ s a -> s{_updPatchOperations = a}) . _Default . _Coerce;++-- | Represents an update integration request\'s API identifier.+updRestAPIId :: Lens' UpdateIntegration Text+updRestAPIId = lens _updRestAPIId (\ s a -> s{_updRestAPIId = a});++-- | Represents an update integration request\'s resource identifier.+updResourceId :: Lens' UpdateIntegration Text+updResourceId = lens _updResourceId (\ s a -> s{_updResourceId = a});++-- | Represents an update integration request\'s HTTP method.+updHttpMethod :: Lens' UpdateIntegration Text+updHttpMethod = lens _updHttpMethod (\ s a -> s{_updHttpMethod = a});++instance AWSRequest UpdateIntegration where+        type Rs UpdateIntegration = Integration+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateIntegration where+        toHeaders = const mempty++instance ToJSON UpdateIntegration where+        toJSON UpdateIntegration'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _updPatchOperations])++instance ToPath UpdateIntegration where+        toPath UpdateIntegration'{..}+          = mconcat+              ["/restapis/", toBS _updRestAPIId, "/resources/",+               toBS _updResourceId, "/methods/",+               toBS _updHttpMethod, "/integration"]++instance ToQuery UpdateIntegration where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateIntegrationResponse.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateIntegrationResponse+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Represents an update integration response.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateIntegrationResponse.html AWS API Reference> for UpdateIntegrationResponse.+module Network.AWS.APIGateway.UpdateIntegrationResponse+    (+    -- * Creating a Request+      updateIntegrationResponse+    , UpdateIntegrationResponse+    -- * Request Lenses+    , uiPatchOperations+    , uiRestAPIId+    , uiResourceId+    , uiHttpMethod+    , uiStatusCode++    -- * Destructuring the Response+    , integrationResponse+    , IntegrationResponse+    -- * Response Lenses+    , iResponseTemplates+    , iSelectionPattern+    , iStatusCode+    , iResponseParameters+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents an update integration response request.+--+-- /See:/ 'updateIntegrationResponse' smart constructor.+data UpdateIntegrationResponse = UpdateIntegrationResponse'+    { _uiPatchOperations :: !(Maybe [PatchOperation])+    , _uiRestAPIId       :: !Text+    , _uiResourceId      :: !Text+    , _uiHttpMethod      :: !Text+    , _uiStatusCode      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateIntegrationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uiPatchOperations'+--+-- * 'uiRestAPIId'+--+-- * 'uiResourceId'+--+-- * 'uiHttpMethod'+--+-- * 'uiStatusCode'+updateIntegrationResponse+    :: Text -- ^ 'uiRestAPIId'+    -> Text -- ^ 'uiResourceId'+    -> Text -- ^ 'uiHttpMethod'+    -> Text -- ^ 'uiStatusCode'+    -> UpdateIntegrationResponse+updateIntegrationResponse pRestAPIId_ pResourceId_ pHttpMethod_ pStatusCode_ =+    UpdateIntegrationResponse'+    { _uiPatchOperations = Nothing+    , _uiRestAPIId = pRestAPIId_+    , _uiResourceId = pResourceId_+    , _uiHttpMethod = pHttpMethod_+    , _uiStatusCode = pStatusCode_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+uiPatchOperations :: Lens' UpdateIntegrationResponse [PatchOperation]+uiPatchOperations = lens _uiPatchOperations (\ s a -> s{_uiPatchOperations = a}) . _Default . _Coerce;++-- | Specifies an update integration response request\'s API identifier.+uiRestAPIId :: Lens' UpdateIntegrationResponse Text+uiRestAPIId = lens _uiRestAPIId (\ s a -> s{_uiRestAPIId = a});++-- | Specifies an update integration response request\'s resource identifier.+uiResourceId :: Lens' UpdateIntegrationResponse Text+uiResourceId = lens _uiResourceId (\ s a -> s{_uiResourceId = a});++-- | Specifies an update integration response request\'s HTTP method.+uiHttpMethod :: Lens' UpdateIntegrationResponse Text+uiHttpMethod = lens _uiHttpMethod (\ s a -> s{_uiHttpMethod = a});++-- | Specifies an update integration response request\'s status code.+uiStatusCode :: Lens' UpdateIntegrationResponse Text+uiStatusCode = lens _uiStatusCode (\ s a -> s{_uiStatusCode = a});++instance AWSRequest UpdateIntegrationResponse where+        type Rs UpdateIntegrationResponse =+             IntegrationResponse+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateIntegrationResponse where+        toHeaders = const mempty++instance ToJSON UpdateIntegrationResponse where+        toJSON UpdateIntegrationResponse'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _uiPatchOperations])++instance ToPath UpdateIntegrationResponse where+        toPath UpdateIntegrationResponse'{..}+          = mconcat+              ["/restapis/", toBS _uiRestAPIId, "/resources/",+               toBS _uiResourceId, "/methods/", toBS _uiHttpMethod,+               "/integration/responses/", toBS _uiStatusCode]++instance ToQuery UpdateIntegrationResponse where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateMethod.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateMethod+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing Method resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateMethod.html AWS API Reference> for UpdateMethod.+module Network.AWS.APIGateway.UpdateMethod+    (+    -- * Creating a Request+      updateMethod+    , UpdateMethod+    -- * Request Lenses+    , ummPatchOperations+    , ummRestAPIId+    , ummResourceId+    , ummHttpMethod++    -- * Destructuring the Response+    , method+    , Method+    -- * Response Lenses+    , mMethodResponses+    , mHttpMethod+    , mRequestModels+    , mRequestParameters+    , mAuthorizationType+    , mApiKeyRequired+    , mMethodIntegration+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to update an existing Method resource.+--+-- /See:/ 'updateMethod' smart constructor.+data UpdateMethod = UpdateMethod'+    { _ummPatchOperations :: !(Maybe [PatchOperation])+    , _ummRestAPIId       :: !Text+    , _ummResourceId      :: !Text+    , _ummHttpMethod      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateMethod' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ummPatchOperations'+--+-- * 'ummRestAPIId'+--+-- * 'ummResourceId'+--+-- * 'ummHttpMethod'+updateMethod+    :: Text -- ^ 'ummRestAPIId'+    -> Text -- ^ 'ummResourceId'+    -> Text -- ^ 'ummHttpMethod'+    -> UpdateMethod+updateMethod pRestAPIId_ pResourceId_ pHttpMethod_ =+    UpdateMethod'+    { _ummPatchOperations = Nothing+    , _ummRestAPIId = pRestAPIId_+    , _ummResourceId = pResourceId_+    , _ummHttpMethod = pHttpMethod_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+ummPatchOperations :: Lens' UpdateMethod [PatchOperation]+ummPatchOperations = lens _ummPatchOperations (\ s a -> s{_ummPatchOperations = a}) . _Default . _Coerce;++-- | The RestApi identifier for the Method resource.+ummRestAPIId :: Lens' UpdateMethod Text+ummRestAPIId = lens _ummRestAPIId (\ s a -> s{_ummRestAPIId = a});++-- | The Resource identifier for the Method resource.+ummResourceId :: Lens' UpdateMethod Text+ummResourceId = lens _ummResourceId (\ s a -> s{_ummResourceId = a});++-- | The HTTP verb that identifies the Method resource.+ummHttpMethod :: Lens' UpdateMethod Text+ummHttpMethod = lens _ummHttpMethod (\ s a -> s{_ummHttpMethod = a});++instance AWSRequest UpdateMethod where+        type Rs UpdateMethod = Method+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateMethod where+        toHeaders = const mempty++instance ToJSON UpdateMethod where+        toJSON UpdateMethod'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _ummPatchOperations])++instance ToPath UpdateMethod where+        toPath UpdateMethod'{..}+          = mconcat+              ["/restapis/", toBS _ummRestAPIId, "/resources/",+               toBS _ummResourceId, "/methods/",+               toBS _ummHttpMethod]++instance ToQuery UpdateMethod where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateMethodResponse.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateMethodResponse+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing MethodResponse resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateMethodResponse.html AWS API Reference> for UpdateMethodResponse.+module Network.AWS.APIGateway.UpdateMethodResponse+    (+    -- * Creating a Request+      updateMethodResponse+    , UpdateMethodResponse+    -- * Request Lenses+    , umPatchOperations+    , umRestAPIId+    , umResourceId+    , umHttpMethod+    , umStatusCode++    -- * Destructuring the Response+    , methodResponse+    , MethodResponse+    -- * Response Lenses+    , mResponseModels+    , mStatusCode+    , mResponseParameters+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | A request to update an existing MethodResponse resource.+--+-- /See:/ 'updateMethodResponse' smart constructor.+data UpdateMethodResponse = UpdateMethodResponse'+    { _umPatchOperations :: !(Maybe [PatchOperation])+    , _umRestAPIId       :: !Text+    , _umResourceId      :: !Text+    , _umHttpMethod      :: !Text+    , _umStatusCode      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateMethodResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umPatchOperations'+--+-- * 'umRestAPIId'+--+-- * 'umResourceId'+--+-- * 'umHttpMethod'+--+-- * 'umStatusCode'+updateMethodResponse+    :: Text -- ^ 'umRestAPIId'+    -> Text -- ^ 'umResourceId'+    -> Text -- ^ 'umHttpMethod'+    -> Text -- ^ 'umStatusCode'+    -> UpdateMethodResponse+updateMethodResponse pRestAPIId_ pResourceId_ pHttpMethod_ pStatusCode_ =+    UpdateMethodResponse'+    { _umPatchOperations = Nothing+    , _umRestAPIId = pRestAPIId_+    , _umResourceId = pResourceId_+    , _umHttpMethod = pHttpMethod_+    , _umStatusCode = pStatusCode_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+umPatchOperations :: Lens' UpdateMethodResponse [PatchOperation]+umPatchOperations = lens _umPatchOperations (\ s a -> s{_umPatchOperations = a}) . _Default . _Coerce;++-- | The RestApi identifier for the MethodResponse resource.+umRestAPIId :: Lens' UpdateMethodResponse Text+umRestAPIId = lens _umRestAPIId (\ s a -> s{_umRestAPIId = a});++-- | The Resource identifier for the MethodResponse resource.+umResourceId :: Lens' UpdateMethodResponse Text+umResourceId = lens _umResourceId (\ s a -> s{_umResourceId = a});++-- | The HTTP verb identifier for the parent Method resource.+umHttpMethod :: Lens' UpdateMethodResponse Text+umHttpMethod = lens _umHttpMethod (\ s a -> s{_umHttpMethod = a});++-- | The status code identifier for the MethodResponse resource.+umStatusCode :: Lens' UpdateMethodResponse Text+umStatusCode = lens _umStatusCode (\ s a -> s{_umStatusCode = a});++instance AWSRequest UpdateMethodResponse where+        type Rs UpdateMethodResponse = MethodResponse+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateMethodResponse where+        toHeaders = const mempty++instance ToJSON UpdateMethodResponse where+        toJSON UpdateMethodResponse'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _umPatchOperations])++instance ToPath UpdateMethodResponse where+        toPath UpdateMethodResponse'{..}+          = mconcat+              ["/restapis/", toBS _umRestAPIId, "/resources/",+               toBS _umResourceId, "/methods/", toBS _umHttpMethod,+               "/responses/", toBS _umStatusCode]++instance ToQuery UpdateMethodResponse where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateModel.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateModel+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes information about a model.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateModel.html AWS API Reference> for UpdateModel.+module Network.AWS.APIGateway.UpdateModel+    (+    -- * Creating a Request+      updateModel+    , UpdateModel+    -- * Request Lenses+    , uPatchOperations+    , uRestAPIId+    , uModelName++    -- * Destructuring the Response+    , model+    , Model+    -- * Response Lenses+    , mSchema+    , mName+    , mId+    , mDescription+    , mContentType+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to update an existing model in an existing RestApi resource.+--+-- /See:/ 'updateModel' smart constructor.+data UpdateModel = UpdateModel'+    { _uPatchOperations :: !(Maybe [PatchOperation])+    , _uRestAPIId       :: !Text+    , _uModelName       :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateModel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uPatchOperations'+--+-- * 'uRestAPIId'+--+-- * 'uModelName'+updateModel+    :: Text -- ^ 'uRestAPIId'+    -> Text -- ^ 'uModelName'+    -> UpdateModel+updateModel pRestAPIId_ pModelName_ =+    UpdateModel'+    { _uPatchOperations = Nothing+    , _uRestAPIId = pRestAPIId_+    , _uModelName = pModelName_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+uPatchOperations :: Lens' UpdateModel [PatchOperation]+uPatchOperations = lens _uPatchOperations (\ s a -> s{_uPatchOperations = a}) . _Default . _Coerce;++-- | The RestApi identifier under which the model exists.+uRestAPIId :: Lens' UpdateModel Text+uRestAPIId = lens _uRestAPIId (\ s a -> s{_uRestAPIId = a});++-- | The name of the model to update.+uModelName :: Lens' UpdateModel Text+uModelName = lens _uModelName (\ s a -> s{_uModelName = a});++instance AWSRequest UpdateModel where+        type Rs UpdateModel = Model+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateModel where+        toHeaders = const mempty++instance ToJSON UpdateModel where+        toJSON UpdateModel'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _uPatchOperations])++instance ToPath UpdateModel where+        toPath UpdateModel'{..}+          = mconcat+              ["/restapis/", toBS _uRestAPIId, "/models/",+               toBS _uModelName]++instance ToQuery UpdateModel where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateResource.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateResource+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes information about a Resource resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateResource.html AWS API Reference> for UpdateResource.+module Network.AWS.APIGateway.UpdateResource+    (+    -- * Creating a Request+      updateResource+    , UpdateResource+    -- * Request Lenses+    , urPatchOperations+    , urRestAPIId+    , urResourceId++    -- * Destructuring the Response+    , resource+    , Resource+    -- * Response Lenses+    , rPathPart+    , rPath+    , rId+    , rResourceMethods+    , rParentId+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to change information about a Resource resource.+--+-- /See:/ 'updateResource' smart constructor.+data UpdateResource = UpdateResource'+    { _urPatchOperations :: !(Maybe [PatchOperation])+    , _urRestAPIId       :: !Text+    , _urResourceId      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateResource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urPatchOperations'+--+-- * 'urRestAPIId'+--+-- * 'urResourceId'+updateResource+    :: Text -- ^ 'urRestAPIId'+    -> Text -- ^ 'urResourceId'+    -> UpdateResource+updateResource pRestAPIId_ pResourceId_ =+    UpdateResource'+    { _urPatchOperations = Nothing+    , _urRestAPIId = pRestAPIId_+    , _urResourceId = pResourceId_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+urPatchOperations :: Lens' UpdateResource [PatchOperation]+urPatchOperations = lens _urPatchOperations (\ s a -> s{_urPatchOperations = a}) . _Default . _Coerce;++-- | The RestApi identifier for the Resource resource.+urRestAPIId :: Lens' UpdateResource Text+urRestAPIId = lens _urRestAPIId (\ s a -> s{_urRestAPIId = a});++-- | The identifier of the Resource resource.+urResourceId :: Lens' UpdateResource Text+urResourceId = lens _urResourceId (\ s a -> s{_urResourceId = a});++instance AWSRequest UpdateResource where+        type Rs UpdateResource = Resource+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateResource where+        toHeaders = const mempty++instance ToJSON UpdateResource where+        toJSON UpdateResource'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _urPatchOperations])++instance ToPath UpdateResource where+        toPath UpdateResource'{..}+          = mconcat+              ["/restapis/", toBS _urRestAPIId, "/resources/",+               toBS _urResourceId]++instance ToQuery UpdateResource where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateRestAPI.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateRestAPI+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes information about the specified API.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateRestAPI.html AWS API Reference> for UpdateRestAPI.+module Network.AWS.APIGateway.UpdateRestAPI+    (+    -- * Creating a Request+      updateRestAPI+    , UpdateRestAPI+    -- * Request Lenses+    , uraPatchOperations+    , uraRestAPIId++    -- * Destructuring the Response+    , restAPI+    , RestAPI+    -- * Response Lenses+    , raCreatedDate+    , raName+    , raId+    , raDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Request to update an existing RestApi resource in your collection.+--+-- /See:/ 'updateRestAPI' smart constructor.+data UpdateRestAPI = UpdateRestAPI'+    { _uraPatchOperations :: !(Maybe [PatchOperation])+    , _uraRestAPIId       :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateRestAPI' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uraPatchOperations'+--+-- * 'uraRestAPIId'+updateRestAPI+    :: Text -- ^ 'uraRestAPIId'+    -> UpdateRestAPI+updateRestAPI pRestAPIId_ =+    UpdateRestAPI'+    { _uraPatchOperations = Nothing+    , _uraRestAPIId = pRestAPIId_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+uraPatchOperations :: Lens' UpdateRestAPI [PatchOperation]+uraPatchOperations = lens _uraPatchOperations (\ s a -> s{_uraPatchOperations = a}) . _Default . _Coerce;++-- | The ID of the RestApi you want to update.+uraRestAPIId :: Lens' UpdateRestAPI Text+uraRestAPIId = lens _uraRestAPIId (\ s a -> s{_uraRestAPIId = a});++instance AWSRequest UpdateRestAPI where+        type Rs UpdateRestAPI = RestAPI+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateRestAPI where+        toHeaders = const mempty++instance ToJSON UpdateRestAPI where+        toJSON UpdateRestAPI'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _uraPatchOperations])++instance ToPath UpdateRestAPI where+        toPath UpdateRestAPI'{..}+          = mconcat ["/restapis/", toBS _uraRestAPIId]++instance ToQuery UpdateRestAPI where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/UpdateStage.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.UpdateStage+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes information about a Stage resource.+--+-- /See:/ <http://docs.aws.amazon.com/apigateway/api-reference/resource/UpdateStage.html AWS API Reference> for UpdateStage.+module Network.AWS.APIGateway.UpdateStage+    (+    -- * Creating a Request+      updateStage+    , UpdateStage+    -- * Request Lenses+    , usPatchOperations+    , usRestAPIId+    , usStageName++    -- * Destructuring the Response+    , stage+    , Stage+    -- * Response Lenses+    , sDeploymentId+    , sClientCertificateId+    , sCreatedDate+    , sCacheClusterStatus+    , sMethodSettings+    , sLastUpdatedDate+    , sCacheClusterSize+    , sCacheClusterEnabled+    , sStageName+    , sDescription+    ) where++import           Network.AWS.APIGateway.Types+import           Network.AWS.APIGateway.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Requests Amazon API Gateway to change information about a Stage+-- resource.+--+-- /See:/ 'updateStage' smart constructor.+data UpdateStage = UpdateStage'+    { _usPatchOperations :: !(Maybe [PatchOperation])+    , _usRestAPIId       :: !Text+    , _usStageName       :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateStage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usPatchOperations'+--+-- * 'usRestAPIId'+--+-- * 'usStageName'+updateStage+    :: Text -- ^ 'usRestAPIId'+    -> Text -- ^ 'usStageName'+    -> UpdateStage+updateStage pRestAPIId_ pStageName_ =+    UpdateStage'+    { _usPatchOperations = Nothing+    , _usRestAPIId = pRestAPIId_+    , _usStageName = pStageName_+    }++-- | A list of operations describing the updates to apply to the specified+-- resource. The patches are applied in the order specified in the list.+usPatchOperations :: Lens' UpdateStage [PatchOperation]+usPatchOperations = lens _usPatchOperations (\ s a -> s{_usPatchOperations = a}) . _Default . _Coerce;++-- | The identifier of the RestApi resource for the Stage resource to change+-- information about.+usRestAPIId :: Lens' UpdateStage Text+usRestAPIId = lens _usRestAPIId (\ s a -> s{_usRestAPIId = a});++-- | The name of the Stage resource to change information about.+usStageName :: Lens' UpdateStage Text+usStageName = lens _usStageName (\ s a -> s{_usStageName = a});++instance AWSRequest UpdateStage where+        type Rs UpdateStage = Stage+        request = patchJSON aPIGateway+        response = receiveJSON (\ s h x -> eitherParseJSON x)++instance ToHeaders UpdateStage where+        toHeaders = const mempty++instance ToJSON UpdateStage where+        toJSON UpdateStage'{..}+          = object+              (catMaybes+                 [("patchOperations" .=) <$> _usPatchOperations])++instance ToPath UpdateStage where+        toPath UpdateStage'{..}+          = mconcat+              ["/restapis/", toBS _usRestAPIId, "/stages/",+               toBS _usStageName]++instance ToQuery UpdateStage where+        toQuery = const mempty
+ gen/Network/AWS/APIGateway/Waiters.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.APIGateway.Waiters+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.APIGateway.Waiters where++import           Network.AWS.APIGateway.Types+import           Network.AWS.Prelude+import           Network.AWS.Waiter
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Main (main) where++import Test.Tasty+import Test.AWS.APIGateway+import Test.AWS.APIGateway.Internal++main :: IO ()+main = defaultMain $ testGroup "APIGateway"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/APIGateway.hs view
@@ -0,0 +1,23 @@+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Test.AWS.APIGateway+-- Copyright   : (c) 2013-2015 Brendan Hay+-- 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 Test.AWS.APIGateway where++import           Test.AWS.Prelude++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/APIGateway/Internal.hs view
@@ -0,0 +1,17 @@+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Test.AWS.APIGateway.Internal+-- Copyright   : (c) 2013-2015 Brendan Hay+-- 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 Test.AWS.APIGateway.Internal where++import           Test.AWS.Prelude
+ test/Test/AWS/Gen/APIGateway.hs view
@@ -0,0 +1,1245 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans        #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.AWS.Gen.APIGateway+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Gen.APIGateway where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.APIGateway+import Test.AWS.APIGateway.Internal++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ testGetResource $+--             getResource+--+--         , testGetDeployments $+--             getDeployments+--+--         , testGetDeployment $+--             getDeployment+--+--         , testGetDomainNames $+--             getDomainNames+--+--         , testGetClientCertificate $+--             getClientCertificate+--+--         , testGetMethodResponse $+--             getMethodResponse+--+--         , testGetModels $+--             getModels+--+--         , testGetBasePathMapping $+--             getBasePathMapping+--+--         , testPutMethodResponse $+--             putMethodResponse+--+--         , testDeleteMethodResponse $+--             deleteMethodResponse+--+--         , testUpdateMethodResponse $+--             updateMethodResponse+--+--         , testDeleteStage $+--             deleteStage+--+--         , testUpdateStage $+--             updateStage+--+--         , testGetRestAPIs $+--             getRestAPIs+--+--         , testCreateDeployment $+--             createDeployment+--+--         , testCreateBasePathMapping $+--             createBasePathMapping+--+--         , testGetIntegration $+--             getIntegration+--+--         , testUpdateAccount $+--             updateAccount+--+--         , testDeleteDeployment $+--             deleteDeployment+--+--         , testUpdateDeployment $+--             updateDeployment+--+--         , testDeleteResource $+--             deleteResource+--+--         , testUpdateResource $+--             updateResource+--+--         , testCreateModel $+--             createModel+--+--         , testGetIntegrationResponse $+--             getIntegrationResponse+--+--         , testCreateDomainName $+--             createDomainName+--+--         , testDeleteModel $+--             deleteModel+--+--         , testUpdateModel $+--             updateModel+--+--         , testDeleteAPIKey $+--             deleteAPIKey+--+--         , testUpdateAPIKey $+--             updateAPIKey+--+--         , testGetRestAPI $+--             getRestAPI+--+--         , testGetStages $+--             getStages+--+--         , testGetMethod $+--             getMethod+--+--         , testGetModel $+--             getModel+--+--         , testUpdateRestAPI $+--             updateRestAPI+--+--         , testDeleteRestAPI $+--             deleteRestAPI+--+--         , testTestInvokeMethod $+--             testInvokeMethod+--+--         , testGetDomainName $+--             getDomainName+--+--         , testPutIntegrationResponse $+--             putIntegrationResponse+--+--         , testFlushStageCache $+--             flushStageCache+--+--         , testCreateRestAPI $+--             createRestAPI+--+--         , testDeleteIntegrationResponse $+--             deleteIntegrationResponse+--+--         , testUpdateIntegrationResponse $+--             updateIntegrationResponse+--+--         , testDeleteIntegration $+--             deleteIntegration+--+--         , testUpdateIntegration $+--             updateIntegration+--+--         , testGenerateClientCertificate $+--             generateClientCertificate+--+--         , testGetResources $+--             getResources+--+--         , testGetAccount $+--             getAccount+--+--         , testPutIntegration $+--             putIntegration+--+--         , testGetStage $+--             getStage+--+--         , testGetSDK $+--             getSDK+--+--         , testGetAPIKeys $+--             getAPIKeys+--+--         , testDeleteBasePathMapping $+--             deleteBasePathMapping+--+--         , testUpdateBasePathMapping $+--             updateBasePathMapping+--+--         , testDeleteClientCertificate $+--             deleteClientCertificate+--+--         , testUpdateClientCertificate $+--             updateClientCertificate+--+--         , testCreateStage $+--             createStage+--+--         , testCreateAPIKey $+--             createAPIKey+--+--         , testPutMethod $+--             putMethod+--+--         , testUpdateDomainName $+--             updateDomainName+--+--         , testDeleteDomainName $+--             deleteDomainName+--+--         , testCreateResource $+--             createResource+--+--         , testDeleteMethod $+--             deleteMethod+--+--         , testUpdateMethod $+--             updateMethod+--+--         , testGetClientCertificates $+--             getClientCertificates+--+--         , testGetModelTemplate $+--             getModelTemplate+--+--         , testGetBasePathMappings $+--             getBasePathMappings+--+--         , testGetAPIKey $+--             getAPIKey+--+--           ]++--     , testGroup "response"+--         [ testGetResourceResponse $+--             resource+--+--         , testGetDeploymentsResponse $+--             getDeploymentsResponse+--+--         , testGetDeploymentResponse $+--             deployment+--+--         , testGetDomainNamesResponse $+--             getDomainNamesResponse+--+--         , testGetClientCertificateResponse $+--             clientCertificate+--+--         , testGetMethodResponseResponse $+--             methodResponse+--+--         , testGetModelsResponse $+--             getModelsResponse+--+--         , testGetBasePathMappingResponse $+--             basePathMapping+--+--         , testPutMethodResponseResponse $+--             methodResponse+--+--         , testDeleteMethodResponseResponse $+--             deleteMethodResponseResponse+--+--         , testUpdateMethodResponseResponse $+--             methodResponse+--+--         , testDeleteStageResponse $+--             deleteStageResponse+--+--         , testUpdateStageResponse $+--             stage+--+--         , testGetRestAPIsResponse $+--             getRestAPIsResponse+--+--         , testCreateDeploymentResponse $+--             deployment+--+--         , testCreateBasePathMappingResponse $+--             basePathMapping+--+--         , testGetIntegrationResponse $+--             integration+--+--         , testUpdateAccountResponse $+--             account+--+--         , testDeleteDeploymentResponse $+--             deleteDeploymentResponse+--+--         , testUpdateDeploymentResponse $+--             deployment+--+--         , testDeleteResourceResponse $+--             deleteResourceResponse+--+--         , testUpdateResourceResponse $+--             resource+--+--         , testCreateModelResponse $+--             model+--+--         , testGetIntegrationResponseResponse $+--             integrationResponse+--+--         , testCreateDomainNameResponse $+--             domainName+--+--         , testDeleteModelResponse $+--             deleteModelResponse+--+--         , testUpdateModelResponse $+--             model+--+--         , testDeleteAPIKeyResponse $+--             deleteAPIKeyResponse+--+--         , testUpdateAPIKeyResponse $+--             apiKey+--+--         , testGetRestAPIResponse $+--             restAPI+--+--         , testGetStagesResponse $+--             getStagesResponse+--+--         , testGetMethodResponse $+--             method+--+--         , testGetModelResponse $+--             model+--+--         , testUpdateRestAPIResponse $+--             restAPI+--+--         , testDeleteRestAPIResponse $+--             deleteRestAPIResponse+--+--         , testTestInvokeMethodResponse $+--             testInvokeMethodResponse+--+--         , testGetDomainNameResponse $+--             domainName+--+--         , testPutIntegrationResponseResponse $+--             integrationResponse+--+--         , testFlushStageCacheResponse $+--             flushStageCacheResponse+--+--         , testCreateRestAPIResponse $+--             restAPI+--+--         , testDeleteIntegrationResponseResponse $+--             deleteIntegrationResponseResponse+--+--         , testUpdateIntegrationResponseResponse $+--             integrationResponse+--+--         , testDeleteIntegrationResponse $+--             deleteIntegrationResponse'+--+--         , testUpdateIntegrationResponse $+--             integration+--+--         , testGenerateClientCertificateResponse $+--             clientCertificate+--+--         , testGetResourcesResponse $+--             getResourcesResponse+--+--         , testGetAccountResponse $+--             account+--+--         , testPutIntegrationResponse $+--             integration+--+--         , testGetStageResponse $+--             stage+--+--         , testGetSDKResponse $+--             getSDKResponse+--+--         , testGetAPIKeysResponse $+--             getAPIKeysResponse+--+--         , testDeleteBasePathMappingResponse $+--             deleteBasePathMappingResponse+--+--         , testUpdateBasePathMappingResponse $+--             basePathMapping+--+--         , testDeleteClientCertificateResponse $+--             deleteClientCertificateResponse+--+--         , testUpdateClientCertificateResponse $+--             clientCertificate+--+--         , testCreateStageResponse $+--             stage+--+--         , testCreateAPIKeyResponse $+--             apiKey+--+--         , testPutMethodResponse $+--             method+--+--         , testUpdateDomainNameResponse $+--             domainName+--+--         , testDeleteDomainNameResponse $+--             deleteDomainNameResponse+--+--         , testCreateResourceResponse $+--             resource+--+--         , testDeleteMethodResponse $+--             deleteMethodResponse'+--+--         , testUpdateMethodResponse $+--             method+--+--         , testGetClientCertificatesResponse $+--             getClientCertificatesResponse+--+--         , testGetModelTemplateResponse $+--             getModelTemplateResponse+--+--         , testGetBasePathMappingsResponse $+--             getBasePathMappingsResponse+--+--         , testGetAPIKeyResponse $+--             apiKey+--+--           ]+--     ]++-- Requests++testGetResource :: GetResource -> TestTree+testGetResource = req+    "GetResource"+    "fixture/GetResource.yaml"++testGetDeployments :: GetDeployments -> TestTree+testGetDeployments = req+    "GetDeployments"+    "fixture/GetDeployments.yaml"++testGetDeployment :: GetDeployment -> TestTree+testGetDeployment = req+    "GetDeployment"+    "fixture/GetDeployment.yaml"++testGetDomainNames :: GetDomainNames -> TestTree+testGetDomainNames = req+    "GetDomainNames"+    "fixture/GetDomainNames.yaml"++testGetClientCertificate :: GetClientCertificate -> TestTree+testGetClientCertificate = req+    "GetClientCertificate"+    "fixture/GetClientCertificate.yaml"++testGetMethodResponse :: GetMethodResponse -> TestTree+testGetMethodResponse = req+    "GetMethodResponse"+    "fixture/GetMethodResponse.yaml"++testGetModels :: GetModels -> TestTree+testGetModels = req+    "GetModels"+    "fixture/GetModels.yaml"++testGetBasePathMapping :: GetBasePathMapping -> TestTree+testGetBasePathMapping = req+    "GetBasePathMapping"+    "fixture/GetBasePathMapping.yaml"++testPutMethodResponse :: PutMethodResponse -> TestTree+testPutMethodResponse = req+    "PutMethodResponse"+    "fixture/PutMethodResponse.yaml"++testDeleteMethodResponse :: DeleteMethodResponse -> TestTree+testDeleteMethodResponse = req+    "DeleteMethodResponse"+    "fixture/DeleteMethodResponse.yaml"++testUpdateMethodResponse :: UpdateMethodResponse -> TestTree+testUpdateMethodResponse = req+    "UpdateMethodResponse"+    "fixture/UpdateMethodResponse.yaml"++testDeleteStage :: DeleteStage -> TestTree+testDeleteStage = req+    "DeleteStage"+    "fixture/DeleteStage.yaml"++testUpdateStage :: UpdateStage -> TestTree+testUpdateStage = req+    "UpdateStage"+    "fixture/UpdateStage.yaml"++testGetRestAPIs :: GetRestAPIs -> TestTree+testGetRestAPIs = req+    "GetRestAPIs"+    "fixture/GetRestAPIs.yaml"++testCreateDeployment :: CreateDeployment -> TestTree+testCreateDeployment = req+    "CreateDeployment"+    "fixture/CreateDeployment.yaml"++testCreateBasePathMapping :: CreateBasePathMapping -> TestTree+testCreateBasePathMapping = req+    "CreateBasePathMapping"+    "fixture/CreateBasePathMapping.yaml"++testGetIntegration :: GetIntegration -> TestTree+testGetIntegration = req+    "GetIntegration"+    "fixture/GetIntegration.yaml"++testUpdateAccount :: UpdateAccount -> TestTree+testUpdateAccount = req+    "UpdateAccount"+    "fixture/UpdateAccount.yaml"++testDeleteDeployment :: DeleteDeployment -> TestTree+testDeleteDeployment = req+    "DeleteDeployment"+    "fixture/DeleteDeployment.yaml"++testUpdateDeployment :: UpdateDeployment -> TestTree+testUpdateDeployment = req+    "UpdateDeployment"+    "fixture/UpdateDeployment.yaml"++testDeleteResource :: DeleteResource -> TestTree+testDeleteResource = req+    "DeleteResource"+    "fixture/DeleteResource.yaml"++testUpdateResource :: UpdateResource -> TestTree+testUpdateResource = req+    "UpdateResource"+    "fixture/UpdateResource.yaml"++testCreateModel :: CreateModel -> TestTree+testCreateModel = req+    "CreateModel"+    "fixture/CreateModel.yaml"++testGetIntegrationResponse :: GetIntegrationResponse -> TestTree+testGetIntegrationResponse = req+    "GetIntegrationResponse"+    "fixture/GetIntegrationResponse.yaml"++testCreateDomainName :: CreateDomainName -> TestTree+testCreateDomainName = req+    "CreateDomainName"+    "fixture/CreateDomainName.yaml"++testDeleteModel :: DeleteModel -> TestTree+testDeleteModel = req+    "DeleteModel"+    "fixture/DeleteModel.yaml"++testUpdateModel :: UpdateModel -> TestTree+testUpdateModel = req+    "UpdateModel"+    "fixture/UpdateModel.yaml"++testDeleteAPIKey :: DeleteAPIKey -> TestTree+testDeleteAPIKey = req+    "DeleteAPIKey"+    "fixture/DeleteAPIKey.yaml"++testUpdateAPIKey :: UpdateAPIKey -> TestTree+testUpdateAPIKey = req+    "UpdateAPIKey"+    "fixture/UpdateAPIKey.yaml"++testGetRestAPI :: GetRestAPI -> TestTree+testGetRestAPI = req+    "GetRestAPI"+    "fixture/GetRestAPI.yaml"++testGetStages :: GetStages -> TestTree+testGetStages = req+    "GetStages"+    "fixture/GetStages.yaml"++testGetMethod :: GetMethod -> TestTree+testGetMethod = req+    "GetMethod"+    "fixture/GetMethod.yaml"++testGetModel :: GetModel -> TestTree+testGetModel = req+    "GetModel"+    "fixture/GetModel.yaml"++testUpdateRestAPI :: UpdateRestAPI -> TestTree+testUpdateRestAPI = req+    "UpdateRestAPI"+    "fixture/UpdateRestAPI.yaml"++testDeleteRestAPI :: DeleteRestAPI -> TestTree+testDeleteRestAPI = req+    "DeleteRestAPI"+    "fixture/DeleteRestAPI.yaml"++testTestInvokeMethod :: TestInvokeMethod -> TestTree+testTestInvokeMethod = req+    "TestInvokeMethod"+    "fixture/TestInvokeMethod.yaml"++testGetDomainName :: GetDomainName -> TestTree+testGetDomainName = req+    "GetDomainName"+    "fixture/GetDomainName.yaml"++testPutIntegrationResponse :: PutIntegrationResponse -> TestTree+testPutIntegrationResponse = req+    "PutIntegrationResponse"+    "fixture/PutIntegrationResponse.yaml"++testFlushStageCache :: FlushStageCache -> TestTree+testFlushStageCache = req+    "FlushStageCache"+    "fixture/FlushStageCache.yaml"++testCreateRestAPI :: CreateRestAPI -> TestTree+testCreateRestAPI = req+    "CreateRestAPI"+    "fixture/CreateRestAPI.yaml"++testDeleteIntegrationResponse :: DeleteIntegrationResponse -> TestTree+testDeleteIntegrationResponse = req+    "DeleteIntegrationResponse"+    "fixture/DeleteIntegrationResponse.yaml"++testUpdateIntegrationResponse :: UpdateIntegrationResponse -> TestTree+testUpdateIntegrationResponse = req+    "UpdateIntegrationResponse"+    "fixture/UpdateIntegrationResponse.yaml"++testDeleteIntegration :: DeleteIntegration -> TestTree+testDeleteIntegration = req+    "DeleteIntegration"+    "fixture/DeleteIntegration.yaml"++testUpdateIntegration :: UpdateIntegration -> TestTree+testUpdateIntegration = req+    "UpdateIntegration"+    "fixture/UpdateIntegration.yaml"++testGenerateClientCertificate :: GenerateClientCertificate -> TestTree+testGenerateClientCertificate = req+    "GenerateClientCertificate"+    "fixture/GenerateClientCertificate.yaml"++testGetResources :: GetResources -> TestTree+testGetResources = req+    "GetResources"+    "fixture/GetResources.yaml"++testGetAccount :: GetAccount -> TestTree+testGetAccount = req+    "GetAccount"+    "fixture/GetAccount.yaml"++testPutIntegration :: PutIntegration -> TestTree+testPutIntegration = req+    "PutIntegration"+    "fixture/PutIntegration.yaml"++testGetStage :: GetStage -> TestTree+testGetStage = req+    "GetStage"+    "fixture/GetStage.yaml"++testGetSDK :: GetSDK -> TestTree+testGetSDK = req+    "GetSDK"+    "fixture/GetSDK.yaml"++testGetAPIKeys :: GetAPIKeys -> TestTree+testGetAPIKeys = req+    "GetAPIKeys"+    "fixture/GetAPIKeys.yaml"++testDeleteBasePathMapping :: DeleteBasePathMapping -> TestTree+testDeleteBasePathMapping = req+    "DeleteBasePathMapping"+    "fixture/DeleteBasePathMapping.yaml"++testUpdateBasePathMapping :: UpdateBasePathMapping -> TestTree+testUpdateBasePathMapping = req+    "UpdateBasePathMapping"+    "fixture/UpdateBasePathMapping.yaml"++testDeleteClientCertificate :: DeleteClientCertificate -> TestTree+testDeleteClientCertificate = req+    "DeleteClientCertificate"+    "fixture/DeleteClientCertificate.yaml"++testUpdateClientCertificate :: UpdateClientCertificate -> TestTree+testUpdateClientCertificate = req+    "UpdateClientCertificate"+    "fixture/UpdateClientCertificate.yaml"++testCreateStage :: CreateStage -> TestTree+testCreateStage = req+    "CreateStage"+    "fixture/CreateStage.yaml"++testCreateAPIKey :: CreateAPIKey -> TestTree+testCreateAPIKey = req+    "CreateAPIKey"+    "fixture/CreateAPIKey.yaml"++testPutMethod :: PutMethod -> TestTree+testPutMethod = req+    "PutMethod"+    "fixture/PutMethod.yaml"++testUpdateDomainName :: UpdateDomainName -> TestTree+testUpdateDomainName = req+    "UpdateDomainName"+    "fixture/UpdateDomainName.yaml"++testDeleteDomainName :: DeleteDomainName -> TestTree+testDeleteDomainName = req+    "DeleteDomainName"+    "fixture/DeleteDomainName.yaml"++testCreateResource :: CreateResource -> TestTree+testCreateResource = req+    "CreateResource"+    "fixture/CreateResource.yaml"++testDeleteMethod :: DeleteMethod -> TestTree+testDeleteMethod = req+    "DeleteMethod"+    "fixture/DeleteMethod.yaml"++testUpdateMethod :: UpdateMethod -> TestTree+testUpdateMethod = req+    "UpdateMethod"+    "fixture/UpdateMethod.yaml"++testGetClientCertificates :: GetClientCertificates -> TestTree+testGetClientCertificates = req+    "GetClientCertificates"+    "fixture/GetClientCertificates.yaml"++testGetModelTemplate :: GetModelTemplate -> TestTree+testGetModelTemplate = req+    "GetModelTemplate"+    "fixture/GetModelTemplate.yaml"++testGetBasePathMappings :: GetBasePathMappings -> TestTree+testGetBasePathMappings = req+    "GetBasePathMappings"+    "fixture/GetBasePathMappings.yaml"++testGetAPIKey :: GetAPIKey -> TestTree+testGetAPIKey = req+    "GetAPIKey"+    "fixture/GetAPIKey.yaml"++-- Responses++testGetResourceResponse :: Resource -> TestTree+testGetResourceResponse = res+    "GetResourceResponse"+    "fixture/GetResourceResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetResource)++testGetDeploymentsResponse :: GetDeploymentsResponse -> TestTree+testGetDeploymentsResponse = res+    "GetDeploymentsResponse"+    "fixture/GetDeploymentsResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetDeployments)++testGetDeploymentResponse :: Deployment -> TestTree+testGetDeploymentResponse = res+    "GetDeploymentResponse"+    "fixture/GetDeploymentResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetDeployment)++testGetDomainNamesResponse :: GetDomainNamesResponse -> TestTree+testGetDomainNamesResponse = res+    "GetDomainNamesResponse"+    "fixture/GetDomainNamesResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetDomainNames)++testGetClientCertificateResponse :: ClientCertificate -> TestTree+testGetClientCertificateResponse = res+    "GetClientCertificateResponse"+    "fixture/GetClientCertificateResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetClientCertificate)++testGetMethodResponseResponse :: MethodResponse -> TestTree+testGetMethodResponseResponse = res+    "GetMethodResponseResponse"+    "fixture/GetMethodResponseResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetMethodResponse)++testGetModelsResponse :: GetModelsResponse -> TestTree+testGetModelsResponse = res+    "GetModelsResponse"+    "fixture/GetModelsResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetModels)++testGetBasePathMappingResponse :: BasePathMapping -> TestTree+testGetBasePathMappingResponse = res+    "GetBasePathMappingResponse"+    "fixture/GetBasePathMappingResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetBasePathMapping)++testPutMethodResponseResponse :: MethodResponse -> TestTree+testPutMethodResponseResponse = res+    "PutMethodResponseResponse"+    "fixture/PutMethodResponseResponse.proto"+    aPIGateway+    (Proxy :: Proxy PutMethodResponse)++testDeleteMethodResponseResponse :: DeleteMethodResponseResponse -> TestTree+testDeleteMethodResponseResponse = res+    "DeleteMethodResponseResponse"+    "fixture/DeleteMethodResponseResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteMethodResponse)++testUpdateMethodResponseResponse :: MethodResponse -> TestTree+testUpdateMethodResponseResponse = res+    "UpdateMethodResponseResponse"+    "fixture/UpdateMethodResponseResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateMethodResponse)++testDeleteStageResponse :: DeleteStageResponse -> TestTree+testDeleteStageResponse = res+    "DeleteStageResponse"+    "fixture/DeleteStageResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteStage)++testUpdateStageResponse :: Stage -> TestTree+testUpdateStageResponse = res+    "UpdateStageResponse"+    "fixture/UpdateStageResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateStage)++testGetRestAPIsResponse :: GetRestAPIsResponse -> TestTree+testGetRestAPIsResponse = res+    "GetRestAPIsResponse"+    "fixture/GetRestAPIsResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetRestAPIs)++testCreateDeploymentResponse :: Deployment -> TestTree+testCreateDeploymentResponse = res+    "CreateDeploymentResponse"+    "fixture/CreateDeploymentResponse.proto"+    aPIGateway+    (Proxy :: Proxy CreateDeployment)++testCreateBasePathMappingResponse :: BasePathMapping -> TestTree+testCreateBasePathMappingResponse = res+    "CreateBasePathMappingResponse"+    "fixture/CreateBasePathMappingResponse.proto"+    aPIGateway+    (Proxy :: Proxy CreateBasePathMapping)++testGetIntegrationResponse :: Integration -> TestTree+testGetIntegrationResponse = res+    "GetIntegrationResponse"+    "fixture/GetIntegrationResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetIntegration)++testUpdateAccountResponse :: Account -> TestTree+testUpdateAccountResponse = res+    "UpdateAccountResponse"+    "fixture/UpdateAccountResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateAccount)++testDeleteDeploymentResponse :: DeleteDeploymentResponse -> TestTree+testDeleteDeploymentResponse = res+    "DeleteDeploymentResponse"+    "fixture/DeleteDeploymentResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteDeployment)++testUpdateDeploymentResponse :: Deployment -> TestTree+testUpdateDeploymentResponse = res+    "UpdateDeploymentResponse"+    "fixture/UpdateDeploymentResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateDeployment)++testDeleteResourceResponse :: DeleteResourceResponse -> TestTree+testDeleteResourceResponse = res+    "DeleteResourceResponse"+    "fixture/DeleteResourceResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteResource)++testUpdateResourceResponse :: Resource -> TestTree+testUpdateResourceResponse = res+    "UpdateResourceResponse"+    "fixture/UpdateResourceResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateResource)++testCreateModelResponse :: Model -> TestTree+testCreateModelResponse = res+    "CreateModelResponse"+    "fixture/CreateModelResponse.proto"+    aPIGateway+    (Proxy :: Proxy CreateModel)++testGetIntegrationResponseResponse :: IntegrationResponse -> TestTree+testGetIntegrationResponseResponse = res+    "GetIntegrationResponseResponse"+    "fixture/GetIntegrationResponseResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetIntegrationResponse)++testCreateDomainNameResponse :: DomainName -> TestTree+testCreateDomainNameResponse = res+    "CreateDomainNameResponse"+    "fixture/CreateDomainNameResponse.proto"+    aPIGateway+    (Proxy :: Proxy CreateDomainName)++testDeleteModelResponse :: DeleteModelResponse -> TestTree+testDeleteModelResponse = res+    "DeleteModelResponse"+    "fixture/DeleteModelResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteModel)++testUpdateModelResponse :: Model -> TestTree+testUpdateModelResponse = res+    "UpdateModelResponse"+    "fixture/UpdateModelResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateModel)++testDeleteAPIKeyResponse :: DeleteAPIKeyResponse -> TestTree+testDeleteAPIKeyResponse = res+    "DeleteAPIKeyResponse"+    "fixture/DeleteAPIKeyResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteAPIKey)++testUpdateAPIKeyResponse :: APIKey -> TestTree+testUpdateAPIKeyResponse = res+    "UpdateAPIKeyResponse"+    "fixture/UpdateAPIKeyResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateAPIKey)++testGetRestAPIResponse :: RestAPI -> TestTree+testGetRestAPIResponse = res+    "GetRestAPIResponse"+    "fixture/GetRestAPIResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetRestAPI)++testGetStagesResponse :: GetStagesResponse -> TestTree+testGetStagesResponse = res+    "GetStagesResponse"+    "fixture/GetStagesResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetStages)++testGetMethodResponse :: Method -> TestTree+testGetMethodResponse = res+    "GetMethodResponse"+    "fixture/GetMethodResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetMethod)++testGetModelResponse :: Model -> TestTree+testGetModelResponse = res+    "GetModelResponse"+    "fixture/GetModelResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetModel)++testUpdateRestAPIResponse :: RestAPI -> TestTree+testUpdateRestAPIResponse = res+    "UpdateRestAPIResponse"+    "fixture/UpdateRestAPIResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateRestAPI)++testDeleteRestAPIResponse :: DeleteRestAPIResponse -> TestTree+testDeleteRestAPIResponse = res+    "DeleteRestAPIResponse"+    "fixture/DeleteRestAPIResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteRestAPI)++testTestInvokeMethodResponse :: TestInvokeMethodResponse -> TestTree+testTestInvokeMethodResponse = res+    "TestInvokeMethodResponse"+    "fixture/TestInvokeMethodResponse.proto"+    aPIGateway+    (Proxy :: Proxy TestInvokeMethod)++testGetDomainNameResponse :: DomainName -> TestTree+testGetDomainNameResponse = res+    "GetDomainNameResponse"+    "fixture/GetDomainNameResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetDomainName)++testPutIntegrationResponseResponse :: IntegrationResponse -> TestTree+testPutIntegrationResponseResponse = res+    "PutIntegrationResponseResponse"+    "fixture/PutIntegrationResponseResponse.proto"+    aPIGateway+    (Proxy :: Proxy PutIntegrationResponse)++testFlushStageCacheResponse :: FlushStageCacheResponse -> TestTree+testFlushStageCacheResponse = res+    "FlushStageCacheResponse"+    "fixture/FlushStageCacheResponse.proto"+    aPIGateway+    (Proxy :: Proxy FlushStageCache)++testCreateRestAPIResponse :: RestAPI -> TestTree+testCreateRestAPIResponse = res+    "CreateRestAPIResponse"+    "fixture/CreateRestAPIResponse.proto"+    aPIGateway+    (Proxy :: Proxy CreateRestAPI)++testDeleteIntegrationResponseResponse :: DeleteIntegrationResponseResponse -> TestTree+testDeleteIntegrationResponseResponse = res+    "DeleteIntegrationResponseResponse"+    "fixture/DeleteIntegrationResponseResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteIntegrationResponse)++testUpdateIntegrationResponseResponse :: IntegrationResponse -> TestTree+testUpdateIntegrationResponseResponse = res+    "UpdateIntegrationResponseResponse"+    "fixture/UpdateIntegrationResponseResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateIntegrationResponse)++testDeleteIntegrationResponse :: DeleteIntegrationResponse' -> TestTree+testDeleteIntegrationResponse = res+    "DeleteIntegrationResponse"+    "fixture/DeleteIntegrationResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteIntegration)++testUpdateIntegrationResponse :: Integration -> TestTree+testUpdateIntegrationResponse = res+    "UpdateIntegrationResponse"+    "fixture/UpdateIntegrationResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateIntegration)++testGenerateClientCertificateResponse :: ClientCertificate -> TestTree+testGenerateClientCertificateResponse = res+    "GenerateClientCertificateResponse"+    "fixture/GenerateClientCertificateResponse.proto"+    aPIGateway+    (Proxy :: Proxy GenerateClientCertificate)++testGetResourcesResponse :: GetResourcesResponse -> TestTree+testGetResourcesResponse = res+    "GetResourcesResponse"+    "fixture/GetResourcesResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetResources)++testGetAccountResponse :: Account -> TestTree+testGetAccountResponse = res+    "GetAccountResponse"+    "fixture/GetAccountResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetAccount)++testPutIntegrationResponse :: Integration -> TestTree+testPutIntegrationResponse = res+    "PutIntegrationResponse"+    "fixture/PutIntegrationResponse.proto"+    aPIGateway+    (Proxy :: Proxy PutIntegration)++testGetStageResponse :: Stage -> TestTree+testGetStageResponse = res+    "GetStageResponse"+    "fixture/GetStageResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetStage)++testGetSDKResponse :: GetSDKResponse -> TestTree+testGetSDKResponse = res+    "GetSDKResponse"+    "fixture/GetSDKResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetSDK)++testGetAPIKeysResponse :: GetAPIKeysResponse -> TestTree+testGetAPIKeysResponse = res+    "GetAPIKeysResponse"+    "fixture/GetAPIKeysResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetAPIKeys)++testDeleteBasePathMappingResponse :: DeleteBasePathMappingResponse -> TestTree+testDeleteBasePathMappingResponse = res+    "DeleteBasePathMappingResponse"+    "fixture/DeleteBasePathMappingResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteBasePathMapping)++testUpdateBasePathMappingResponse :: BasePathMapping -> TestTree+testUpdateBasePathMappingResponse = res+    "UpdateBasePathMappingResponse"+    "fixture/UpdateBasePathMappingResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateBasePathMapping)++testDeleteClientCertificateResponse :: DeleteClientCertificateResponse -> TestTree+testDeleteClientCertificateResponse = res+    "DeleteClientCertificateResponse"+    "fixture/DeleteClientCertificateResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteClientCertificate)++testUpdateClientCertificateResponse :: ClientCertificate -> TestTree+testUpdateClientCertificateResponse = res+    "UpdateClientCertificateResponse"+    "fixture/UpdateClientCertificateResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateClientCertificate)++testCreateStageResponse :: Stage -> TestTree+testCreateStageResponse = res+    "CreateStageResponse"+    "fixture/CreateStageResponse.proto"+    aPIGateway+    (Proxy :: Proxy CreateStage)++testCreateAPIKeyResponse :: APIKey -> TestTree+testCreateAPIKeyResponse = res+    "CreateAPIKeyResponse"+    "fixture/CreateAPIKeyResponse.proto"+    aPIGateway+    (Proxy :: Proxy CreateAPIKey)++testPutMethodResponse :: Method -> TestTree+testPutMethodResponse = res+    "PutMethodResponse"+    "fixture/PutMethodResponse.proto"+    aPIGateway+    (Proxy :: Proxy PutMethod)++testUpdateDomainNameResponse :: DomainName -> TestTree+testUpdateDomainNameResponse = res+    "UpdateDomainNameResponse"+    "fixture/UpdateDomainNameResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateDomainName)++testDeleteDomainNameResponse :: DeleteDomainNameResponse -> TestTree+testDeleteDomainNameResponse = res+    "DeleteDomainNameResponse"+    "fixture/DeleteDomainNameResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteDomainName)++testCreateResourceResponse :: Resource -> TestTree+testCreateResourceResponse = res+    "CreateResourceResponse"+    "fixture/CreateResourceResponse.proto"+    aPIGateway+    (Proxy :: Proxy CreateResource)++testDeleteMethodResponse :: DeleteMethodResponse' -> TestTree+testDeleteMethodResponse = res+    "DeleteMethodResponse"+    "fixture/DeleteMethodResponse.proto"+    aPIGateway+    (Proxy :: Proxy DeleteMethod)++testUpdateMethodResponse :: Method -> TestTree+testUpdateMethodResponse = res+    "UpdateMethodResponse"+    "fixture/UpdateMethodResponse.proto"+    aPIGateway+    (Proxy :: Proxy UpdateMethod)++testGetClientCertificatesResponse :: GetClientCertificatesResponse -> TestTree+testGetClientCertificatesResponse = res+    "GetClientCertificatesResponse"+    "fixture/GetClientCertificatesResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetClientCertificates)++testGetModelTemplateResponse :: GetModelTemplateResponse -> TestTree+testGetModelTemplateResponse = res+    "GetModelTemplateResponse"+    "fixture/GetModelTemplateResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetModelTemplate)++testGetBasePathMappingsResponse :: GetBasePathMappingsResponse -> TestTree+testGetBasePathMappingsResponse = res+    "GetBasePathMappingsResponse"+    "fixture/GetBasePathMappingsResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetBasePathMappings)++testGetAPIKeyResponse :: APIKey -> TestTree+testGetAPIKeyResponse = res+    "GetAPIKeyResponse"+    "fixture/GetAPIKeyResponse.proto"+    aPIGateway+    (Proxy :: Proxy GetAPIKey)