amazonka-appconfig (empty) → 2.0
raw patch · 168 files changed
+14981/−0 lines, 168 filesdep +amazonka-appconfigdep +amazonka-coredep +amazonka-test
Dependencies added: amazonka-appconfig, amazonka-core, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-appconfig.cabal +153/−0
- fixture/CreateApplication.yaml +10/−0
- fixture/CreateApplicationResponse.proto +0/−0
- fixture/CreateConfigurationProfile.yaml +10/−0
- fixture/CreateConfigurationProfileResponse.proto +0/−0
- fixture/CreateDeploymentStrategy.yaml +10/−0
- fixture/CreateDeploymentStrategyResponse.proto +0/−0
- fixture/CreateEnvironment.yaml +10/−0
- fixture/CreateEnvironmentResponse.proto +0/−0
- fixture/CreateExtension.yaml +10/−0
- fixture/CreateExtensionAssociation.yaml +10/−0
- fixture/CreateExtensionAssociationResponse.proto +0/−0
- fixture/CreateExtensionResponse.proto +0/−0
- fixture/CreateHostedConfigurationVersion.yaml +10/−0
- fixture/CreateHostedConfigurationVersionResponse.proto +0/−0
- fixture/DeleteApplication.yaml +10/−0
- fixture/DeleteApplicationResponse.proto +0/−0
- fixture/DeleteConfigurationProfile.yaml +10/−0
- fixture/DeleteConfigurationProfileResponse.proto +0/−0
- fixture/DeleteDeploymentStrategy.yaml +10/−0
- fixture/DeleteDeploymentStrategyResponse.proto +0/−0
- fixture/DeleteEnvironment.yaml +10/−0
- fixture/DeleteEnvironmentResponse.proto +0/−0
- fixture/DeleteExtension.yaml +10/−0
- fixture/DeleteExtensionAssociation.yaml +10/−0
- fixture/DeleteExtensionAssociationResponse.proto +0/−0
- fixture/DeleteExtensionResponse.proto +0/−0
- fixture/DeleteHostedConfigurationVersion.yaml +10/−0
- fixture/DeleteHostedConfigurationVersionResponse.proto +0/−0
- fixture/GetApplication.yaml +10/−0
- fixture/GetApplicationResponse.proto +0/−0
- fixture/GetConfiguration.yaml +10/−0
- fixture/GetConfigurationProfile.yaml +10/−0
- fixture/GetConfigurationProfileResponse.proto +0/−0
- fixture/GetConfigurationResponse.proto +0/−0
- fixture/GetDeployment.yaml +10/−0
- fixture/GetDeploymentResponse.proto +0/−0
- fixture/GetDeploymentStrategy.yaml +10/−0
- fixture/GetDeploymentStrategyResponse.proto +0/−0
- fixture/GetEnvironment.yaml +10/−0
- fixture/GetEnvironmentResponse.proto +0/−0
- fixture/GetExtension.yaml +10/−0
- fixture/GetExtensionAssociation.yaml +10/−0
- fixture/GetExtensionAssociationResponse.proto +0/−0
- fixture/GetExtensionResponse.proto +0/−0
- fixture/GetHostedConfigurationVersion.yaml +10/−0
- fixture/GetHostedConfigurationVersionResponse.proto +0/−0
- fixture/ListApplications.yaml +10/−0
- fixture/ListApplicationsResponse.proto +0/−0
- fixture/ListConfigurationProfiles.yaml +10/−0
- fixture/ListConfigurationProfilesResponse.proto +0/−0
- fixture/ListDeploymentStrategies.yaml +10/−0
- fixture/ListDeploymentStrategiesResponse.proto +0/−0
- fixture/ListDeployments.yaml +10/−0
- fixture/ListDeploymentsResponse.proto +0/−0
- fixture/ListEnvironments.yaml +10/−0
- fixture/ListEnvironmentsResponse.proto +0/−0
- fixture/ListExtensionAssociations.yaml +10/−0
- fixture/ListExtensionAssociationsResponse.proto +0/−0
- fixture/ListExtensions.yaml +10/−0
- fixture/ListExtensionsResponse.proto +0/−0
- fixture/ListHostedConfigurationVersions.yaml +10/−0
- fixture/ListHostedConfigurationVersionsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/StartDeployment.yaml +10/−0
- fixture/StartDeploymentResponse.proto +0/−0
- fixture/StopDeployment.yaml +10/−0
- fixture/StopDeploymentResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateApplication.yaml +10/−0
- fixture/UpdateApplicationResponse.proto +0/−0
- fixture/UpdateConfigurationProfile.yaml +10/−0
- fixture/UpdateConfigurationProfileResponse.proto +0/−0
- fixture/UpdateDeploymentStrategy.yaml +10/−0
- fixture/UpdateDeploymentStrategyResponse.proto +0/−0
- fixture/UpdateEnvironment.yaml +10/−0
- fixture/UpdateEnvironmentResponse.proto +0/−0
- fixture/UpdateExtension.yaml +10/−0
- fixture/UpdateExtensionAssociation.yaml +10/−0
- fixture/UpdateExtensionAssociationResponse.proto +0/−0
- fixture/UpdateExtensionResponse.proto +0/−0
- fixture/ValidateConfiguration.yaml +10/−0
- fixture/ValidateConfigurationResponse.proto +0/−0
- gen/Amazonka/AppConfig.hs +519/−0
- gen/Amazonka/AppConfig/CreateApplication.hs +156/−0
- gen/Amazonka/AppConfig/CreateConfigurationProfile.hs +325/−0
- gen/Amazonka/AppConfig/CreateDeploymentStrategy.hs +343/−0
- gen/Amazonka/AppConfig/CreateEnvironment.hs +194/−0
- gen/Amazonka/AppConfig/CreateExtension.hs +222/−0
- gen/Amazonka/AppConfig/CreateExtensionAssociation.hs +213/−0
- gen/Amazonka/AppConfig/CreateHostedConfigurationVersion.hs +241/−0
- gen/Amazonka/AppConfig/DeleteApplication.hs +126/−0
- gen/Amazonka/AppConfig/DeleteConfigurationProfile.hs +158/−0
- gen/Amazonka/AppConfig/DeleteDeploymentStrategy.hs +135/−0
- gen/Amazonka/AppConfig/DeleteEnvironment.hs +150/−0
- gen/Amazonka/AppConfig/DeleteExtension.hs +147/−0
- gen/Amazonka/AppConfig/DeleteExtensionAssociation.hs +136/−0
- gen/Amazonka/AppConfig/DeleteHostedConfigurationVersion.hs +189/−0
- gen/Amazonka/AppConfig/GetApplication.hs +110/−0
- gen/Amazonka/AppConfig/GetConfigurationProfile.hs +145/−0
- gen/Amazonka/AppConfig/GetDeployment.hs +167/−0
- gen/Amazonka/AppConfig/GetDeploymentStrategy.hs +127/−0
- gen/Amazonka/AppConfig/GetEnvironment.hs +140/−0
- gen/Amazonka/AppConfig/GetExtension.hs +135/−0
- gen/Amazonka/AppConfig/GetExtensionAssociation.hs +124/−0
- gen/Amazonka/AppConfig/GetHostedConfigurationVersion.hs +172/−0
- gen/Amazonka/AppConfig/Lens.hs +674/−0
- gen/Amazonka/AppConfig/ListApplications.hs +207/−0
- gen/Amazonka/AppConfig/ListConfigurationProfiles.hs +241/−0
- gen/Amazonka/AppConfig/ListDeploymentStrategies.hs +203/−0
- gen/Amazonka/AppConfig/ListDeployments.hs +240/−0
- gen/Amazonka/AppConfig/ListEnvironments.hs +217/−0
- gen/Amazonka/AppConfig/ListExtensionAssociations.hs +249/−0
- gen/Amazonka/AppConfig/ListExtensions.hs +217/−0
- gen/Amazonka/AppConfig/ListHostedConfigurationVersions.hs +257/−0
- gen/Amazonka/AppConfig/ListTagsForResource.hs +165/−0
- gen/Amazonka/AppConfig/StartDeployment.hs +247/−0
- gen/Amazonka/AppConfig/StopDeployment.hs +169/−0
- gen/Amazonka/AppConfig/TagResource.hs +151/−0
- gen/Amazonka/AppConfig/Types.hs +406/−0
- gen/Amazonka/AppConfig/Types/Action.hs +155/−0
- gen/Amazonka/AppConfig/Types/ActionInvocation.hs +159/−0
- gen/Amazonka/AppConfig/Types/ActionPoint.hs +96/−0
- gen/Amazonka/AppConfig/Types/Application.hs +94/−0
- gen/Amazonka/AppConfig/Types/AppliedExtension.hs +109/−0
- gen/Amazonka/AppConfig/Types/ConfigurationProfile.hs +183/−0
- gen/Amazonka/AppConfig/Types/ConfigurationProfileSummary.hs +161/−0
- gen/Amazonka/AppConfig/Types/Deployment.hs +311/−0
- gen/Amazonka/AppConfig/Types/DeploymentEvent.hs +148/−0
- gen/Amazonka/AppConfig/Types/DeploymentEventType.hs +91/−0
- gen/Amazonka/AppConfig/Types/DeploymentState.hs +91/−0
- gen/Amazonka/AppConfig/Types/DeploymentStrategy.hs +166/−0
- gen/Amazonka/AppConfig/Types/DeploymentSummary.hs +203/−0
- gen/Amazonka/AppConfig/Types/Environment.hs +138/−0
- gen/Amazonka/AppConfig/Types/EnvironmentState.hs +81/−0
- gen/Amazonka/AppConfig/Types/Extension.hs +154/−0
- gen/Amazonka/AppConfig/Types/ExtensionAssociation.hs +133/−0
- gen/Amazonka/AppConfig/Types/ExtensionAssociationSummary.hs +109/−0
- gen/Amazonka/AppConfig/Types/ExtensionSummary.hs +121/−0
- gen/Amazonka/AppConfig/Types/GrowthType.hs +71/−0
- gen/Amazonka/AppConfig/Types/HostedConfigurationVersion.hs +123/−0
- gen/Amazonka/AppConfig/Types/HostedConfigurationVersionSummary.hs +138/−0
- gen/Amazonka/AppConfig/Types/Monitor.hs +98/−0
- gen/Amazonka/AppConfig/Types/Parameter.hs +98/−0
- gen/Amazonka/AppConfig/Types/ReplicateTo.hs +71/−0
- gen/Amazonka/AppConfig/Types/TriggeredBy.hs +81/−0
- gen/Amazonka/AppConfig/Types/Validator.hs +105/−0
- gen/Amazonka/AppConfig/Types/ValidatorType.hs +71/−0
- gen/Amazonka/AppConfig/UntagResource.hs +140/−0
- gen/Amazonka/AppConfig/UpdateApplication.hs +147/−0
- gen/Amazonka/AppConfig/UpdateConfigurationProfile.hs +206/−0
- gen/Amazonka/AppConfig/UpdateDeploymentStrategy.hs +285/−0
- gen/Amazonka/AppConfig/UpdateEnvironment.hs +181/−0
- gen/Amazonka/AppConfig/UpdateExtension.hs +180/−0
- gen/Amazonka/AppConfig/UpdateExtensionAssociation.hs +146/−0
- gen/Amazonka/AppConfig/ValidateConfiguration.hs +173/−0
- gen/Amazonka/AppConfig/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/AppConfig.hs +20/−0
- test/Test/Amazonka/AppConfig/Internal.hs +8/−0
- test/Test/Amazonka/Gen/AppConfig.hs +878/−0
+ 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,44 @@+# Amazon AppConfig SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2019-10-09@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-appconfig)+and the [AWS API Reference](https://aws.amazon.com/documentation/).++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, sending requests,+and receiving responses.++Lenses are used for constructing and manipulating types,+due to the depth 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).++See [Amazonka.AppConfig](http://hackage.haskell.org/package/amazonka-appconfig/docs/Amazonka-AppConfig.html)+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.+++## 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-appconfig` 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.
+ amazonka-appconfig.cabal view
@@ -0,0 +1,153 @@+cabal-version: 2.2+name: amazonka-appconfig+version: 2.0+synopsis: Amazon AppConfig SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2019-10-09@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ 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, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.AppConfig.Lens" and are+ suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Amazonka.AppConfig" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git+ subdir: amazonka-appconfig++library+ default-language: Haskell2010+ hs-source-dirs: src gen+ ghc-options:+ -Wall -fwarn-incomplete-uni-patterns+ -fwarn-incomplete-record-updates -funbox-strict-fields++ exposed-modules:+ Amazonka.AppConfig+ Amazonka.AppConfig.CreateApplication+ Amazonka.AppConfig.CreateConfigurationProfile+ Amazonka.AppConfig.CreateDeploymentStrategy+ Amazonka.AppConfig.CreateEnvironment+ Amazonka.AppConfig.CreateExtension+ Amazonka.AppConfig.CreateExtensionAssociation+ Amazonka.AppConfig.CreateHostedConfigurationVersion+ Amazonka.AppConfig.DeleteApplication+ Amazonka.AppConfig.DeleteConfigurationProfile+ Amazonka.AppConfig.DeleteDeploymentStrategy+ Amazonka.AppConfig.DeleteEnvironment+ Amazonka.AppConfig.DeleteExtension+ Amazonka.AppConfig.DeleteExtensionAssociation+ Amazonka.AppConfig.DeleteHostedConfigurationVersion+ Amazonka.AppConfig.GetApplication+ Amazonka.AppConfig.GetConfigurationProfile+ Amazonka.AppConfig.GetDeployment+ Amazonka.AppConfig.GetDeploymentStrategy+ Amazonka.AppConfig.GetEnvironment+ Amazonka.AppConfig.GetExtension+ Amazonka.AppConfig.GetExtensionAssociation+ Amazonka.AppConfig.GetHostedConfigurationVersion+ Amazonka.AppConfig.Lens+ Amazonka.AppConfig.ListApplications+ Amazonka.AppConfig.ListConfigurationProfiles+ Amazonka.AppConfig.ListDeployments+ Amazonka.AppConfig.ListDeploymentStrategies+ Amazonka.AppConfig.ListEnvironments+ Amazonka.AppConfig.ListExtensionAssociations+ Amazonka.AppConfig.ListExtensions+ Amazonka.AppConfig.ListHostedConfigurationVersions+ Amazonka.AppConfig.ListTagsForResource+ Amazonka.AppConfig.StartDeployment+ Amazonka.AppConfig.StopDeployment+ Amazonka.AppConfig.TagResource+ Amazonka.AppConfig.Types+ Amazonka.AppConfig.Types.Action+ Amazonka.AppConfig.Types.ActionInvocation+ Amazonka.AppConfig.Types.ActionPoint+ Amazonka.AppConfig.Types.Application+ Amazonka.AppConfig.Types.AppliedExtension+ Amazonka.AppConfig.Types.ConfigurationProfile+ Amazonka.AppConfig.Types.ConfigurationProfileSummary+ Amazonka.AppConfig.Types.Deployment+ Amazonka.AppConfig.Types.DeploymentEvent+ Amazonka.AppConfig.Types.DeploymentEventType+ Amazonka.AppConfig.Types.DeploymentState+ Amazonka.AppConfig.Types.DeploymentStrategy+ Amazonka.AppConfig.Types.DeploymentSummary+ Amazonka.AppConfig.Types.Environment+ Amazonka.AppConfig.Types.EnvironmentState+ Amazonka.AppConfig.Types.Extension+ Amazonka.AppConfig.Types.ExtensionAssociation+ Amazonka.AppConfig.Types.ExtensionAssociationSummary+ Amazonka.AppConfig.Types.ExtensionSummary+ Amazonka.AppConfig.Types.GrowthType+ Amazonka.AppConfig.Types.HostedConfigurationVersion+ Amazonka.AppConfig.Types.HostedConfigurationVersionSummary+ Amazonka.AppConfig.Types.Monitor+ Amazonka.AppConfig.Types.Parameter+ Amazonka.AppConfig.Types.ReplicateTo+ Amazonka.AppConfig.Types.TriggeredBy+ Amazonka.AppConfig.Types.Validator+ Amazonka.AppConfig.Types.ValidatorType+ Amazonka.AppConfig.UntagResource+ Amazonka.AppConfig.UpdateApplication+ Amazonka.AppConfig.UpdateConfigurationProfile+ Amazonka.AppConfig.UpdateDeploymentStrategy+ Amazonka.AppConfig.UpdateEnvironment+ Amazonka.AppConfig.UpdateExtension+ Amazonka.AppConfig.UpdateExtensionAssociation+ Amazonka.AppConfig.ValidateConfiguration+ Amazonka.AppConfig.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-appconfig-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.Amazonka.AppConfig+ Test.Amazonka.AppConfig.Internal+ Test.Amazonka.Gen.AppConfig++ build-depends:+ , amazonka-appconfig+ , amazonka-core >=2.0 && <2.1+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/CreateApplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateApplicationResponse.proto view
+ fixture/CreateConfigurationProfile.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateConfigurationProfileResponse.proto view
+ fixture/CreateDeploymentStrategy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateDeploymentStrategyResponse.proto view
+ fixture/CreateEnvironment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateEnvironmentResponse.proto view
+ fixture/CreateExtension.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateExtensionAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateExtensionAssociationResponse.proto view
+ fixture/CreateExtensionResponse.proto view
+ fixture/CreateHostedConfigurationVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateHostedConfigurationVersionResponse.proto view
+ fixture/DeleteApplication.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteApplicationResponse.proto view
+ fixture/DeleteConfigurationProfile.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteConfigurationProfileResponse.proto view
+ fixture/DeleteDeploymentStrategy.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteDeploymentStrategyResponse.proto view
+ fixture/DeleteEnvironment.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteEnvironmentResponse.proto view
+ fixture/DeleteExtension.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteExtensionAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteExtensionAssociationResponse.proto view
+ fixture/DeleteExtensionResponse.proto view
+ fixture/DeleteHostedConfigurationVersion.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteHostedConfigurationVersionResponse.proto view
+ fixture/GetApplication.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetApplicationResponse.proto view
+ fixture/GetConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetConfigurationProfile.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetConfigurationProfileResponse.proto view
+ fixture/GetConfigurationResponse.proto view
+ fixture/GetDeployment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetDeploymentResponse.proto view
+ fixture/GetDeploymentStrategy.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetDeploymentStrategyResponse.proto view
+ fixture/GetEnvironment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetEnvironmentResponse.proto view
+ fixture/GetExtension.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetExtensionAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetExtensionAssociationResponse.proto view
+ fixture/GetExtensionResponse.proto view
+ fixture/GetHostedConfigurationVersion.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetHostedConfigurationVersionResponse.proto view
+ fixture/ListApplications.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListApplicationsResponse.proto view
+ fixture/ListConfigurationProfiles.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListConfigurationProfilesResponse.proto view
+ fixture/ListDeploymentStrategies.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListDeploymentStrategiesResponse.proto view
+ fixture/ListDeployments.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListDeploymentsResponse.proto view
+ fixture/ListEnvironments.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListEnvironmentsResponse.proto view
+ fixture/ListExtensionAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListExtensionAssociationsResponse.proto view
+ fixture/ListExtensions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListExtensionsResponse.proto view
+ fixture/ListHostedConfigurationVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListHostedConfigurationVersionsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/StartDeployment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StartDeploymentResponse.proto view
+ fixture/StopDeployment.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StopDeploymentResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateApplication.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateApplicationResponse.proto view
+ fixture/UpdateConfigurationProfile.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateConfigurationProfileResponse.proto view
+ fixture/UpdateDeploymentStrategy.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateDeploymentStrategyResponse.proto view
+ fixture/UpdateEnvironment.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateEnvironmentResponse.proto view
+ fixture/UpdateExtension.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateExtensionAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateExtensionAssociationResponse.proto view
+ fixture/UpdateExtensionResponse.proto view
+ fixture/ValidateConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: appconfig.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ValidateConfigurationResponse.proto view
+ gen/Amazonka/AppConfig.hs view
@@ -0,0 +1,519 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.AppConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2019-10-09@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Use AppConfig, a capability of Amazon Web Services Systems Manager, to+-- create, manage, and quickly deploy application configurations. AppConfig+-- supports controlled deployments to applications of any size and includes+-- built-in validation checks and monitoring. You can use AppConfig with+-- applications hosted on Amazon EC2 instances, Lambda, containers, mobile+-- applications, or IoT devices.+--+-- To prevent errors when deploying application configurations, especially+-- for production systems where a simple typo could cause an unexpected+-- outage, AppConfig includes validators. A validator provides a syntactic+-- or semantic check to ensure that the configuration you want to deploy+-- works as intended. To validate your application configuration data, you+-- provide a schema or an Amazon Web Services Lambda function that runs+-- against the configuration. The configuration deployment or update can+-- only proceed when the configuration data is valid.+--+-- During a configuration deployment, AppConfig monitors the application to+-- ensure that the deployment is successful. If the system encounters an+-- error, AppConfig rolls back the change to minimize impact for your+-- application users. You can configure a deployment strategy for each+-- application or environment that includes deployment criteria, including+-- velocity, bake time, and alarms to monitor. Similar to error monitoring,+-- if a deployment triggers an alarm, AppConfig automatically rolls back to+-- the previous version.+--+-- AppConfig supports multiple use cases. Here are some examples:+--+-- - __Feature flags__: Use AppConfig to turn on new features that+-- require a timely deployment, such as a product launch or+-- announcement.+--+-- - __Application tuning__: Use AppConfig to carefully introduce changes+-- to your application that can only be tested with production traffic.+--+-- - __Allow list__: Use AppConfig to allow premium subscribers to access+-- paid content.+--+-- - __Operational issues__: Use AppConfig to reduce stress on your+-- application when a dependency or other external factor impacts the+-- system.+--+-- This reference is intended to be used with the+-- <http://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html AppConfig User Guide>.+module Amazonka.AppConfig+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** BadRequestException+ _BadRequestException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** PayloadTooLargeException+ _PayloadTooLargeException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CreateApplication+ CreateApplication (CreateApplication'),+ newCreateApplication,+ Application (Application'),+ newApplication,++ -- ** CreateConfigurationProfile+ CreateConfigurationProfile (CreateConfigurationProfile'),+ newCreateConfigurationProfile,+ ConfigurationProfile (ConfigurationProfile'),+ newConfigurationProfile,++ -- ** CreateDeploymentStrategy+ CreateDeploymentStrategy (CreateDeploymentStrategy'),+ newCreateDeploymentStrategy,+ DeploymentStrategy (DeploymentStrategy'),+ newDeploymentStrategy,++ -- ** CreateEnvironment+ CreateEnvironment (CreateEnvironment'),+ newCreateEnvironment,+ Environment (Environment'),+ newEnvironment,++ -- ** CreateExtension+ CreateExtension (CreateExtension'),+ newCreateExtension,+ Extension (Extension'),+ newExtension,++ -- ** CreateExtensionAssociation+ CreateExtensionAssociation (CreateExtensionAssociation'),+ newCreateExtensionAssociation,+ ExtensionAssociation (ExtensionAssociation'),+ newExtensionAssociation,++ -- ** CreateHostedConfigurationVersion+ CreateHostedConfigurationVersion (CreateHostedConfigurationVersion'),+ newCreateHostedConfigurationVersion,+ HostedConfigurationVersion (HostedConfigurationVersion'),+ newHostedConfigurationVersion,++ -- ** DeleteApplication+ DeleteApplication (DeleteApplication'),+ newDeleteApplication,+ DeleteApplicationResponse (DeleteApplicationResponse'),+ newDeleteApplicationResponse,++ -- ** DeleteConfigurationProfile+ DeleteConfigurationProfile (DeleteConfigurationProfile'),+ newDeleteConfigurationProfile,+ DeleteConfigurationProfileResponse (DeleteConfigurationProfileResponse'),+ newDeleteConfigurationProfileResponse,++ -- ** DeleteDeploymentStrategy+ DeleteDeploymentStrategy (DeleteDeploymentStrategy'),+ newDeleteDeploymentStrategy,+ DeleteDeploymentStrategyResponse (DeleteDeploymentStrategyResponse'),+ newDeleteDeploymentStrategyResponse,++ -- ** DeleteEnvironment+ DeleteEnvironment (DeleteEnvironment'),+ newDeleteEnvironment,+ DeleteEnvironmentResponse (DeleteEnvironmentResponse'),+ newDeleteEnvironmentResponse,++ -- ** DeleteExtension+ DeleteExtension (DeleteExtension'),+ newDeleteExtension,+ DeleteExtensionResponse (DeleteExtensionResponse'),+ newDeleteExtensionResponse,++ -- ** DeleteExtensionAssociation+ DeleteExtensionAssociation (DeleteExtensionAssociation'),+ newDeleteExtensionAssociation,+ DeleteExtensionAssociationResponse (DeleteExtensionAssociationResponse'),+ newDeleteExtensionAssociationResponse,++ -- ** DeleteHostedConfigurationVersion+ DeleteHostedConfigurationVersion (DeleteHostedConfigurationVersion'),+ newDeleteHostedConfigurationVersion,+ DeleteHostedConfigurationVersionResponse (DeleteHostedConfigurationVersionResponse'),+ newDeleteHostedConfigurationVersionResponse,++ -- ** GetApplication+ GetApplication (GetApplication'),+ newGetApplication,+ Application (Application'),+ newApplication,++ -- ** GetConfigurationProfile+ GetConfigurationProfile (GetConfigurationProfile'),+ newGetConfigurationProfile,+ ConfigurationProfile (ConfigurationProfile'),+ newConfigurationProfile,++ -- ** GetDeployment+ GetDeployment (GetDeployment'),+ newGetDeployment,+ Deployment (Deployment'),+ newDeployment,++ -- ** GetDeploymentStrategy+ GetDeploymentStrategy (GetDeploymentStrategy'),+ newGetDeploymentStrategy,+ DeploymentStrategy (DeploymentStrategy'),+ newDeploymentStrategy,++ -- ** GetEnvironment+ GetEnvironment (GetEnvironment'),+ newGetEnvironment,+ Environment (Environment'),+ newEnvironment,++ -- ** GetExtension+ GetExtension (GetExtension'),+ newGetExtension,+ Extension (Extension'),+ newExtension,++ -- ** GetExtensionAssociation+ GetExtensionAssociation (GetExtensionAssociation'),+ newGetExtensionAssociation,+ ExtensionAssociation (ExtensionAssociation'),+ newExtensionAssociation,++ -- ** GetHostedConfigurationVersion+ GetHostedConfigurationVersion (GetHostedConfigurationVersion'),+ newGetHostedConfigurationVersion,+ HostedConfigurationVersion (HostedConfigurationVersion'),+ newHostedConfigurationVersion,++ -- ** ListApplications+ ListApplications (ListApplications'),+ newListApplications,+ ListApplicationsResponse (ListApplicationsResponse'),+ newListApplicationsResponse,++ -- ** ListConfigurationProfiles+ ListConfigurationProfiles (ListConfigurationProfiles'),+ newListConfigurationProfiles,+ ListConfigurationProfilesResponse (ListConfigurationProfilesResponse'),+ newListConfigurationProfilesResponse,++ -- ** ListDeploymentStrategies+ ListDeploymentStrategies (ListDeploymentStrategies'),+ newListDeploymentStrategies,+ ListDeploymentStrategiesResponse (ListDeploymentStrategiesResponse'),+ newListDeploymentStrategiesResponse,++ -- ** ListDeployments+ ListDeployments (ListDeployments'),+ newListDeployments,+ ListDeploymentsResponse (ListDeploymentsResponse'),+ newListDeploymentsResponse,++ -- ** ListEnvironments+ ListEnvironments (ListEnvironments'),+ newListEnvironments,+ ListEnvironmentsResponse (ListEnvironmentsResponse'),+ newListEnvironmentsResponse,++ -- ** ListExtensionAssociations+ ListExtensionAssociations (ListExtensionAssociations'),+ newListExtensionAssociations,+ ListExtensionAssociationsResponse (ListExtensionAssociationsResponse'),+ newListExtensionAssociationsResponse,++ -- ** ListExtensions+ ListExtensions (ListExtensions'),+ newListExtensions,+ ListExtensionsResponse (ListExtensionsResponse'),+ newListExtensionsResponse,++ -- ** ListHostedConfigurationVersions+ ListHostedConfigurationVersions (ListHostedConfigurationVersions'),+ newListHostedConfigurationVersions,+ ListHostedConfigurationVersionsResponse (ListHostedConfigurationVersionsResponse'),+ newListHostedConfigurationVersionsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** StartDeployment+ StartDeployment (StartDeployment'),+ newStartDeployment,+ Deployment (Deployment'),+ newDeployment,++ -- ** StopDeployment+ StopDeployment (StopDeployment'),+ newStopDeployment,+ Deployment (Deployment'),+ newDeployment,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateApplication+ UpdateApplication (UpdateApplication'),+ newUpdateApplication,+ Application (Application'),+ newApplication,++ -- ** UpdateConfigurationProfile+ UpdateConfigurationProfile (UpdateConfigurationProfile'),+ newUpdateConfigurationProfile,+ ConfigurationProfile (ConfigurationProfile'),+ newConfigurationProfile,++ -- ** UpdateDeploymentStrategy+ UpdateDeploymentStrategy (UpdateDeploymentStrategy'),+ newUpdateDeploymentStrategy,+ DeploymentStrategy (DeploymentStrategy'),+ newDeploymentStrategy,++ -- ** UpdateEnvironment+ UpdateEnvironment (UpdateEnvironment'),+ newUpdateEnvironment,+ Environment (Environment'),+ newEnvironment,++ -- ** UpdateExtension+ UpdateExtension (UpdateExtension'),+ newUpdateExtension,+ Extension (Extension'),+ newExtension,++ -- ** UpdateExtensionAssociation+ UpdateExtensionAssociation (UpdateExtensionAssociation'),+ newUpdateExtensionAssociation,+ ExtensionAssociation (ExtensionAssociation'),+ newExtensionAssociation,++ -- ** ValidateConfiguration+ ValidateConfiguration (ValidateConfiguration'),+ newValidateConfiguration,+ ValidateConfigurationResponse (ValidateConfigurationResponse'),+ newValidateConfigurationResponse,++ -- * Types++ -- ** ActionPoint+ ActionPoint (..),++ -- ** DeploymentEventType+ DeploymentEventType (..),++ -- ** DeploymentState+ DeploymentState (..),++ -- ** EnvironmentState+ EnvironmentState (..),++ -- ** GrowthType+ GrowthType (..),++ -- ** ReplicateTo+ ReplicateTo (..),++ -- ** TriggeredBy+ TriggeredBy (..),++ -- ** ValidatorType+ ValidatorType (..),++ -- ** Action+ Action (Action'),+ newAction,++ -- ** ActionInvocation+ ActionInvocation (ActionInvocation'),+ newActionInvocation,++ -- ** Application+ Application (Application'),+ newApplication,++ -- ** AppliedExtension+ AppliedExtension (AppliedExtension'),+ newAppliedExtension,++ -- ** ConfigurationProfile+ ConfigurationProfile (ConfigurationProfile'),+ newConfigurationProfile,++ -- ** ConfigurationProfileSummary+ ConfigurationProfileSummary (ConfigurationProfileSummary'),+ newConfigurationProfileSummary,++ -- ** Deployment+ Deployment (Deployment'),+ newDeployment,++ -- ** DeploymentEvent+ DeploymentEvent (DeploymentEvent'),+ newDeploymentEvent,++ -- ** DeploymentStrategy+ DeploymentStrategy (DeploymentStrategy'),+ newDeploymentStrategy,++ -- ** DeploymentSummary+ DeploymentSummary (DeploymentSummary'),+ newDeploymentSummary,++ -- ** Environment+ Environment (Environment'),+ newEnvironment,++ -- ** Extension+ Extension (Extension'),+ newExtension,++ -- ** ExtensionAssociation+ ExtensionAssociation (ExtensionAssociation'),+ newExtensionAssociation,++ -- ** ExtensionAssociationSummary+ ExtensionAssociationSummary (ExtensionAssociationSummary'),+ newExtensionAssociationSummary,++ -- ** ExtensionSummary+ ExtensionSummary (ExtensionSummary'),+ newExtensionSummary,++ -- ** HostedConfigurationVersion+ HostedConfigurationVersion (HostedConfigurationVersion'),+ newHostedConfigurationVersion,++ -- ** HostedConfigurationVersionSummary+ HostedConfigurationVersionSummary (HostedConfigurationVersionSummary'),+ newHostedConfigurationVersionSummary,++ -- ** Monitor+ Monitor (Monitor'),+ newMonitor,++ -- ** Parameter+ Parameter (Parameter'),+ newParameter,++ -- ** Validator+ Validator (Validator'),+ newValidator,+ )+where++import Amazonka.AppConfig.CreateApplication+import Amazonka.AppConfig.CreateConfigurationProfile+import Amazonka.AppConfig.CreateDeploymentStrategy+import Amazonka.AppConfig.CreateEnvironment+import Amazonka.AppConfig.CreateExtension+import Amazonka.AppConfig.CreateExtensionAssociation+import Amazonka.AppConfig.CreateHostedConfigurationVersion+import Amazonka.AppConfig.DeleteApplication+import Amazonka.AppConfig.DeleteConfigurationProfile+import Amazonka.AppConfig.DeleteDeploymentStrategy+import Amazonka.AppConfig.DeleteEnvironment+import Amazonka.AppConfig.DeleteExtension+import Amazonka.AppConfig.DeleteExtensionAssociation+import Amazonka.AppConfig.DeleteHostedConfigurationVersion+import Amazonka.AppConfig.GetApplication+import Amazonka.AppConfig.GetConfigurationProfile+import Amazonka.AppConfig.GetDeployment+import Amazonka.AppConfig.GetDeploymentStrategy+import Amazonka.AppConfig.GetEnvironment+import Amazonka.AppConfig.GetExtension+import Amazonka.AppConfig.GetExtensionAssociation+import Amazonka.AppConfig.GetHostedConfigurationVersion+import Amazonka.AppConfig.Lens+import Amazonka.AppConfig.ListApplications+import Amazonka.AppConfig.ListConfigurationProfiles+import Amazonka.AppConfig.ListDeploymentStrategies+import Amazonka.AppConfig.ListDeployments+import Amazonka.AppConfig.ListEnvironments+import Amazonka.AppConfig.ListExtensionAssociations+import Amazonka.AppConfig.ListExtensions+import Amazonka.AppConfig.ListHostedConfigurationVersions+import Amazonka.AppConfig.ListTagsForResource+import Amazonka.AppConfig.StartDeployment+import Amazonka.AppConfig.StopDeployment+import Amazonka.AppConfig.TagResource+import Amazonka.AppConfig.Types+import Amazonka.AppConfig.UntagResource+import Amazonka.AppConfig.UpdateApplication+import Amazonka.AppConfig.UpdateConfigurationProfile+import Amazonka.AppConfig.UpdateDeploymentStrategy+import Amazonka.AppConfig.UpdateEnvironment+import Amazonka.AppConfig.UpdateExtension+import Amazonka.AppConfig.UpdateExtensionAssociation+import Amazonka.AppConfig.ValidateConfiguration+import Amazonka.AppConfig.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 'AppConfig'.++-- $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/Amazonka/AppConfig/CreateApplication.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.CreateApplication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an application. In AppConfig, an application is simply an+-- organizational construct like a folder. This organizational construct+-- has a relationship with some unit of executable code. For example, you+-- could create an application called MyMobileApp to organize and manage+-- configuration data for a mobile application installed by your users.+module Amazonka.AppConfig.CreateApplication+ ( -- * Creating a Request+ CreateApplication (..),+ newCreateApplication,++ -- * Request Lenses+ createApplication_description,+ createApplication_tags,+ createApplication_name,++ -- * Destructuring the Response+ Application (..),+ newApplication,++ -- * Response Lenses+ application_description,+ application_id,+ application_name,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateApplication' smart constructor.+data CreateApplication = CreateApplication'+ { -- | A description of the application.+ description :: Prelude.Maybe Prelude.Text,+ -- | Metadata to assign to the application. Tags help organize and categorize+ -- your AppConfig resources. Each tag consists of a key and an optional+ -- value, both of which you define.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A name for the application.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createApplication_description' - A description of the application.+--+-- 'tags', 'createApplication_tags' - Metadata to assign to the application. Tags help organize and categorize+-- your AppConfig resources. Each tag consists of a key and an optional+-- value, both of which you define.+--+-- 'name', 'createApplication_name' - A name for the application.+newCreateApplication ::+ -- | 'name'+ Prelude.Text ->+ CreateApplication+newCreateApplication pName_ =+ CreateApplication'+ { description = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_+ }++-- | A description of the application.+createApplication_description :: Lens.Lens' CreateApplication (Prelude.Maybe Prelude.Text)+createApplication_description = Lens.lens (\CreateApplication' {description} -> description) (\s@CreateApplication' {} a -> s {description = a} :: CreateApplication)++-- | Metadata to assign to the application. Tags help organize and categorize+-- your AppConfig resources. Each tag consists of a key and an optional+-- value, both of which you define.+createApplication_tags :: Lens.Lens' CreateApplication (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createApplication_tags = Lens.lens (\CreateApplication' {tags} -> tags) (\s@CreateApplication' {} a -> s {tags = a} :: CreateApplication) Prelude.. Lens.mapping Lens.coerced++-- | A name for the application.+createApplication_name :: Lens.Lens' CreateApplication Prelude.Text+createApplication_name = Lens.lens (\CreateApplication' {name} -> name) (\s@CreateApplication' {} a -> s {name = a} :: CreateApplication)++instance Core.AWSRequest CreateApplication where+ type AWSResponse CreateApplication = Application+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable CreateApplication where+ hashWithSalt _salt CreateApplication' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateApplication where+ rnf CreateApplication' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateApplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateApplication where+ toJSON CreateApplication' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name)+ ]+ )++instance Data.ToPath CreateApplication where+ toPath = Prelude.const "/applications"++instance Data.ToQuery CreateApplication where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/CreateConfigurationProfile.hs view
@@ -0,0 +1,325 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.CreateConfigurationProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a configuration profile, which is information that enables+-- AppConfig to access the configuration source. Valid configuration+-- sources include the AppConfig hosted configuration store, Amazon Web+-- Services Systems Manager (SSM) documents, SSM Parameter Store+-- parameters, Amazon S3 objects, or any+-- <http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-action-type.html#integrations-source integration source action>+-- supported by CodePipeline. A configuration profile includes the+-- following information:+--+-- - The URI location of the configuration data.+--+-- - The Identity and Access Management (IAM) role that provides access+-- to the configuration data.+--+-- - A validator for the configuration data. Available validators include+-- either a JSON Schema or an Amazon Web Services Lambda function.+--+-- For more information, see+-- <http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-configuration-and-profile.html Create a Configuration and a Configuration Profile>+-- in the /AppConfig User Guide/.+module Amazonka.AppConfig.CreateConfigurationProfile+ ( -- * Creating a Request+ CreateConfigurationProfile (..),+ newCreateConfigurationProfile,++ -- * Request Lenses+ createConfigurationProfile_description,+ createConfigurationProfile_retrievalRoleArn,+ createConfigurationProfile_tags,+ createConfigurationProfile_type,+ createConfigurationProfile_validators,+ createConfigurationProfile_applicationId,+ createConfigurationProfile_name,+ createConfigurationProfile_locationUri,++ -- * Destructuring the Response+ ConfigurationProfile (..),+ newConfigurationProfile,++ -- * Response Lenses+ configurationProfile_applicationId,+ configurationProfile_description,+ configurationProfile_id,+ configurationProfile_locationUri,+ configurationProfile_name,+ configurationProfile_retrievalRoleArn,+ configurationProfile_type,+ configurationProfile_validators,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateConfigurationProfile' smart constructor.+data CreateConfigurationProfile = CreateConfigurationProfile'+ { -- | A description of the configuration profile.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ARN of an IAM role with permission to access the configuration at+ -- the specified @LocationUri@.+ --+ -- A retrieval role ARN is not required for configurations stored in the+ -- AppConfig hosted configuration store. It is required for all other+ -- sources that store your configuration.+ retrievalRoleArn :: Prelude.Maybe Prelude.Text,+ -- | Metadata to assign to the configuration profile. Tags help organize and+ -- categorize your AppConfig resources. Each tag consists of a key and an+ -- optional value, both of which you define.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The type of configurations contained in the profile. AppConfig supports+ -- @feature flags@ and @freeform@ configurations. We recommend you create+ -- feature flag configurations to enable or disable new features and+ -- freeform configurations to distribute configurations to an application.+ -- When calling this API, enter one of the following values for @Type@:+ --+ -- @AWS.AppConfig.FeatureFlags@+ --+ -- @AWS.Freeform@+ type' :: Prelude.Maybe Prelude.Text,+ -- | A list of methods for validating the configuration.+ validators :: Prelude.Maybe [Validator],+ -- | The application ID.+ applicationId :: Prelude.Text,+ -- | A name for the configuration profile.+ name :: Prelude.Text,+ -- | A URI to locate the configuration. You can specify the AppConfig hosted+ -- configuration store, Systems Manager (SSM) document, an SSM Parameter+ -- Store parameter, or an Amazon S3 object. For the hosted configuration+ -- store and for feature flags, specify @hosted@. For an SSM document,+ -- specify either the document name in the format+ -- @ssm-document:\/\/\<Document_name>@ or the Amazon Resource Name (ARN).+ -- For a parameter, specify either the parameter name in the format+ -- @ssm-parameter:\/\/\<Parameter_name>@ or the ARN. For an Amazon S3+ -- object, specify the URI in the following format:+ -- @s3:\/\/\<bucket>\/\<objectKey> @. Here is an example:+ -- @s3:\/\/my-bucket\/my-app\/us-east-1\/my-config.json@+ locationUri :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConfigurationProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createConfigurationProfile_description' - A description of the configuration profile.+--+-- 'retrievalRoleArn', 'createConfigurationProfile_retrievalRoleArn' - The ARN of an IAM role with permission to access the configuration at+-- the specified @LocationUri@.+--+-- A retrieval role ARN is not required for configurations stored in the+-- AppConfig hosted configuration store. It is required for all other+-- sources that store your configuration.+--+-- 'tags', 'createConfigurationProfile_tags' - Metadata to assign to the configuration profile. Tags help organize and+-- categorize your AppConfig resources. Each tag consists of a key and an+-- optional value, both of which you define.+--+-- 'type'', 'createConfigurationProfile_type' - The type of configurations contained in the profile. AppConfig supports+-- @feature flags@ and @freeform@ configurations. We recommend you create+-- feature flag configurations to enable or disable new features and+-- freeform configurations to distribute configurations to an application.+-- When calling this API, enter one of the following values for @Type@:+--+-- @AWS.AppConfig.FeatureFlags@+--+-- @AWS.Freeform@+--+-- 'validators', 'createConfigurationProfile_validators' - A list of methods for validating the configuration.+--+-- 'applicationId', 'createConfigurationProfile_applicationId' - The application ID.+--+-- 'name', 'createConfigurationProfile_name' - A name for the configuration profile.+--+-- 'locationUri', 'createConfigurationProfile_locationUri' - A URI to locate the configuration. You can specify the AppConfig hosted+-- configuration store, Systems Manager (SSM) document, an SSM Parameter+-- Store parameter, or an Amazon S3 object. For the hosted configuration+-- store and for feature flags, specify @hosted@. For an SSM document,+-- specify either the document name in the format+-- @ssm-document:\/\/\<Document_name>@ or the Amazon Resource Name (ARN).+-- For a parameter, specify either the parameter name in the format+-- @ssm-parameter:\/\/\<Parameter_name>@ or the ARN. For an Amazon S3+-- object, specify the URI in the following format:+-- @s3:\/\/\<bucket>\/\<objectKey> @. Here is an example:+-- @s3:\/\/my-bucket\/my-app\/us-east-1\/my-config.json@+newCreateConfigurationProfile ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'locationUri'+ Prelude.Text ->+ CreateConfigurationProfile+newCreateConfigurationProfile+ pApplicationId_+ pName_+ pLocationUri_ =+ CreateConfigurationProfile'+ { description =+ Prelude.Nothing,+ retrievalRoleArn = Prelude.Nothing,+ tags = Prelude.Nothing,+ type' = Prelude.Nothing,+ validators = Prelude.Nothing,+ applicationId = pApplicationId_,+ name = pName_,+ locationUri = pLocationUri_+ }++-- | A description of the configuration profile.+createConfigurationProfile_description :: Lens.Lens' CreateConfigurationProfile (Prelude.Maybe Prelude.Text)+createConfigurationProfile_description = Lens.lens (\CreateConfigurationProfile' {description} -> description) (\s@CreateConfigurationProfile' {} a -> s {description = a} :: CreateConfigurationProfile)++-- | The ARN of an IAM role with permission to access the configuration at+-- the specified @LocationUri@.+--+-- A retrieval role ARN is not required for configurations stored in the+-- AppConfig hosted configuration store. It is required for all other+-- sources that store your configuration.+createConfigurationProfile_retrievalRoleArn :: Lens.Lens' CreateConfigurationProfile (Prelude.Maybe Prelude.Text)+createConfigurationProfile_retrievalRoleArn = Lens.lens (\CreateConfigurationProfile' {retrievalRoleArn} -> retrievalRoleArn) (\s@CreateConfigurationProfile' {} a -> s {retrievalRoleArn = a} :: CreateConfigurationProfile)++-- | Metadata to assign to the configuration profile. Tags help organize and+-- categorize your AppConfig resources. Each tag consists of a key and an+-- optional value, both of which you define.+createConfigurationProfile_tags :: Lens.Lens' CreateConfigurationProfile (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createConfigurationProfile_tags = Lens.lens (\CreateConfigurationProfile' {tags} -> tags) (\s@CreateConfigurationProfile' {} a -> s {tags = a} :: CreateConfigurationProfile) Prelude.. Lens.mapping Lens.coerced++-- | The type of configurations contained in the profile. AppConfig supports+-- @feature flags@ and @freeform@ configurations. We recommend you create+-- feature flag configurations to enable or disable new features and+-- freeform configurations to distribute configurations to an application.+-- When calling this API, enter one of the following values for @Type@:+--+-- @AWS.AppConfig.FeatureFlags@+--+-- @AWS.Freeform@+createConfigurationProfile_type :: Lens.Lens' CreateConfigurationProfile (Prelude.Maybe Prelude.Text)+createConfigurationProfile_type = Lens.lens (\CreateConfigurationProfile' {type'} -> type') (\s@CreateConfigurationProfile' {} a -> s {type' = a} :: CreateConfigurationProfile)++-- | A list of methods for validating the configuration.+createConfigurationProfile_validators :: Lens.Lens' CreateConfigurationProfile (Prelude.Maybe [Validator])+createConfigurationProfile_validators = Lens.lens (\CreateConfigurationProfile' {validators} -> validators) (\s@CreateConfigurationProfile' {} a -> s {validators = a} :: CreateConfigurationProfile) Prelude.. Lens.mapping Lens.coerced++-- | The application ID.+createConfigurationProfile_applicationId :: Lens.Lens' CreateConfigurationProfile Prelude.Text+createConfigurationProfile_applicationId = Lens.lens (\CreateConfigurationProfile' {applicationId} -> applicationId) (\s@CreateConfigurationProfile' {} a -> s {applicationId = a} :: CreateConfigurationProfile)++-- | A name for the configuration profile.+createConfigurationProfile_name :: Lens.Lens' CreateConfigurationProfile Prelude.Text+createConfigurationProfile_name = Lens.lens (\CreateConfigurationProfile' {name} -> name) (\s@CreateConfigurationProfile' {} a -> s {name = a} :: CreateConfigurationProfile)++-- | A URI to locate the configuration. You can specify the AppConfig hosted+-- configuration store, Systems Manager (SSM) document, an SSM Parameter+-- Store parameter, or an Amazon S3 object. For the hosted configuration+-- store and for feature flags, specify @hosted@. For an SSM document,+-- specify either the document name in the format+-- @ssm-document:\/\/\<Document_name>@ or the Amazon Resource Name (ARN).+-- For a parameter, specify either the parameter name in the format+-- @ssm-parameter:\/\/\<Parameter_name>@ or the ARN. For an Amazon S3+-- object, specify the URI in the following format:+-- @s3:\/\/\<bucket>\/\<objectKey> @. Here is an example:+-- @s3:\/\/my-bucket\/my-app\/us-east-1\/my-config.json@+createConfigurationProfile_locationUri :: Lens.Lens' CreateConfigurationProfile Prelude.Text+createConfigurationProfile_locationUri = Lens.lens (\CreateConfigurationProfile' {locationUri} -> locationUri) (\s@CreateConfigurationProfile' {} a -> s {locationUri = a} :: CreateConfigurationProfile)++instance Core.AWSRequest CreateConfigurationProfile where+ type+ AWSResponse CreateConfigurationProfile =+ ConfigurationProfile+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable CreateConfigurationProfile where+ hashWithSalt _salt CreateConfigurationProfile' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` retrievalRoleArn+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` validators+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` locationUri++instance Prelude.NFData CreateConfigurationProfile where+ rnf CreateConfigurationProfile' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf retrievalRoleArn+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf validators+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf locationUri++instance Data.ToHeaders CreateConfigurationProfile where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateConfigurationProfile where+ toJSON CreateConfigurationProfile' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("RetrievalRoleArn" Data..=)+ Prelude.<$> retrievalRoleArn,+ ("Tags" Data..=) Prelude.<$> tags,+ ("Type" Data..=) Prelude.<$> type',+ ("Validators" Data..=) Prelude.<$> validators,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("LocationUri" Data..= locationUri)+ ]+ )++instance Data.ToPath CreateConfigurationProfile where+ toPath CreateConfigurationProfile' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/configurationprofiles"+ ]++instance Data.ToQuery CreateConfigurationProfile where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/CreateDeploymentStrategy.hs view
@@ -0,0 +1,343 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.CreateDeploymentStrategy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a deployment strategy that defines important criteria for+-- rolling out your configuration to the designated targets. A deployment+-- strategy includes the overall duration required, a percentage of targets+-- to receive the deployment during each interval, an algorithm that+-- defines how percentage grows, and bake time.+module Amazonka.AppConfig.CreateDeploymentStrategy+ ( -- * Creating a Request+ CreateDeploymentStrategy (..),+ newCreateDeploymentStrategy,++ -- * Request Lenses+ createDeploymentStrategy_description,+ createDeploymentStrategy_finalBakeTimeInMinutes,+ createDeploymentStrategy_growthType,+ createDeploymentStrategy_replicateTo,+ createDeploymentStrategy_tags,+ createDeploymentStrategy_name,+ createDeploymentStrategy_deploymentDurationInMinutes,+ createDeploymentStrategy_growthFactor,++ -- * Destructuring the Response+ DeploymentStrategy (..),+ newDeploymentStrategy,++ -- * Response Lenses+ deploymentStrategy_deploymentDurationInMinutes,+ deploymentStrategy_description,+ deploymentStrategy_finalBakeTimeInMinutes,+ deploymentStrategy_growthFactor,+ deploymentStrategy_growthType,+ deploymentStrategy_id,+ deploymentStrategy_name,+ deploymentStrategy_replicateTo,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDeploymentStrategy' smart constructor.+data CreateDeploymentStrategy = CreateDeploymentStrategy'+ { -- | A description of the deployment strategy.+ description :: Prelude.Maybe Prelude.Text,+ -- | Specifies the amount of time AppConfig monitors for Amazon CloudWatch+ -- alarms after the configuration has been deployed to 100% of its targets,+ -- before considering the deployment to be complete. If an alarm is+ -- triggered during this time, AppConfig rolls back the deployment. You+ -- must configure permissions for AppConfig to roll back based on+ -- CloudWatch alarms. For more information, see+ -- <https://docs.aws.amazon.com/appconfig/latest/userguide/getting-started-with-appconfig-cloudwatch-alarms-permissions.html Configuring permissions for rollback based on Amazon CloudWatch alarms>+ -- in the /AppConfig User Guide/.+ finalBakeTimeInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | The algorithm used to define how percentage grows over time. AppConfig+ -- supports the following growth types:+ --+ -- __Linear__: For this type, AppConfig processes the deployment by+ -- dividing the total number of targets by the value specified for+ -- @Step percentage@. For example, a linear deployment that uses a+ -- @Step percentage@ of 10 deploys the configuration to 10 percent of the+ -- hosts. After those deployments are complete, the system deploys the+ -- configuration to the next 10 percent. This continues until 100% of the+ -- targets have successfully received the configuration.+ --+ -- __Exponential__: For this type, AppConfig processes the deployment+ -- exponentially using the following formula: @G*(2^N)@. In this formula,+ -- @G@ is the growth factor specified by the user and @N@ is the number of+ -- steps until the configuration is deployed to all targets. For example,+ -- if you specify a growth factor of 2, then the system rolls out the+ -- configuration as follows:+ --+ -- @2*(2^0)@+ --+ -- @2*(2^1)@+ --+ -- @2*(2^2)@+ --+ -- Expressed numerically, the deployment rolls out as follows: 2% of the+ -- targets, 4% of the targets, 8% of the targets, and continues until the+ -- configuration has been deployed to all targets.+ growthType :: Prelude.Maybe GrowthType,+ -- | Save the deployment strategy to a Systems Manager (SSM) document.+ replicateTo :: Prelude.Maybe ReplicateTo,+ -- | Metadata to assign to the deployment strategy. Tags help organize and+ -- categorize your AppConfig resources. Each tag consists of a key and an+ -- optional value, both of which you define.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A name for the deployment strategy.+ name :: Prelude.Text,+ -- | Total amount of time for a deployment to last.+ deploymentDurationInMinutes :: Prelude.Natural,+ -- | The percentage of targets to receive a deployed configuration during+ -- each interval.+ growthFactor :: Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDeploymentStrategy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createDeploymentStrategy_description' - A description of the deployment strategy.+--+-- 'finalBakeTimeInMinutes', 'createDeploymentStrategy_finalBakeTimeInMinutes' - Specifies the amount of time AppConfig monitors for Amazon CloudWatch+-- alarms after the configuration has been deployed to 100% of its targets,+-- before considering the deployment to be complete. If an alarm is+-- triggered during this time, AppConfig rolls back the deployment. You+-- must configure permissions for AppConfig to roll back based on+-- CloudWatch alarms. For more information, see+-- <https://docs.aws.amazon.com/appconfig/latest/userguide/getting-started-with-appconfig-cloudwatch-alarms-permissions.html Configuring permissions for rollback based on Amazon CloudWatch alarms>+-- in the /AppConfig User Guide/.+--+-- 'growthType', 'createDeploymentStrategy_growthType' - The algorithm used to define how percentage grows over time. AppConfig+-- supports the following growth types:+--+-- __Linear__: For this type, AppConfig processes the deployment by+-- dividing the total number of targets by the value specified for+-- @Step percentage@. For example, a linear deployment that uses a+-- @Step percentage@ of 10 deploys the configuration to 10 percent of the+-- hosts. After those deployments are complete, the system deploys the+-- configuration to the next 10 percent. This continues until 100% of the+-- targets have successfully received the configuration.+--+-- __Exponential__: For this type, AppConfig processes the deployment+-- exponentially using the following formula: @G*(2^N)@. In this formula,+-- @G@ is the growth factor specified by the user and @N@ is the number of+-- steps until the configuration is deployed to all targets. For example,+-- if you specify a growth factor of 2, then the system rolls out the+-- configuration as follows:+--+-- @2*(2^0)@+--+-- @2*(2^1)@+--+-- @2*(2^2)@+--+-- Expressed numerically, the deployment rolls out as follows: 2% of the+-- targets, 4% of the targets, 8% of the targets, and continues until the+-- configuration has been deployed to all targets.+--+-- 'replicateTo', 'createDeploymentStrategy_replicateTo' - Save the deployment strategy to a Systems Manager (SSM) document.+--+-- 'tags', 'createDeploymentStrategy_tags' - Metadata to assign to the deployment strategy. Tags help organize and+-- categorize your AppConfig resources. Each tag consists of a key and an+-- optional value, both of which you define.+--+-- 'name', 'createDeploymentStrategy_name' - A name for the deployment strategy.+--+-- 'deploymentDurationInMinutes', 'createDeploymentStrategy_deploymentDurationInMinutes' - Total amount of time for a deployment to last.+--+-- 'growthFactor', 'createDeploymentStrategy_growthFactor' - The percentage of targets to receive a deployed configuration during+-- each interval.+newCreateDeploymentStrategy ::+ -- | 'name'+ Prelude.Text ->+ -- | 'deploymentDurationInMinutes'+ Prelude.Natural ->+ -- | 'growthFactor'+ Prelude.Double ->+ CreateDeploymentStrategy+newCreateDeploymentStrategy+ pName_+ pDeploymentDurationInMinutes_+ pGrowthFactor_ =+ CreateDeploymentStrategy'+ { description =+ Prelude.Nothing,+ finalBakeTimeInMinutes = Prelude.Nothing,+ growthType = Prelude.Nothing,+ replicateTo = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_,+ deploymentDurationInMinutes =+ pDeploymentDurationInMinutes_,+ growthFactor = pGrowthFactor_+ }++-- | A description of the deployment strategy.+createDeploymentStrategy_description :: Lens.Lens' CreateDeploymentStrategy (Prelude.Maybe Prelude.Text)+createDeploymentStrategy_description = Lens.lens (\CreateDeploymentStrategy' {description} -> description) (\s@CreateDeploymentStrategy' {} a -> s {description = a} :: CreateDeploymentStrategy)++-- | Specifies the amount of time AppConfig monitors for Amazon CloudWatch+-- alarms after the configuration has been deployed to 100% of its targets,+-- before considering the deployment to be complete. If an alarm is+-- triggered during this time, AppConfig rolls back the deployment. You+-- must configure permissions for AppConfig to roll back based on+-- CloudWatch alarms. For more information, see+-- <https://docs.aws.amazon.com/appconfig/latest/userguide/getting-started-with-appconfig-cloudwatch-alarms-permissions.html Configuring permissions for rollback based on Amazon CloudWatch alarms>+-- in the /AppConfig User Guide/.+createDeploymentStrategy_finalBakeTimeInMinutes :: Lens.Lens' CreateDeploymentStrategy (Prelude.Maybe Prelude.Natural)+createDeploymentStrategy_finalBakeTimeInMinutes = Lens.lens (\CreateDeploymentStrategy' {finalBakeTimeInMinutes} -> finalBakeTimeInMinutes) (\s@CreateDeploymentStrategy' {} a -> s {finalBakeTimeInMinutes = a} :: CreateDeploymentStrategy)++-- | The algorithm used to define how percentage grows over time. AppConfig+-- supports the following growth types:+--+-- __Linear__: For this type, AppConfig processes the deployment by+-- dividing the total number of targets by the value specified for+-- @Step percentage@. For example, a linear deployment that uses a+-- @Step percentage@ of 10 deploys the configuration to 10 percent of the+-- hosts. After those deployments are complete, the system deploys the+-- configuration to the next 10 percent. This continues until 100% of the+-- targets have successfully received the configuration.+--+-- __Exponential__: For this type, AppConfig processes the deployment+-- exponentially using the following formula: @G*(2^N)@. In this formula,+-- @G@ is the growth factor specified by the user and @N@ is the number of+-- steps until the configuration is deployed to all targets. For example,+-- if you specify a growth factor of 2, then the system rolls out the+-- configuration as follows:+--+-- @2*(2^0)@+--+-- @2*(2^1)@+--+-- @2*(2^2)@+--+-- Expressed numerically, the deployment rolls out as follows: 2% of the+-- targets, 4% of the targets, 8% of the targets, and continues until the+-- configuration has been deployed to all targets.+createDeploymentStrategy_growthType :: Lens.Lens' CreateDeploymentStrategy (Prelude.Maybe GrowthType)+createDeploymentStrategy_growthType = Lens.lens (\CreateDeploymentStrategy' {growthType} -> growthType) (\s@CreateDeploymentStrategy' {} a -> s {growthType = a} :: CreateDeploymentStrategy)++-- | Save the deployment strategy to a Systems Manager (SSM) document.+createDeploymentStrategy_replicateTo :: Lens.Lens' CreateDeploymentStrategy (Prelude.Maybe ReplicateTo)+createDeploymentStrategy_replicateTo = Lens.lens (\CreateDeploymentStrategy' {replicateTo} -> replicateTo) (\s@CreateDeploymentStrategy' {} a -> s {replicateTo = a} :: CreateDeploymentStrategy)++-- | Metadata to assign to the deployment strategy. Tags help organize and+-- categorize your AppConfig resources. Each tag consists of a key and an+-- optional value, both of which you define.+createDeploymentStrategy_tags :: Lens.Lens' CreateDeploymentStrategy (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createDeploymentStrategy_tags = Lens.lens (\CreateDeploymentStrategy' {tags} -> tags) (\s@CreateDeploymentStrategy' {} a -> s {tags = a} :: CreateDeploymentStrategy) Prelude.. Lens.mapping Lens.coerced++-- | A name for the deployment strategy.+createDeploymentStrategy_name :: Lens.Lens' CreateDeploymentStrategy Prelude.Text+createDeploymentStrategy_name = Lens.lens (\CreateDeploymentStrategy' {name} -> name) (\s@CreateDeploymentStrategy' {} a -> s {name = a} :: CreateDeploymentStrategy)++-- | Total amount of time for a deployment to last.+createDeploymentStrategy_deploymentDurationInMinutes :: Lens.Lens' CreateDeploymentStrategy Prelude.Natural+createDeploymentStrategy_deploymentDurationInMinutes = Lens.lens (\CreateDeploymentStrategy' {deploymentDurationInMinutes} -> deploymentDurationInMinutes) (\s@CreateDeploymentStrategy' {} a -> s {deploymentDurationInMinutes = a} :: CreateDeploymentStrategy)++-- | The percentage of targets to receive a deployed configuration during+-- each interval.+createDeploymentStrategy_growthFactor :: Lens.Lens' CreateDeploymentStrategy Prelude.Double+createDeploymentStrategy_growthFactor = Lens.lens (\CreateDeploymentStrategy' {growthFactor} -> growthFactor) (\s@CreateDeploymentStrategy' {} a -> s {growthFactor = a} :: CreateDeploymentStrategy)++instance Core.AWSRequest CreateDeploymentStrategy where+ type+ AWSResponse CreateDeploymentStrategy =+ DeploymentStrategy+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable CreateDeploymentStrategy where+ hashWithSalt _salt CreateDeploymentStrategy' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` finalBakeTimeInMinutes+ `Prelude.hashWithSalt` growthType+ `Prelude.hashWithSalt` replicateTo+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` deploymentDurationInMinutes+ `Prelude.hashWithSalt` growthFactor++instance Prelude.NFData CreateDeploymentStrategy where+ rnf CreateDeploymentStrategy' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf finalBakeTimeInMinutes+ `Prelude.seq` Prelude.rnf growthType+ `Prelude.seq` Prelude.rnf replicateTo+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf deploymentDurationInMinutes+ `Prelude.seq` Prelude.rnf growthFactor++instance Data.ToHeaders CreateDeploymentStrategy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDeploymentStrategy where+ toJSON CreateDeploymentStrategy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("FinalBakeTimeInMinutes" Data..=)+ Prelude.<$> finalBakeTimeInMinutes,+ ("GrowthType" Data..=) Prelude.<$> growthType,+ ("ReplicateTo" Data..=) Prelude.<$> replicateTo,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just+ ( "DeploymentDurationInMinutes"+ Data..= deploymentDurationInMinutes+ ),+ Prelude.Just ("GrowthFactor" Data..= growthFactor)+ ]+ )++instance Data.ToPath CreateDeploymentStrategy where+ toPath = Prelude.const "/deploymentstrategies"++instance Data.ToQuery CreateDeploymentStrategy where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/CreateEnvironment.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.CreateEnvironment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an environment. For each application, you define one or more+-- environments. An environment is a deployment group of AppConfig targets,+-- such as applications in a @Beta@ or @Production@ environment. You can+-- also define environments for application subcomponents such as the+-- @Web@, @Mobile@ and @Back-end@ components for your application. You can+-- configure Amazon CloudWatch alarms for each environment. The system+-- monitors alarms during a configuration deployment. If an alarm is+-- triggered, the system rolls back the configuration.+module Amazonka.AppConfig.CreateEnvironment+ ( -- * Creating a Request+ CreateEnvironment (..),+ newCreateEnvironment,++ -- * Request Lenses+ createEnvironment_description,+ createEnvironment_monitors,+ createEnvironment_tags,+ createEnvironment_applicationId,+ createEnvironment_name,++ -- * Destructuring the Response+ Environment (..),+ newEnvironment,++ -- * Response Lenses+ environment_applicationId,+ environment_description,+ environment_id,+ environment_monitors,+ environment_name,+ environment_state,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateEnvironment' smart constructor.+data CreateEnvironment = CreateEnvironment'+ { -- | A description of the environment.+ description :: Prelude.Maybe Prelude.Text,+ -- | Amazon CloudWatch alarms to monitor during the deployment process.+ monitors :: Prelude.Maybe [Monitor],+ -- | Metadata to assign to the environment. Tags help organize and categorize+ -- your AppConfig resources. Each tag consists of a key and an optional+ -- value, both of which you define.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The application ID.+ applicationId :: Prelude.Text,+ -- | A name for the environment.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateEnvironment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createEnvironment_description' - A description of the environment.+--+-- 'monitors', 'createEnvironment_monitors' - Amazon CloudWatch alarms to monitor during the deployment process.+--+-- 'tags', 'createEnvironment_tags' - Metadata to assign to the environment. Tags help organize and categorize+-- your AppConfig resources. Each tag consists of a key and an optional+-- value, both of which you define.+--+-- 'applicationId', 'createEnvironment_applicationId' - The application ID.+--+-- 'name', 'createEnvironment_name' - A name for the environment.+newCreateEnvironment ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ CreateEnvironment+newCreateEnvironment pApplicationId_ pName_ =+ CreateEnvironment'+ { description = Prelude.Nothing,+ monitors = Prelude.Nothing,+ tags = Prelude.Nothing,+ applicationId = pApplicationId_,+ name = pName_+ }++-- | A description of the environment.+createEnvironment_description :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Text)+createEnvironment_description = Lens.lens (\CreateEnvironment' {description} -> description) (\s@CreateEnvironment' {} a -> s {description = a} :: CreateEnvironment)++-- | Amazon CloudWatch alarms to monitor during the deployment process.+createEnvironment_monitors :: Lens.Lens' CreateEnvironment (Prelude.Maybe [Monitor])+createEnvironment_monitors = Lens.lens (\CreateEnvironment' {monitors} -> monitors) (\s@CreateEnvironment' {} a -> s {monitors = a} :: CreateEnvironment) Prelude.. Lens.mapping Lens.coerced++-- | Metadata to assign to the environment. Tags help organize and categorize+-- your AppConfig resources. Each tag consists of a key and an optional+-- value, both of which you define.+createEnvironment_tags :: Lens.Lens' CreateEnvironment (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createEnvironment_tags = Lens.lens (\CreateEnvironment' {tags} -> tags) (\s@CreateEnvironment' {} a -> s {tags = a} :: CreateEnvironment) Prelude.. Lens.mapping Lens.coerced++-- | The application ID.+createEnvironment_applicationId :: Lens.Lens' CreateEnvironment Prelude.Text+createEnvironment_applicationId = Lens.lens (\CreateEnvironment' {applicationId} -> applicationId) (\s@CreateEnvironment' {} a -> s {applicationId = a} :: CreateEnvironment)++-- | A name for the environment.+createEnvironment_name :: Lens.Lens' CreateEnvironment Prelude.Text+createEnvironment_name = Lens.lens (\CreateEnvironment' {name} -> name) (\s@CreateEnvironment' {} a -> s {name = a} :: CreateEnvironment)++instance Core.AWSRequest CreateEnvironment where+ type AWSResponse CreateEnvironment = Environment+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable CreateEnvironment where+ hashWithSalt _salt CreateEnvironment' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` monitors+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateEnvironment where+ rnf CreateEnvironment' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf monitors+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateEnvironment where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateEnvironment where+ toJSON CreateEnvironment' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("Monitors" Data..=) Prelude.<$> monitors,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name)+ ]+ )++instance Data.ToPath CreateEnvironment where+ toPath CreateEnvironment' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/environments"+ ]++instance Data.ToQuery CreateEnvironment where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/CreateExtension.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.CreateExtension+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an AppConfig extension. An extension augments your ability to+-- inject logic or behavior at different points during the AppConfig+-- workflow of creating or deploying a configuration.+--+-- You can create your own extensions or use the Amazon Web+-- Services-authored extensions provided by AppConfig. For most use-cases,+-- to create your own extension, you must create an Lambda function to+-- perform any computation and processing defined in the extension. For+-- more information about extensions, see+-- <https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html Working with AppConfig extensions>+-- in the /AppConfig User Guide/.+module Amazonka.AppConfig.CreateExtension+ ( -- * Creating a Request+ CreateExtension (..),+ newCreateExtension,++ -- * Request Lenses+ createExtension_description,+ createExtension_latestVersionNumber,+ createExtension_parameters,+ createExtension_tags,+ createExtension_name,+ createExtension_actions,++ -- * Destructuring the Response+ Extension (..),+ newExtension,++ -- * Response Lenses+ extension_actions,+ extension_arn,+ extension_description,+ extension_id,+ extension_name,+ extension_parameters,+ extension_versionNumber,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateExtension' smart constructor.+data CreateExtension = CreateExtension'+ { -- | Information about the extension.+ description :: Prelude.Maybe Prelude.Text,+ -- | You can omit this field when you create an extension. When you create a+ -- new version, specify the most recent current version number. For+ -- example, you create version 3, enter 2 for this field.+ latestVersionNumber :: Prelude.Maybe Prelude.Int,+ -- | The parameters accepted by the extension. You specify parameter values+ -- when you associate the extension to an AppConfig resource by using the+ -- @CreateExtensionAssociation@ API action. For Lambda extension actions,+ -- these parameters are included in the Lambda request object.+ parameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Parameter),+ -- | Adds one or more tags for the specified extension. Tags are metadata+ -- that help you categorize resources in different ways, for example, by+ -- purpose, owner, or environment. Each tag consists of a key and an+ -- optional value, both of which you define.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A name for the extension. Each extension name in your account must be+ -- unique. Extension versions use the same name.+ name :: Prelude.Text,+ -- | The actions defined in the extension.+ actions :: Prelude.HashMap ActionPoint (Prelude.NonEmpty Action)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateExtension' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createExtension_description' - Information about the extension.+--+-- 'latestVersionNumber', 'createExtension_latestVersionNumber' - You can omit this field when you create an extension. When you create a+-- new version, specify the most recent current version number. For+-- example, you create version 3, enter 2 for this field.+--+-- 'parameters', 'createExtension_parameters' - The parameters accepted by the extension. You specify parameter values+-- when you associate the extension to an AppConfig resource by using the+-- @CreateExtensionAssociation@ API action. For Lambda extension actions,+-- these parameters are included in the Lambda request object.+--+-- 'tags', 'createExtension_tags' - Adds one or more tags for the specified extension. Tags are metadata+-- that help you categorize resources in different ways, for example, by+-- purpose, owner, or environment. Each tag consists of a key and an+-- optional value, both of which you define.+--+-- 'name', 'createExtension_name' - A name for the extension. Each extension name in your account must be+-- unique. Extension versions use the same name.+--+-- 'actions', 'createExtension_actions' - The actions defined in the extension.+newCreateExtension ::+ -- | 'name'+ Prelude.Text ->+ CreateExtension+newCreateExtension pName_ =+ CreateExtension'+ { description = Prelude.Nothing,+ latestVersionNumber = Prelude.Nothing,+ parameters = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_,+ actions = Prelude.mempty+ }++-- | Information about the extension.+createExtension_description :: Lens.Lens' CreateExtension (Prelude.Maybe Prelude.Text)+createExtension_description = Lens.lens (\CreateExtension' {description} -> description) (\s@CreateExtension' {} a -> s {description = a} :: CreateExtension)++-- | You can omit this field when you create an extension. When you create a+-- new version, specify the most recent current version number. For+-- example, you create version 3, enter 2 for this field.+createExtension_latestVersionNumber :: Lens.Lens' CreateExtension (Prelude.Maybe Prelude.Int)+createExtension_latestVersionNumber = Lens.lens (\CreateExtension' {latestVersionNumber} -> latestVersionNumber) (\s@CreateExtension' {} a -> s {latestVersionNumber = a} :: CreateExtension)++-- | The parameters accepted by the extension. You specify parameter values+-- when you associate the extension to an AppConfig resource by using the+-- @CreateExtensionAssociation@ API action. For Lambda extension actions,+-- these parameters are included in the Lambda request object.+createExtension_parameters :: Lens.Lens' CreateExtension (Prelude.Maybe (Prelude.HashMap Prelude.Text Parameter))+createExtension_parameters = Lens.lens (\CreateExtension' {parameters} -> parameters) (\s@CreateExtension' {} a -> s {parameters = a} :: CreateExtension) Prelude.. Lens.mapping Lens.coerced++-- | Adds one or more tags for the specified extension. Tags are metadata+-- that help you categorize resources in different ways, for example, by+-- purpose, owner, or environment. Each tag consists of a key and an+-- optional value, both of which you define.+createExtension_tags :: Lens.Lens' CreateExtension (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createExtension_tags = Lens.lens (\CreateExtension' {tags} -> tags) (\s@CreateExtension' {} a -> s {tags = a} :: CreateExtension) Prelude.. Lens.mapping Lens.coerced++-- | A name for the extension. Each extension name in your account must be+-- unique. Extension versions use the same name.+createExtension_name :: Lens.Lens' CreateExtension Prelude.Text+createExtension_name = Lens.lens (\CreateExtension' {name} -> name) (\s@CreateExtension' {} a -> s {name = a} :: CreateExtension)++-- | The actions defined in the extension.+createExtension_actions :: Lens.Lens' CreateExtension (Prelude.HashMap ActionPoint (Prelude.NonEmpty Action))+createExtension_actions = Lens.lens (\CreateExtension' {actions} -> actions) (\s@CreateExtension' {} a -> s {actions = a} :: CreateExtension) Prelude.. Lens.coerced++instance Core.AWSRequest CreateExtension where+ type AWSResponse CreateExtension = Extension+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable CreateExtension where+ hashWithSalt _salt CreateExtension' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` latestVersionNumber+ `Prelude.hashWithSalt` parameters+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` actions++instance Prelude.NFData CreateExtension where+ rnf CreateExtension' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf latestVersionNumber+ `Prelude.seq` Prelude.rnf parameters+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf actions++instance Data.ToHeaders CreateExtension where+ toHeaders CreateExtension' {..} =+ Prelude.mconcat+ [ "Latest-Version-Number" Data.=# latestVersionNumber,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreateExtension where+ toJSON CreateExtension' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("Parameters" Data..=) Prelude.<$> parameters,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("Actions" Data..= actions)+ ]+ )++instance Data.ToPath CreateExtension where+ toPath = Prelude.const "/extensions"++instance Data.ToQuery CreateExtension where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/CreateExtensionAssociation.hs view
@@ -0,0 +1,213 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.CreateExtensionAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- When you create an extension or configure an Amazon Web+-- Services-authored extension, you associate the extension with an+-- AppConfig application, environment, or configuration profile. For+-- example, you can choose to run the+-- @AppConfig deployment events to Amazon SNS@ Amazon Web Services-authored+-- extension and receive notifications on an Amazon SNS topic anytime a+-- configuration deployment is started for a specific application. Defining+-- which extension to associate with an AppConfig resource is called an+-- /extension association/. An extension association is a specified+-- relationship between an extension and an AppConfig resource, such as an+-- application or a configuration profile. For more information about+-- extensions and associations, see+-- <https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html Working with AppConfig extensions>+-- in the /AppConfig User Guide/.+module Amazonka.AppConfig.CreateExtensionAssociation+ ( -- * Creating a Request+ CreateExtensionAssociation (..),+ newCreateExtensionAssociation,++ -- * Request Lenses+ createExtensionAssociation_extensionVersionNumber,+ createExtensionAssociation_parameters,+ createExtensionAssociation_tags,+ createExtensionAssociation_extensionIdentifier,+ createExtensionAssociation_resourceIdentifier,++ -- * Destructuring the Response+ ExtensionAssociation (..),+ newExtensionAssociation,++ -- * Response Lenses+ extensionAssociation_arn,+ extensionAssociation_extensionArn,+ extensionAssociation_extensionVersionNumber,+ extensionAssociation_id,+ extensionAssociation_parameters,+ extensionAssociation_resourceArn,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateExtensionAssociation' smart constructor.+data CreateExtensionAssociation = CreateExtensionAssociation'+ { -- | The version number of the extension. If not specified, AppConfig uses+ -- the maximum version of the extension.+ extensionVersionNumber :: Prelude.Maybe Prelude.Int,+ -- | The parameter names and values defined in the extensions. Extension+ -- parameters marked @Required@ must be entered for this field.+ parameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Adds one or more tags for the specified extension association. Tags are+ -- metadata that help you categorize resources in different ways, for+ -- example, by purpose, owner, or environment. Each tag consists of a key+ -- and an optional value, both of which you define.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name, the ID, or the Amazon Resource Name (ARN) of the extension.+ extensionIdentifier :: Prelude.Text,+ -- | The ARN of an application, configuration profile, or environment.+ resourceIdentifier :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateExtensionAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'extensionVersionNumber', 'createExtensionAssociation_extensionVersionNumber' - The version number of the extension. If not specified, AppConfig uses+-- the maximum version of the extension.+--+-- 'parameters', 'createExtensionAssociation_parameters' - The parameter names and values defined in the extensions. Extension+-- parameters marked @Required@ must be entered for this field.+--+-- 'tags', 'createExtensionAssociation_tags' - Adds one or more tags for the specified extension association. Tags are+-- metadata that help you categorize resources in different ways, for+-- example, by purpose, owner, or environment. Each tag consists of a key+-- and an optional value, both of which you define.+--+-- 'extensionIdentifier', 'createExtensionAssociation_extensionIdentifier' - The name, the ID, or the Amazon Resource Name (ARN) of the extension.+--+-- 'resourceIdentifier', 'createExtensionAssociation_resourceIdentifier' - The ARN of an application, configuration profile, or environment.+newCreateExtensionAssociation ::+ -- | 'extensionIdentifier'+ Prelude.Text ->+ -- | 'resourceIdentifier'+ Prelude.Text ->+ CreateExtensionAssociation+newCreateExtensionAssociation+ pExtensionIdentifier_+ pResourceIdentifier_ =+ CreateExtensionAssociation'+ { extensionVersionNumber =+ Prelude.Nothing,+ parameters = Prelude.Nothing,+ tags = Prelude.Nothing,+ extensionIdentifier = pExtensionIdentifier_,+ resourceIdentifier = pResourceIdentifier_+ }++-- | The version number of the extension. If not specified, AppConfig uses+-- the maximum version of the extension.+createExtensionAssociation_extensionVersionNumber :: Lens.Lens' CreateExtensionAssociation (Prelude.Maybe Prelude.Int)+createExtensionAssociation_extensionVersionNumber = Lens.lens (\CreateExtensionAssociation' {extensionVersionNumber} -> extensionVersionNumber) (\s@CreateExtensionAssociation' {} a -> s {extensionVersionNumber = a} :: CreateExtensionAssociation)++-- | The parameter names and values defined in the extensions. Extension+-- parameters marked @Required@ must be entered for this field.+createExtensionAssociation_parameters :: Lens.Lens' CreateExtensionAssociation (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createExtensionAssociation_parameters = Lens.lens (\CreateExtensionAssociation' {parameters} -> parameters) (\s@CreateExtensionAssociation' {} a -> s {parameters = a} :: CreateExtensionAssociation) Prelude.. Lens.mapping Lens.coerced++-- | Adds one or more tags for the specified extension association. Tags are+-- metadata that help you categorize resources in different ways, for+-- example, by purpose, owner, or environment. Each tag consists of a key+-- and an optional value, both of which you define.+createExtensionAssociation_tags :: Lens.Lens' CreateExtensionAssociation (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createExtensionAssociation_tags = Lens.lens (\CreateExtensionAssociation' {tags} -> tags) (\s@CreateExtensionAssociation' {} a -> s {tags = a} :: CreateExtensionAssociation) Prelude.. Lens.mapping Lens.coerced++-- | The name, the ID, or the Amazon Resource Name (ARN) of the extension.+createExtensionAssociation_extensionIdentifier :: Lens.Lens' CreateExtensionAssociation Prelude.Text+createExtensionAssociation_extensionIdentifier = Lens.lens (\CreateExtensionAssociation' {extensionIdentifier} -> extensionIdentifier) (\s@CreateExtensionAssociation' {} a -> s {extensionIdentifier = a} :: CreateExtensionAssociation)++-- | The ARN of an application, configuration profile, or environment.+createExtensionAssociation_resourceIdentifier :: Lens.Lens' CreateExtensionAssociation Prelude.Text+createExtensionAssociation_resourceIdentifier = Lens.lens (\CreateExtensionAssociation' {resourceIdentifier} -> resourceIdentifier) (\s@CreateExtensionAssociation' {} a -> s {resourceIdentifier = a} :: CreateExtensionAssociation)++instance Core.AWSRequest CreateExtensionAssociation where+ type+ AWSResponse CreateExtensionAssociation =+ ExtensionAssociation+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable CreateExtensionAssociation where+ hashWithSalt _salt CreateExtensionAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` extensionVersionNumber+ `Prelude.hashWithSalt` parameters+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` extensionIdentifier+ `Prelude.hashWithSalt` resourceIdentifier++instance Prelude.NFData CreateExtensionAssociation where+ rnf CreateExtensionAssociation' {..} =+ Prelude.rnf extensionVersionNumber+ `Prelude.seq` Prelude.rnf parameters+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf extensionIdentifier+ `Prelude.seq` Prelude.rnf resourceIdentifier++instance Data.ToHeaders CreateExtensionAssociation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateExtensionAssociation where+ toJSON CreateExtensionAssociation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ExtensionVersionNumber" Data..=)+ Prelude.<$> extensionVersionNumber,+ ("Parameters" Data..=) Prelude.<$> parameters,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("ExtensionIdentifier" Data..= extensionIdentifier),+ Prelude.Just+ ("ResourceIdentifier" Data..= resourceIdentifier)+ ]+ )++instance Data.ToPath CreateExtensionAssociation where+ toPath = Prelude.const "/extensionassociations"++instance Data.ToQuery CreateExtensionAssociation where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/CreateHostedConfigurationVersion.hs view
@@ -0,0 +1,241 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.CreateHostedConfigurationVersion+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new configuration in the AppConfig hosted configuration store.+module Amazonka.AppConfig.CreateHostedConfigurationVersion+ ( -- * Creating a Request+ CreateHostedConfigurationVersion (..),+ newCreateHostedConfigurationVersion,++ -- * Request Lenses+ createHostedConfigurationVersion_description,+ createHostedConfigurationVersion_latestVersionNumber,+ createHostedConfigurationVersion_applicationId,+ createHostedConfigurationVersion_configurationProfileId,+ createHostedConfigurationVersion_content,+ createHostedConfigurationVersion_contentType,++ -- * Destructuring the Response+ HostedConfigurationVersion (..),+ newHostedConfigurationVersion,++ -- * Response Lenses+ hostedConfigurationVersion_applicationId,+ hostedConfigurationVersion_configurationProfileId,+ hostedConfigurationVersion_content,+ hostedConfigurationVersion_contentType,+ hostedConfigurationVersion_description,+ hostedConfigurationVersion_versionNumber,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateHostedConfigurationVersion' smart constructor.+data CreateHostedConfigurationVersion = CreateHostedConfigurationVersion'+ { -- | A description of the configuration.+ description :: Prelude.Maybe Prelude.Text,+ -- | An optional locking token used to prevent race conditions from+ -- overwriting configuration updates when creating a new version. To ensure+ -- your data is not overwritten when creating multiple hosted configuration+ -- versions in rapid succession, specify the version number of the latest+ -- hosted configuration version.+ latestVersionNumber :: Prelude.Maybe Prelude.Int,+ -- | The application ID.+ applicationId :: Prelude.Text,+ -- | The configuration profile ID.+ configurationProfileId :: Prelude.Text,+ -- | The content of the configuration or the configuration data.+ content :: Data.Sensitive Prelude.ByteString,+ -- | A standard MIME type describing the format of the configuration content.+ -- For more information, see+ -- <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 Content-Type>.+ contentType :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateHostedConfigurationVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createHostedConfigurationVersion_description' - A description of the configuration.+--+-- 'latestVersionNumber', 'createHostedConfigurationVersion_latestVersionNumber' - An optional locking token used to prevent race conditions from+-- overwriting configuration updates when creating a new version. To ensure+-- your data is not overwritten when creating multiple hosted configuration+-- versions in rapid succession, specify the version number of the latest+-- hosted configuration version.+--+-- 'applicationId', 'createHostedConfigurationVersion_applicationId' - The application ID.+--+-- 'configurationProfileId', 'createHostedConfigurationVersion_configurationProfileId' - The configuration profile ID.+--+-- 'content', 'createHostedConfigurationVersion_content' - The content of the configuration or the configuration data.+--+-- 'contentType', 'createHostedConfigurationVersion_contentType' - A standard MIME type describing the format of the configuration content.+-- For more information, see+-- <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 Content-Type>.+newCreateHostedConfigurationVersion ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'configurationProfileId'+ Prelude.Text ->+ -- | 'content'+ Prelude.ByteString ->+ -- | 'contentType'+ Prelude.Text ->+ CreateHostedConfigurationVersion+newCreateHostedConfigurationVersion+ pApplicationId_+ pConfigurationProfileId_+ pContent_+ pContentType_ =+ CreateHostedConfigurationVersion'+ { description =+ Prelude.Nothing,+ latestVersionNumber = Prelude.Nothing,+ applicationId = pApplicationId_,+ configurationProfileId =+ pConfigurationProfileId_,+ content =+ Data._Sensitive Lens.# pContent_,+ contentType = pContentType_+ }++-- | A description of the configuration.+createHostedConfigurationVersion_description :: Lens.Lens' CreateHostedConfigurationVersion (Prelude.Maybe Prelude.Text)+createHostedConfigurationVersion_description = Lens.lens (\CreateHostedConfigurationVersion' {description} -> description) (\s@CreateHostedConfigurationVersion' {} a -> s {description = a} :: CreateHostedConfigurationVersion)++-- | An optional locking token used to prevent race conditions from+-- overwriting configuration updates when creating a new version. To ensure+-- your data is not overwritten when creating multiple hosted configuration+-- versions in rapid succession, specify the version number of the latest+-- hosted configuration version.+createHostedConfigurationVersion_latestVersionNumber :: Lens.Lens' CreateHostedConfigurationVersion (Prelude.Maybe Prelude.Int)+createHostedConfigurationVersion_latestVersionNumber = Lens.lens (\CreateHostedConfigurationVersion' {latestVersionNumber} -> latestVersionNumber) (\s@CreateHostedConfigurationVersion' {} a -> s {latestVersionNumber = a} :: CreateHostedConfigurationVersion)++-- | The application ID.+createHostedConfigurationVersion_applicationId :: Lens.Lens' CreateHostedConfigurationVersion Prelude.Text+createHostedConfigurationVersion_applicationId = Lens.lens (\CreateHostedConfigurationVersion' {applicationId} -> applicationId) (\s@CreateHostedConfigurationVersion' {} a -> s {applicationId = a} :: CreateHostedConfigurationVersion)++-- | The configuration profile ID.+createHostedConfigurationVersion_configurationProfileId :: Lens.Lens' CreateHostedConfigurationVersion Prelude.Text+createHostedConfigurationVersion_configurationProfileId = Lens.lens (\CreateHostedConfigurationVersion' {configurationProfileId} -> configurationProfileId) (\s@CreateHostedConfigurationVersion' {} a -> s {configurationProfileId = a} :: CreateHostedConfigurationVersion)++-- | The content of the configuration or the configuration data.+createHostedConfigurationVersion_content :: Lens.Lens' CreateHostedConfigurationVersion Prelude.ByteString+createHostedConfigurationVersion_content = Lens.lens (\CreateHostedConfigurationVersion' {content} -> content) (\s@CreateHostedConfigurationVersion' {} a -> s {content = a} :: CreateHostedConfigurationVersion) Prelude.. Data._Sensitive++-- | A standard MIME type describing the format of the configuration content.+-- For more information, see+-- <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 Content-Type>.+createHostedConfigurationVersion_contentType :: Lens.Lens' CreateHostedConfigurationVersion Prelude.Text+createHostedConfigurationVersion_contentType = Lens.lens (\CreateHostedConfigurationVersion' {contentType} -> contentType) (\s@CreateHostedConfigurationVersion' {} a -> s {contentType = a} :: CreateHostedConfigurationVersion)++instance+ Core.AWSRequest+ CreateHostedConfigurationVersion+ where+ type+ AWSResponse CreateHostedConfigurationVersion =+ HostedConfigurationVersion+ request overrides =+ Request.postBody (overrides defaultService)+ response =+ Response.receiveBytes+ ( \s h x ->+ HostedConfigurationVersion'+ Prelude.<$> (h Data..#? "Application-Id")+ Prelude.<*> (h Data..#? "Configuration-Profile-Id")+ Prelude.<*> (Prelude.pure (Prelude.Just (Prelude.coerce x)))+ Prelude.<*> (h Data..#? "Content-Type")+ Prelude.<*> (h Data..#? "Description")+ Prelude.<*> (h Data..#? "Version-Number")+ )++instance+ Prelude.Hashable+ CreateHostedConfigurationVersion+ where+ hashWithSalt+ _salt+ CreateHostedConfigurationVersion' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` latestVersionNumber+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` configurationProfileId+ `Prelude.hashWithSalt` content+ `Prelude.hashWithSalt` contentType++instance+ Prelude.NFData+ CreateHostedConfigurationVersion+ where+ rnf CreateHostedConfigurationVersion' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf latestVersionNumber+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf configurationProfileId+ `Prelude.seq` Prelude.rnf content+ `Prelude.seq` Prelude.rnf contentType++instance Data.ToBody CreateHostedConfigurationVersion where+ toBody CreateHostedConfigurationVersion' {..} =+ Data.toBody content++instance+ Data.ToHeaders+ CreateHostedConfigurationVersion+ where+ toHeaders CreateHostedConfigurationVersion' {..} =+ Prelude.mconcat+ [ "Description" Data.=# description,+ "Latest-Version-Number" Data.=# latestVersionNumber,+ "Content-Type" Data.=# contentType+ ]++instance Data.ToPath CreateHostedConfigurationVersion where+ toPath CreateHostedConfigurationVersion' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/configurationprofiles/",+ Data.toBS configurationProfileId,+ "/hostedconfigurationversions"+ ]++instance+ Data.ToQuery+ CreateHostedConfigurationVersion+ where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/DeleteApplication.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.DeleteApplication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an application. Deleting an application does not delete a+-- configuration from a host.+module Amazonka.AppConfig.DeleteApplication+ ( -- * Creating a Request+ DeleteApplication (..),+ newDeleteApplication,++ -- * Request Lenses+ deleteApplication_applicationId,++ -- * Destructuring the Response+ DeleteApplicationResponse (..),+ newDeleteApplicationResponse,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteApplication' smart constructor.+data DeleteApplication = DeleteApplication'+ { -- | The ID of the application to delete.+ applicationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'deleteApplication_applicationId' - The ID of the application to delete.+newDeleteApplication ::+ -- | 'applicationId'+ Prelude.Text ->+ DeleteApplication+newDeleteApplication pApplicationId_ =+ DeleteApplication' {applicationId = pApplicationId_}++-- | The ID of the application to delete.+deleteApplication_applicationId :: Lens.Lens' DeleteApplication Prelude.Text+deleteApplication_applicationId = Lens.lens (\DeleteApplication' {applicationId} -> applicationId) (\s@DeleteApplication' {} a -> s {applicationId = a} :: DeleteApplication)++instance Core.AWSRequest DeleteApplication where+ type+ AWSResponse DeleteApplication =+ DeleteApplicationResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull DeleteApplicationResponse'++instance Prelude.Hashable DeleteApplication where+ hashWithSalt _salt DeleteApplication' {..} =+ _salt `Prelude.hashWithSalt` applicationId++instance Prelude.NFData DeleteApplication where+ rnf DeleteApplication' {..} =+ Prelude.rnf applicationId++instance Data.ToHeaders DeleteApplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteApplication where+ toPath DeleteApplication' {..} =+ Prelude.mconcat+ ["/applications/", Data.toBS applicationId]++instance Data.ToQuery DeleteApplication where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteApplicationResponse' smart constructor.+data DeleteApplicationResponse = DeleteApplicationResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteApplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteApplicationResponse ::+ DeleteApplicationResponse+newDeleteApplicationResponse =+ DeleteApplicationResponse'++instance Prelude.NFData DeleteApplicationResponse where+ rnf _ = ()
+ gen/Amazonka/AppConfig/DeleteConfigurationProfile.hs view
@@ -0,0 +1,158 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.DeleteConfigurationProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a configuration profile. Deleting a configuration profile does+-- not delete a configuration from a host.+module Amazonka.AppConfig.DeleteConfigurationProfile+ ( -- * Creating a Request+ DeleteConfigurationProfile (..),+ newDeleteConfigurationProfile,++ -- * Request Lenses+ deleteConfigurationProfile_applicationId,+ deleteConfigurationProfile_configurationProfileId,++ -- * Destructuring the Response+ DeleteConfigurationProfileResponse (..),+ newDeleteConfigurationProfileResponse,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteConfigurationProfile' smart constructor.+data DeleteConfigurationProfile = DeleteConfigurationProfile'+ { -- | The application ID that includes the configuration profile you want to+ -- delete.+ applicationId :: Prelude.Text,+ -- | The ID of the configuration profile you want to delete.+ configurationProfileId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConfigurationProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'deleteConfigurationProfile_applicationId' - The application ID that includes the configuration profile you want to+-- delete.+--+-- 'configurationProfileId', 'deleteConfigurationProfile_configurationProfileId' - The ID of the configuration profile you want to delete.+newDeleteConfigurationProfile ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'configurationProfileId'+ Prelude.Text ->+ DeleteConfigurationProfile+newDeleteConfigurationProfile+ pApplicationId_+ pConfigurationProfileId_ =+ DeleteConfigurationProfile'+ { applicationId =+ pApplicationId_,+ configurationProfileId =+ pConfigurationProfileId_+ }++-- | The application ID that includes the configuration profile you want to+-- delete.+deleteConfigurationProfile_applicationId :: Lens.Lens' DeleteConfigurationProfile Prelude.Text+deleteConfigurationProfile_applicationId = Lens.lens (\DeleteConfigurationProfile' {applicationId} -> applicationId) (\s@DeleteConfigurationProfile' {} a -> s {applicationId = a} :: DeleteConfigurationProfile)++-- | The ID of the configuration profile you want to delete.+deleteConfigurationProfile_configurationProfileId :: Lens.Lens' DeleteConfigurationProfile Prelude.Text+deleteConfigurationProfile_configurationProfileId = Lens.lens (\DeleteConfigurationProfile' {configurationProfileId} -> configurationProfileId) (\s@DeleteConfigurationProfile' {} a -> s {configurationProfileId = a} :: DeleteConfigurationProfile)++instance Core.AWSRequest DeleteConfigurationProfile where+ type+ AWSResponse DeleteConfigurationProfile =+ DeleteConfigurationProfileResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull+ DeleteConfigurationProfileResponse'++instance Prelude.Hashable DeleteConfigurationProfile where+ hashWithSalt _salt DeleteConfigurationProfile' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` configurationProfileId++instance Prelude.NFData DeleteConfigurationProfile where+ rnf DeleteConfigurationProfile' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf configurationProfileId++instance Data.ToHeaders DeleteConfigurationProfile where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteConfigurationProfile where+ toPath DeleteConfigurationProfile' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/configurationprofiles/",+ Data.toBS configurationProfileId+ ]++instance Data.ToQuery DeleteConfigurationProfile where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteConfigurationProfileResponse' smart constructor.+data DeleteConfigurationProfileResponse = DeleteConfigurationProfileResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConfigurationProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteConfigurationProfileResponse ::+ DeleteConfigurationProfileResponse+newDeleteConfigurationProfileResponse =+ DeleteConfigurationProfileResponse'++instance+ Prelude.NFData+ DeleteConfigurationProfileResponse+ where+ rnf _ = ()
+ gen/Amazonka/AppConfig/DeleteDeploymentStrategy.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.DeleteDeploymentStrategy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a deployment strategy. Deleting a deployment strategy does not+-- delete a configuration from a host.+module Amazonka.AppConfig.DeleteDeploymentStrategy+ ( -- * Creating a Request+ DeleteDeploymentStrategy (..),+ newDeleteDeploymentStrategy,++ -- * Request Lenses+ deleteDeploymentStrategy_deploymentStrategyId,++ -- * Destructuring the Response+ DeleteDeploymentStrategyResponse (..),+ newDeleteDeploymentStrategyResponse,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDeploymentStrategy' smart constructor.+data DeleteDeploymentStrategy = DeleteDeploymentStrategy'+ { -- | The ID of the deployment strategy you want to delete.+ deploymentStrategyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDeploymentStrategy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deploymentStrategyId', 'deleteDeploymentStrategy_deploymentStrategyId' - The ID of the deployment strategy you want to delete.+newDeleteDeploymentStrategy ::+ -- | 'deploymentStrategyId'+ Prelude.Text ->+ DeleteDeploymentStrategy+newDeleteDeploymentStrategy pDeploymentStrategyId_ =+ DeleteDeploymentStrategy'+ { deploymentStrategyId =+ pDeploymentStrategyId_+ }++-- | The ID of the deployment strategy you want to delete.+deleteDeploymentStrategy_deploymentStrategyId :: Lens.Lens' DeleteDeploymentStrategy Prelude.Text+deleteDeploymentStrategy_deploymentStrategyId = Lens.lens (\DeleteDeploymentStrategy' {deploymentStrategyId} -> deploymentStrategyId) (\s@DeleteDeploymentStrategy' {} a -> s {deploymentStrategyId = a} :: DeleteDeploymentStrategy)++instance Core.AWSRequest DeleteDeploymentStrategy where+ type+ AWSResponse DeleteDeploymentStrategy =+ DeleteDeploymentStrategyResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull+ DeleteDeploymentStrategyResponse'++instance Prelude.Hashable DeleteDeploymentStrategy where+ hashWithSalt _salt DeleteDeploymentStrategy' {..} =+ _salt `Prelude.hashWithSalt` deploymentStrategyId++instance Prelude.NFData DeleteDeploymentStrategy where+ rnf DeleteDeploymentStrategy' {..} =+ Prelude.rnf deploymentStrategyId++instance Data.ToHeaders DeleteDeploymentStrategy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteDeploymentStrategy where+ toPath DeleteDeploymentStrategy' {..} =+ Prelude.mconcat+ [ "/deployementstrategies/",+ Data.toBS deploymentStrategyId+ ]++instance Data.ToQuery DeleteDeploymentStrategy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDeploymentStrategyResponse' smart constructor.+data DeleteDeploymentStrategyResponse = DeleteDeploymentStrategyResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDeploymentStrategyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteDeploymentStrategyResponse ::+ DeleteDeploymentStrategyResponse+newDeleteDeploymentStrategyResponse =+ DeleteDeploymentStrategyResponse'++instance+ Prelude.NFData+ DeleteDeploymentStrategyResponse+ where+ rnf _ = ()
+ gen/Amazonka/AppConfig/DeleteEnvironment.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.DeleteEnvironment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an environment. Deleting an environment does not delete a+-- configuration from a host.+module Amazonka.AppConfig.DeleteEnvironment+ ( -- * Creating a Request+ DeleteEnvironment (..),+ newDeleteEnvironment,++ -- * Request Lenses+ deleteEnvironment_applicationId,+ deleteEnvironment_environmentId,++ -- * Destructuring the Response+ DeleteEnvironmentResponse (..),+ newDeleteEnvironmentResponse,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteEnvironment' smart constructor.+data DeleteEnvironment = DeleteEnvironment'+ { -- | The application ID that includes the environment that you want to+ -- delete.+ applicationId :: Prelude.Text,+ -- | The ID of the environment that you want to delete.+ environmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEnvironment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'deleteEnvironment_applicationId' - The application ID that includes the environment that you want to+-- delete.+--+-- 'environmentId', 'deleteEnvironment_environmentId' - The ID of the environment that you want to delete.+newDeleteEnvironment ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'environmentId'+ Prelude.Text ->+ DeleteEnvironment+newDeleteEnvironment pApplicationId_ pEnvironmentId_ =+ DeleteEnvironment'+ { applicationId = pApplicationId_,+ environmentId = pEnvironmentId_+ }++-- | The application ID that includes the environment that you want to+-- delete.+deleteEnvironment_applicationId :: Lens.Lens' DeleteEnvironment Prelude.Text+deleteEnvironment_applicationId = Lens.lens (\DeleteEnvironment' {applicationId} -> applicationId) (\s@DeleteEnvironment' {} a -> s {applicationId = a} :: DeleteEnvironment)++-- | The ID of the environment that you want to delete.+deleteEnvironment_environmentId :: Lens.Lens' DeleteEnvironment Prelude.Text+deleteEnvironment_environmentId = Lens.lens (\DeleteEnvironment' {environmentId} -> environmentId) (\s@DeleteEnvironment' {} a -> s {environmentId = a} :: DeleteEnvironment)++instance Core.AWSRequest DeleteEnvironment where+ type+ AWSResponse DeleteEnvironment =+ DeleteEnvironmentResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull DeleteEnvironmentResponse'++instance Prelude.Hashable DeleteEnvironment where+ hashWithSalt _salt DeleteEnvironment' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` environmentId++instance Prelude.NFData DeleteEnvironment where+ rnf DeleteEnvironment' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf environmentId++instance Data.ToHeaders DeleteEnvironment where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteEnvironment where+ toPath DeleteEnvironment' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/environments/",+ Data.toBS environmentId+ ]++instance Data.ToQuery DeleteEnvironment where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteEnvironmentResponse' smart constructor.+data DeleteEnvironmentResponse = DeleteEnvironmentResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEnvironmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteEnvironmentResponse ::+ DeleteEnvironmentResponse+newDeleteEnvironmentResponse =+ DeleteEnvironmentResponse'++instance Prelude.NFData DeleteEnvironmentResponse where+ rnf _ = ()
+ gen/Amazonka/AppConfig/DeleteExtension.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.DeleteExtension+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an AppConfig extension. You must delete all associations to an+-- extension before you delete the extension.+module Amazonka.AppConfig.DeleteExtension+ ( -- * Creating a Request+ DeleteExtension (..),+ newDeleteExtension,++ -- * Request Lenses+ deleteExtension_versionNumber,+ deleteExtension_extensionIdentifier,++ -- * Destructuring the Response+ DeleteExtensionResponse (..),+ newDeleteExtensionResponse,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteExtension' smart constructor.+data DeleteExtension = DeleteExtension'+ { -- | A specific version of an extension to delete. If omitted, the highest+ -- version is deleted.+ versionNumber :: Prelude.Maybe Prelude.Int,+ -- | The name, ID, or Amazon Resource Name (ARN) of the extension you want to+ -- delete.+ extensionIdentifier :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteExtension' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'versionNumber', 'deleteExtension_versionNumber' - A specific version of an extension to delete. If omitted, the highest+-- version is deleted.+--+-- 'extensionIdentifier', 'deleteExtension_extensionIdentifier' - The name, ID, or Amazon Resource Name (ARN) of the extension you want to+-- delete.+newDeleteExtension ::+ -- | 'extensionIdentifier'+ Prelude.Text ->+ DeleteExtension+newDeleteExtension pExtensionIdentifier_ =+ DeleteExtension'+ { versionNumber = Prelude.Nothing,+ extensionIdentifier = pExtensionIdentifier_+ }++-- | A specific version of an extension to delete. If omitted, the highest+-- version is deleted.+deleteExtension_versionNumber :: Lens.Lens' DeleteExtension (Prelude.Maybe Prelude.Int)+deleteExtension_versionNumber = Lens.lens (\DeleteExtension' {versionNumber} -> versionNumber) (\s@DeleteExtension' {} a -> s {versionNumber = a} :: DeleteExtension)++-- | The name, ID, or Amazon Resource Name (ARN) of the extension you want to+-- delete.+deleteExtension_extensionIdentifier :: Lens.Lens' DeleteExtension Prelude.Text+deleteExtension_extensionIdentifier = Lens.lens (\DeleteExtension' {extensionIdentifier} -> extensionIdentifier) (\s@DeleteExtension' {} a -> s {extensionIdentifier = a} :: DeleteExtension)++instance Core.AWSRequest DeleteExtension where+ type+ AWSResponse DeleteExtension =+ DeleteExtensionResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull DeleteExtensionResponse'++instance Prelude.Hashable DeleteExtension where+ hashWithSalt _salt DeleteExtension' {..} =+ _salt+ `Prelude.hashWithSalt` versionNumber+ `Prelude.hashWithSalt` extensionIdentifier++instance Prelude.NFData DeleteExtension where+ rnf DeleteExtension' {..} =+ Prelude.rnf versionNumber+ `Prelude.seq` Prelude.rnf extensionIdentifier++instance Data.ToHeaders DeleteExtension where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteExtension where+ toPath DeleteExtension' {..} =+ Prelude.mconcat+ ["/extensions/", Data.toBS extensionIdentifier]++instance Data.ToQuery DeleteExtension where+ toQuery DeleteExtension' {..} =+ Prelude.mconcat ["version" Data.=: versionNumber]++-- | /See:/ 'newDeleteExtensionResponse' smart constructor.+data DeleteExtensionResponse = DeleteExtensionResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteExtensionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteExtensionResponse ::+ DeleteExtensionResponse+newDeleteExtensionResponse = DeleteExtensionResponse'++instance Prelude.NFData DeleteExtensionResponse where+ rnf _ = ()
+ gen/Amazonka/AppConfig/DeleteExtensionAssociation.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.DeleteExtensionAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an extension association. This action doesn\'t delete extensions+-- defined in the association.+module Amazonka.AppConfig.DeleteExtensionAssociation+ ( -- * Creating a Request+ DeleteExtensionAssociation (..),+ newDeleteExtensionAssociation,++ -- * Request Lenses+ deleteExtensionAssociation_extensionAssociationId,++ -- * Destructuring the Response+ DeleteExtensionAssociationResponse (..),+ newDeleteExtensionAssociationResponse,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteExtensionAssociation' smart constructor.+data DeleteExtensionAssociation = DeleteExtensionAssociation'+ { -- | The ID of the extension association to delete.+ extensionAssociationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteExtensionAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'extensionAssociationId', 'deleteExtensionAssociation_extensionAssociationId' - The ID of the extension association to delete.+newDeleteExtensionAssociation ::+ -- | 'extensionAssociationId'+ Prelude.Text ->+ DeleteExtensionAssociation+newDeleteExtensionAssociation+ pExtensionAssociationId_ =+ DeleteExtensionAssociation'+ { extensionAssociationId =+ pExtensionAssociationId_+ }++-- | The ID of the extension association to delete.+deleteExtensionAssociation_extensionAssociationId :: Lens.Lens' DeleteExtensionAssociation Prelude.Text+deleteExtensionAssociation_extensionAssociationId = Lens.lens (\DeleteExtensionAssociation' {extensionAssociationId} -> extensionAssociationId) (\s@DeleteExtensionAssociation' {} a -> s {extensionAssociationId = a} :: DeleteExtensionAssociation)++instance Core.AWSRequest DeleteExtensionAssociation where+ type+ AWSResponse DeleteExtensionAssociation =+ DeleteExtensionAssociationResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull+ DeleteExtensionAssociationResponse'++instance Prelude.Hashable DeleteExtensionAssociation where+ hashWithSalt _salt DeleteExtensionAssociation' {..} =+ _salt `Prelude.hashWithSalt` extensionAssociationId++instance Prelude.NFData DeleteExtensionAssociation where+ rnf DeleteExtensionAssociation' {..} =+ Prelude.rnf extensionAssociationId++instance Data.ToHeaders DeleteExtensionAssociation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteExtensionAssociation where+ toPath DeleteExtensionAssociation' {..} =+ Prelude.mconcat+ [ "/extensionassociations/",+ Data.toBS extensionAssociationId+ ]++instance Data.ToQuery DeleteExtensionAssociation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteExtensionAssociationResponse' smart constructor.+data DeleteExtensionAssociationResponse = DeleteExtensionAssociationResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteExtensionAssociationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteExtensionAssociationResponse ::+ DeleteExtensionAssociationResponse+newDeleteExtensionAssociationResponse =+ DeleteExtensionAssociationResponse'++instance+ Prelude.NFData+ DeleteExtensionAssociationResponse+ where+ rnf _ = ()
+ gen/Amazonka/AppConfig/DeleteHostedConfigurationVersion.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.DeleteHostedConfigurationVersion+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a version of a configuration from the AppConfig hosted+-- configuration store.+module Amazonka.AppConfig.DeleteHostedConfigurationVersion+ ( -- * Creating a Request+ DeleteHostedConfigurationVersion (..),+ newDeleteHostedConfigurationVersion,++ -- * Request Lenses+ deleteHostedConfigurationVersion_applicationId,+ deleteHostedConfigurationVersion_configurationProfileId,+ deleteHostedConfigurationVersion_versionNumber,++ -- * Destructuring the Response+ DeleteHostedConfigurationVersionResponse (..),+ newDeleteHostedConfigurationVersionResponse,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteHostedConfigurationVersion' smart constructor.+data DeleteHostedConfigurationVersion = DeleteHostedConfigurationVersion'+ { -- | The application ID.+ applicationId :: Prelude.Text,+ -- | The configuration profile ID.+ configurationProfileId :: Prelude.Text,+ -- | The versions number to delete.+ versionNumber :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteHostedConfigurationVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'deleteHostedConfigurationVersion_applicationId' - The application ID.+--+-- 'configurationProfileId', 'deleteHostedConfigurationVersion_configurationProfileId' - The configuration profile ID.+--+-- 'versionNumber', 'deleteHostedConfigurationVersion_versionNumber' - The versions number to delete.+newDeleteHostedConfigurationVersion ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'configurationProfileId'+ Prelude.Text ->+ -- | 'versionNumber'+ Prelude.Int ->+ DeleteHostedConfigurationVersion+newDeleteHostedConfigurationVersion+ pApplicationId_+ pConfigurationProfileId_+ pVersionNumber_ =+ DeleteHostedConfigurationVersion'+ { applicationId =+ pApplicationId_,+ configurationProfileId =+ pConfigurationProfileId_,+ versionNumber = pVersionNumber_+ }++-- | The application ID.+deleteHostedConfigurationVersion_applicationId :: Lens.Lens' DeleteHostedConfigurationVersion Prelude.Text+deleteHostedConfigurationVersion_applicationId = Lens.lens (\DeleteHostedConfigurationVersion' {applicationId} -> applicationId) (\s@DeleteHostedConfigurationVersion' {} a -> s {applicationId = a} :: DeleteHostedConfigurationVersion)++-- | The configuration profile ID.+deleteHostedConfigurationVersion_configurationProfileId :: Lens.Lens' DeleteHostedConfigurationVersion Prelude.Text+deleteHostedConfigurationVersion_configurationProfileId = Lens.lens (\DeleteHostedConfigurationVersion' {configurationProfileId} -> configurationProfileId) (\s@DeleteHostedConfigurationVersion' {} a -> s {configurationProfileId = a} :: DeleteHostedConfigurationVersion)++-- | The versions number to delete.+deleteHostedConfigurationVersion_versionNumber :: Lens.Lens' DeleteHostedConfigurationVersion Prelude.Int+deleteHostedConfigurationVersion_versionNumber = Lens.lens (\DeleteHostedConfigurationVersion' {versionNumber} -> versionNumber) (\s@DeleteHostedConfigurationVersion' {} a -> s {versionNumber = a} :: DeleteHostedConfigurationVersion)++instance+ Core.AWSRequest+ DeleteHostedConfigurationVersion+ where+ type+ AWSResponse DeleteHostedConfigurationVersion =+ DeleteHostedConfigurationVersionResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull+ DeleteHostedConfigurationVersionResponse'++instance+ Prelude.Hashable+ DeleteHostedConfigurationVersion+ where+ hashWithSalt+ _salt+ DeleteHostedConfigurationVersion' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` configurationProfileId+ `Prelude.hashWithSalt` versionNumber++instance+ Prelude.NFData+ DeleteHostedConfigurationVersion+ where+ rnf DeleteHostedConfigurationVersion' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf configurationProfileId+ `Prelude.seq` Prelude.rnf versionNumber++instance+ Data.ToHeaders+ DeleteHostedConfigurationVersion+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteHostedConfigurationVersion where+ toPath DeleteHostedConfigurationVersion' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/configurationprofiles/",+ Data.toBS configurationProfileId,+ "/hostedconfigurationversions/",+ Data.toBS versionNumber+ ]++instance+ Data.ToQuery+ DeleteHostedConfigurationVersion+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteHostedConfigurationVersionResponse' smart constructor.+data DeleteHostedConfigurationVersionResponse = DeleteHostedConfigurationVersionResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteHostedConfigurationVersionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteHostedConfigurationVersionResponse ::+ DeleteHostedConfigurationVersionResponse+newDeleteHostedConfigurationVersionResponse =+ DeleteHostedConfigurationVersionResponse'++instance+ Prelude.NFData+ DeleteHostedConfigurationVersionResponse+ where+ rnf _ = ()
+ gen/Amazonka/AppConfig/GetApplication.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.GetApplication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about an application.+module Amazonka.AppConfig.GetApplication+ ( -- * Creating a Request+ GetApplication (..),+ newGetApplication,++ -- * Request Lenses+ getApplication_applicationId,++ -- * Destructuring the Response+ Application (..),+ newApplication,++ -- * Response Lenses+ application_description,+ application_id,+ application_name,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetApplication' smart constructor.+data GetApplication = GetApplication'+ { -- | The ID of the application you want to get.+ applicationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'getApplication_applicationId' - The ID of the application you want to get.+newGetApplication ::+ -- | 'applicationId'+ Prelude.Text ->+ GetApplication+newGetApplication pApplicationId_ =+ GetApplication' {applicationId = pApplicationId_}++-- | The ID of the application you want to get.+getApplication_applicationId :: Lens.Lens' GetApplication Prelude.Text+getApplication_applicationId = Lens.lens (\GetApplication' {applicationId} -> applicationId) (\s@GetApplication' {} a -> s {applicationId = a} :: GetApplication)++instance Core.AWSRequest GetApplication where+ type AWSResponse GetApplication = Application+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable GetApplication where+ hashWithSalt _salt GetApplication' {..} =+ _salt `Prelude.hashWithSalt` applicationId++instance Prelude.NFData GetApplication where+ rnf GetApplication' {..} = Prelude.rnf applicationId++instance Data.ToHeaders GetApplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetApplication where+ toPath GetApplication' {..} =+ Prelude.mconcat+ ["/applications/", Data.toBS applicationId]++instance Data.ToQuery GetApplication where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/GetConfigurationProfile.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.GetConfigurationProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a configuration profile.+module Amazonka.AppConfig.GetConfigurationProfile+ ( -- * Creating a Request+ GetConfigurationProfile (..),+ newGetConfigurationProfile,++ -- * Request Lenses+ getConfigurationProfile_applicationId,+ getConfigurationProfile_configurationProfileId,++ -- * Destructuring the Response+ ConfigurationProfile (..),+ newConfigurationProfile,++ -- * Response Lenses+ configurationProfile_applicationId,+ configurationProfile_description,+ configurationProfile_id,+ configurationProfile_locationUri,+ configurationProfile_name,+ configurationProfile_retrievalRoleArn,+ configurationProfile_type,+ configurationProfile_validators,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetConfigurationProfile' smart constructor.+data GetConfigurationProfile = GetConfigurationProfile'+ { -- | The ID of the application that includes the configuration profile you+ -- want to get.+ applicationId :: Prelude.Text,+ -- | The ID of the configuration profile that you want to get.+ configurationProfileId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConfigurationProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'getConfigurationProfile_applicationId' - The ID of the application that includes the configuration profile you+-- want to get.+--+-- 'configurationProfileId', 'getConfigurationProfile_configurationProfileId' - The ID of the configuration profile that you want to get.+newGetConfigurationProfile ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'configurationProfileId'+ Prelude.Text ->+ GetConfigurationProfile+newGetConfigurationProfile+ pApplicationId_+ pConfigurationProfileId_ =+ GetConfigurationProfile'+ { applicationId =+ pApplicationId_,+ configurationProfileId = pConfigurationProfileId_+ }++-- | The ID of the application that includes the configuration profile you+-- want to get.+getConfigurationProfile_applicationId :: Lens.Lens' GetConfigurationProfile Prelude.Text+getConfigurationProfile_applicationId = Lens.lens (\GetConfigurationProfile' {applicationId} -> applicationId) (\s@GetConfigurationProfile' {} a -> s {applicationId = a} :: GetConfigurationProfile)++-- | The ID of the configuration profile that you want to get.+getConfigurationProfile_configurationProfileId :: Lens.Lens' GetConfigurationProfile Prelude.Text+getConfigurationProfile_configurationProfileId = Lens.lens (\GetConfigurationProfile' {configurationProfileId} -> configurationProfileId) (\s@GetConfigurationProfile' {} a -> s {configurationProfileId = a} :: GetConfigurationProfile)++instance Core.AWSRequest GetConfigurationProfile where+ type+ AWSResponse GetConfigurationProfile =+ ConfigurationProfile+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable GetConfigurationProfile where+ hashWithSalt _salt GetConfigurationProfile' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` configurationProfileId++instance Prelude.NFData GetConfigurationProfile where+ rnf GetConfigurationProfile' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf configurationProfileId++instance Data.ToHeaders GetConfigurationProfile where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetConfigurationProfile where+ toPath GetConfigurationProfile' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/configurationprofiles/",+ Data.toBS configurationProfileId+ ]++instance Data.ToQuery GetConfigurationProfile where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/GetDeployment.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.GetDeployment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a configuration deployment.+module Amazonka.AppConfig.GetDeployment+ ( -- * Creating a Request+ GetDeployment (..),+ newGetDeployment,++ -- * Request Lenses+ getDeployment_applicationId,+ getDeployment_environmentId,+ getDeployment_deploymentNumber,++ -- * Destructuring the Response+ Deployment (..),+ newDeployment,++ -- * Response Lenses+ deployment_applicationId,+ deployment_appliedExtensions,+ deployment_completedAt,+ deployment_configurationLocationUri,+ deployment_configurationName,+ deployment_configurationProfileId,+ deployment_configurationVersion,+ deployment_deploymentDurationInMinutes,+ deployment_deploymentNumber,+ deployment_deploymentStrategyId,+ deployment_description,+ deployment_environmentId,+ deployment_eventLog,+ deployment_finalBakeTimeInMinutes,+ deployment_growthFactor,+ deployment_growthType,+ deployment_percentageComplete,+ deployment_startedAt,+ deployment_state,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDeployment' smart constructor.+data GetDeployment = GetDeployment'+ { -- | The ID of the application that includes the deployment you want to get.+ applicationId :: Prelude.Text,+ -- | The ID of the environment that includes the deployment you want to get.+ environmentId :: Prelude.Text,+ -- | The sequence number of the deployment.+ deploymentNumber :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDeployment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'getDeployment_applicationId' - The ID of the application that includes the deployment you want to get.+--+-- 'environmentId', 'getDeployment_environmentId' - The ID of the environment that includes the deployment you want to get.+--+-- 'deploymentNumber', 'getDeployment_deploymentNumber' - The sequence number of the deployment.+newGetDeployment ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'environmentId'+ Prelude.Text ->+ -- | 'deploymentNumber'+ Prelude.Int ->+ GetDeployment+newGetDeployment+ pApplicationId_+ pEnvironmentId_+ pDeploymentNumber_ =+ GetDeployment'+ { applicationId = pApplicationId_,+ environmentId = pEnvironmentId_,+ deploymentNumber = pDeploymentNumber_+ }++-- | The ID of the application that includes the deployment you want to get.+getDeployment_applicationId :: Lens.Lens' GetDeployment Prelude.Text+getDeployment_applicationId = Lens.lens (\GetDeployment' {applicationId} -> applicationId) (\s@GetDeployment' {} a -> s {applicationId = a} :: GetDeployment)++-- | The ID of the environment that includes the deployment you want to get.+getDeployment_environmentId :: Lens.Lens' GetDeployment Prelude.Text+getDeployment_environmentId = Lens.lens (\GetDeployment' {environmentId} -> environmentId) (\s@GetDeployment' {} a -> s {environmentId = a} :: GetDeployment)++-- | The sequence number of the deployment.+getDeployment_deploymentNumber :: Lens.Lens' GetDeployment Prelude.Int+getDeployment_deploymentNumber = Lens.lens (\GetDeployment' {deploymentNumber} -> deploymentNumber) (\s@GetDeployment' {} a -> s {deploymentNumber = a} :: GetDeployment)++instance Core.AWSRequest GetDeployment where+ type AWSResponse GetDeployment = Deployment+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable GetDeployment where+ hashWithSalt _salt GetDeployment' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` environmentId+ `Prelude.hashWithSalt` deploymentNumber++instance Prelude.NFData GetDeployment where+ rnf GetDeployment' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf environmentId+ `Prelude.seq` Prelude.rnf deploymentNumber++instance Data.ToHeaders GetDeployment where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDeployment where+ toPath GetDeployment' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/environments/",+ Data.toBS environmentId,+ "/deployments/",+ Data.toBS deploymentNumber+ ]++instance Data.ToQuery GetDeployment where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/GetDeploymentStrategy.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.GetDeploymentStrategy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a deployment strategy. A deployment strategy+-- defines important criteria for rolling out your configuration to the+-- designated targets. A deployment strategy includes the overall duration+-- required, a percentage of targets to receive the deployment during each+-- interval, an algorithm that defines how percentage grows, and bake time.+module Amazonka.AppConfig.GetDeploymentStrategy+ ( -- * Creating a Request+ GetDeploymentStrategy (..),+ newGetDeploymentStrategy,++ -- * Request Lenses+ getDeploymentStrategy_deploymentStrategyId,++ -- * Destructuring the Response+ DeploymentStrategy (..),+ newDeploymentStrategy,++ -- * Response Lenses+ deploymentStrategy_deploymentDurationInMinutes,+ deploymentStrategy_description,+ deploymentStrategy_finalBakeTimeInMinutes,+ deploymentStrategy_growthFactor,+ deploymentStrategy_growthType,+ deploymentStrategy_id,+ deploymentStrategy_name,+ deploymentStrategy_replicateTo,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDeploymentStrategy' smart constructor.+data GetDeploymentStrategy = GetDeploymentStrategy'+ { -- | The ID of the deployment strategy to get.+ deploymentStrategyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDeploymentStrategy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deploymentStrategyId', 'getDeploymentStrategy_deploymentStrategyId' - The ID of the deployment strategy to get.+newGetDeploymentStrategy ::+ -- | 'deploymentStrategyId'+ Prelude.Text ->+ GetDeploymentStrategy+newGetDeploymentStrategy pDeploymentStrategyId_ =+ GetDeploymentStrategy'+ { deploymentStrategyId =+ pDeploymentStrategyId_+ }++-- | The ID of the deployment strategy to get.+getDeploymentStrategy_deploymentStrategyId :: Lens.Lens' GetDeploymentStrategy Prelude.Text+getDeploymentStrategy_deploymentStrategyId = Lens.lens (\GetDeploymentStrategy' {deploymentStrategyId} -> deploymentStrategyId) (\s@GetDeploymentStrategy' {} a -> s {deploymentStrategyId = a} :: GetDeploymentStrategy)++instance Core.AWSRequest GetDeploymentStrategy where+ type+ AWSResponse GetDeploymentStrategy =+ DeploymentStrategy+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable GetDeploymentStrategy where+ hashWithSalt _salt GetDeploymentStrategy' {..} =+ _salt `Prelude.hashWithSalt` deploymentStrategyId++instance Prelude.NFData GetDeploymentStrategy where+ rnf GetDeploymentStrategy' {..} =+ Prelude.rnf deploymentStrategyId++instance Data.ToHeaders GetDeploymentStrategy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDeploymentStrategy where+ toPath GetDeploymentStrategy' {..} =+ Prelude.mconcat+ [ "/deploymentstrategies/",+ Data.toBS deploymentStrategyId+ ]++instance Data.ToQuery GetDeploymentStrategy where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/GetEnvironment.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.GetEnvironment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about an environment. An environment is a+-- deployment group of AppConfig applications, such as applications in a+-- @Production@ environment or in an @EU_Region@ environment. Each+-- configuration deployment targets an environment. You can enable one or+-- more Amazon CloudWatch alarms for an environment. If an alarm is+-- triggered during a deployment, AppConfig roles back the configuration.+module Amazonka.AppConfig.GetEnvironment+ ( -- * Creating a Request+ GetEnvironment (..),+ newGetEnvironment,++ -- * Request Lenses+ getEnvironment_applicationId,+ getEnvironment_environmentId,++ -- * Destructuring the Response+ Environment (..),+ newEnvironment,++ -- * Response Lenses+ environment_applicationId,+ environment_description,+ environment_id,+ environment_monitors,+ environment_name,+ environment_state,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetEnvironment' smart constructor.+data GetEnvironment = GetEnvironment'+ { -- | The ID of the application that includes the environment you want to get.+ applicationId :: Prelude.Text,+ -- | The ID of the environment that you want to get.+ environmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEnvironment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'getEnvironment_applicationId' - The ID of the application that includes the environment you want to get.+--+-- 'environmentId', 'getEnvironment_environmentId' - The ID of the environment that you want to get.+newGetEnvironment ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'environmentId'+ Prelude.Text ->+ GetEnvironment+newGetEnvironment pApplicationId_ pEnvironmentId_ =+ GetEnvironment'+ { applicationId = pApplicationId_,+ environmentId = pEnvironmentId_+ }++-- | The ID of the application that includes the environment you want to get.+getEnvironment_applicationId :: Lens.Lens' GetEnvironment Prelude.Text+getEnvironment_applicationId = Lens.lens (\GetEnvironment' {applicationId} -> applicationId) (\s@GetEnvironment' {} a -> s {applicationId = a} :: GetEnvironment)++-- | The ID of the environment that you want to get.+getEnvironment_environmentId :: Lens.Lens' GetEnvironment Prelude.Text+getEnvironment_environmentId = Lens.lens (\GetEnvironment' {environmentId} -> environmentId) (\s@GetEnvironment' {} a -> s {environmentId = a} :: GetEnvironment)++instance Core.AWSRequest GetEnvironment where+ type AWSResponse GetEnvironment = Environment+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable GetEnvironment where+ hashWithSalt _salt GetEnvironment' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` environmentId++instance Prelude.NFData GetEnvironment where+ rnf GetEnvironment' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf environmentId++instance Data.ToHeaders GetEnvironment where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetEnvironment where+ toPath GetEnvironment' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/environments/",+ Data.toBS environmentId+ ]++instance Data.ToQuery GetEnvironment where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/GetExtension.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.GetExtension+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about an AppConfig extension.+module Amazonka.AppConfig.GetExtension+ ( -- * Creating a Request+ GetExtension (..),+ newGetExtension,++ -- * Request Lenses+ getExtension_versionNumber,+ getExtension_extensionIdentifier,++ -- * Destructuring the Response+ Extension (..),+ newExtension,++ -- * Response Lenses+ extension_actions,+ extension_arn,+ extension_description,+ extension_id,+ extension_name,+ extension_parameters,+ extension_versionNumber,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetExtension' smart constructor.+data GetExtension = GetExtension'+ { -- | The extension version number. If no version number was defined,+ -- AppConfig uses the highest version.+ versionNumber :: Prelude.Maybe Prelude.Int,+ -- | The name, the ID, or the Amazon Resource Name (ARN) of the extension.+ extensionIdentifier :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetExtension' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'versionNumber', 'getExtension_versionNumber' - The extension version number. If no version number was defined,+-- AppConfig uses the highest version.+--+-- 'extensionIdentifier', 'getExtension_extensionIdentifier' - The name, the ID, or the Amazon Resource Name (ARN) of the extension.+newGetExtension ::+ -- | 'extensionIdentifier'+ Prelude.Text ->+ GetExtension+newGetExtension pExtensionIdentifier_ =+ GetExtension'+ { versionNumber = Prelude.Nothing,+ extensionIdentifier = pExtensionIdentifier_+ }++-- | The extension version number. If no version number was defined,+-- AppConfig uses the highest version.+getExtension_versionNumber :: Lens.Lens' GetExtension (Prelude.Maybe Prelude.Int)+getExtension_versionNumber = Lens.lens (\GetExtension' {versionNumber} -> versionNumber) (\s@GetExtension' {} a -> s {versionNumber = a} :: GetExtension)++-- | The name, the ID, or the Amazon Resource Name (ARN) of the extension.+getExtension_extensionIdentifier :: Lens.Lens' GetExtension Prelude.Text+getExtension_extensionIdentifier = Lens.lens (\GetExtension' {extensionIdentifier} -> extensionIdentifier) (\s@GetExtension' {} a -> s {extensionIdentifier = a} :: GetExtension)++instance Core.AWSRequest GetExtension where+ type AWSResponse GetExtension = Extension+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable GetExtension where+ hashWithSalt _salt GetExtension' {..} =+ _salt+ `Prelude.hashWithSalt` versionNumber+ `Prelude.hashWithSalt` extensionIdentifier++instance Prelude.NFData GetExtension where+ rnf GetExtension' {..} =+ Prelude.rnf versionNumber+ `Prelude.seq` Prelude.rnf extensionIdentifier++instance Data.ToHeaders GetExtension where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetExtension where+ toPath GetExtension' {..} =+ Prelude.mconcat+ ["/extensions/", Data.toBS extensionIdentifier]++instance Data.ToQuery GetExtension where+ toQuery GetExtension' {..} =+ Prelude.mconcat+ ["version_number" Data.=: versionNumber]
+ gen/Amazonka/AppConfig/GetExtensionAssociation.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.GetExtensionAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about an AppConfig extension association. For more+-- information about extensions and associations, see+-- <https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html Working with AppConfig extensions>+-- in the /AppConfig User Guide/.+module Amazonka.AppConfig.GetExtensionAssociation+ ( -- * Creating a Request+ GetExtensionAssociation (..),+ newGetExtensionAssociation,++ -- * Request Lenses+ getExtensionAssociation_extensionAssociationId,++ -- * Destructuring the Response+ ExtensionAssociation (..),+ newExtensionAssociation,++ -- * Response Lenses+ extensionAssociation_arn,+ extensionAssociation_extensionArn,+ extensionAssociation_extensionVersionNumber,+ extensionAssociation_id,+ extensionAssociation_parameters,+ extensionAssociation_resourceArn,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetExtensionAssociation' smart constructor.+data GetExtensionAssociation = GetExtensionAssociation'+ { -- | The extension association ID to get.+ extensionAssociationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetExtensionAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'extensionAssociationId', 'getExtensionAssociation_extensionAssociationId' - The extension association ID to get.+newGetExtensionAssociation ::+ -- | 'extensionAssociationId'+ Prelude.Text ->+ GetExtensionAssociation+newGetExtensionAssociation pExtensionAssociationId_ =+ GetExtensionAssociation'+ { extensionAssociationId =+ pExtensionAssociationId_+ }++-- | The extension association ID to get.+getExtensionAssociation_extensionAssociationId :: Lens.Lens' GetExtensionAssociation Prelude.Text+getExtensionAssociation_extensionAssociationId = Lens.lens (\GetExtensionAssociation' {extensionAssociationId} -> extensionAssociationId) (\s@GetExtensionAssociation' {} a -> s {extensionAssociationId = a} :: GetExtensionAssociation)++instance Core.AWSRequest GetExtensionAssociation where+ type+ AWSResponse GetExtensionAssociation =+ ExtensionAssociation+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable GetExtensionAssociation where+ hashWithSalt _salt GetExtensionAssociation' {..} =+ _salt `Prelude.hashWithSalt` extensionAssociationId++instance Prelude.NFData GetExtensionAssociation where+ rnf GetExtensionAssociation' {..} =+ Prelude.rnf extensionAssociationId++instance Data.ToHeaders GetExtensionAssociation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetExtensionAssociation where+ toPath GetExtensionAssociation' {..} =+ Prelude.mconcat+ [ "/extensionassociations/",+ Data.toBS extensionAssociationId+ ]++instance Data.ToQuery GetExtensionAssociation where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/GetHostedConfigurationVersion.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.GetHostedConfigurationVersion+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a specific configuration version.+module Amazonka.AppConfig.GetHostedConfigurationVersion+ ( -- * Creating a Request+ GetHostedConfigurationVersion (..),+ newGetHostedConfigurationVersion,++ -- * Request Lenses+ getHostedConfigurationVersion_applicationId,+ getHostedConfigurationVersion_configurationProfileId,+ getHostedConfigurationVersion_versionNumber,++ -- * Destructuring the Response+ HostedConfigurationVersion (..),+ newHostedConfigurationVersion,++ -- * Response Lenses+ hostedConfigurationVersion_applicationId,+ hostedConfigurationVersion_configurationProfileId,+ hostedConfigurationVersion_content,+ hostedConfigurationVersion_contentType,+ hostedConfigurationVersion_description,+ hostedConfigurationVersion_versionNumber,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetHostedConfigurationVersion' smart constructor.+data GetHostedConfigurationVersion = GetHostedConfigurationVersion'+ { -- | The application ID.+ applicationId :: Prelude.Text,+ -- | The configuration profile ID.+ configurationProfileId :: Prelude.Text,+ -- | The version.+ versionNumber :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetHostedConfigurationVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'getHostedConfigurationVersion_applicationId' - The application ID.+--+-- 'configurationProfileId', 'getHostedConfigurationVersion_configurationProfileId' - The configuration profile ID.+--+-- 'versionNumber', 'getHostedConfigurationVersion_versionNumber' - The version.+newGetHostedConfigurationVersion ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'configurationProfileId'+ Prelude.Text ->+ -- | 'versionNumber'+ Prelude.Int ->+ GetHostedConfigurationVersion+newGetHostedConfigurationVersion+ pApplicationId_+ pConfigurationProfileId_+ pVersionNumber_ =+ GetHostedConfigurationVersion'+ { applicationId =+ pApplicationId_,+ configurationProfileId =+ pConfigurationProfileId_,+ versionNumber = pVersionNumber_+ }++-- | The application ID.+getHostedConfigurationVersion_applicationId :: Lens.Lens' GetHostedConfigurationVersion Prelude.Text+getHostedConfigurationVersion_applicationId = Lens.lens (\GetHostedConfigurationVersion' {applicationId} -> applicationId) (\s@GetHostedConfigurationVersion' {} a -> s {applicationId = a} :: GetHostedConfigurationVersion)++-- | The configuration profile ID.+getHostedConfigurationVersion_configurationProfileId :: Lens.Lens' GetHostedConfigurationVersion Prelude.Text+getHostedConfigurationVersion_configurationProfileId = Lens.lens (\GetHostedConfigurationVersion' {configurationProfileId} -> configurationProfileId) (\s@GetHostedConfigurationVersion' {} a -> s {configurationProfileId = a} :: GetHostedConfigurationVersion)++-- | The version.+getHostedConfigurationVersion_versionNumber :: Lens.Lens' GetHostedConfigurationVersion Prelude.Int+getHostedConfigurationVersion_versionNumber = Lens.lens (\GetHostedConfigurationVersion' {versionNumber} -> versionNumber) (\s@GetHostedConfigurationVersion' {} a -> s {versionNumber = a} :: GetHostedConfigurationVersion)++instance+ Core.AWSRequest+ GetHostedConfigurationVersion+ where+ type+ AWSResponse GetHostedConfigurationVersion =+ HostedConfigurationVersion+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveBytes+ ( \s h x ->+ HostedConfigurationVersion'+ Prelude.<$> (h Data..#? "Application-Id")+ Prelude.<*> (h Data..#? "Configuration-Profile-Id")+ Prelude.<*> (Prelude.pure (Prelude.Just (Prelude.coerce x)))+ Prelude.<*> (h Data..#? "Content-Type")+ Prelude.<*> (h Data..#? "Description")+ Prelude.<*> (h Data..#? "Version-Number")+ )++instance+ Prelude.Hashable+ GetHostedConfigurationVersion+ where+ hashWithSalt _salt GetHostedConfigurationVersion' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` configurationProfileId+ `Prelude.hashWithSalt` versionNumber++instance Prelude.NFData GetHostedConfigurationVersion where+ rnf GetHostedConfigurationVersion' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf configurationProfileId+ `Prelude.seq` Prelude.rnf versionNumber++instance Data.ToHeaders GetHostedConfigurationVersion where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetHostedConfigurationVersion where+ toPath GetHostedConfigurationVersion' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/configurationprofiles/",+ Data.toBS configurationProfileId,+ "/hostedconfigurationversions/",+ Data.toBS versionNumber+ ]++instance Data.ToQuery GetHostedConfigurationVersion where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/Lens.hs view
@@ -0,0 +1,674 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Lens+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Lens+ ( -- * Operations++ -- ** CreateApplication+ createApplication_description,+ createApplication_tags,+ createApplication_name,+ application_description,+ application_id,+ application_name,++ -- ** CreateConfigurationProfile+ createConfigurationProfile_description,+ createConfigurationProfile_retrievalRoleArn,+ createConfigurationProfile_tags,+ createConfigurationProfile_type,+ createConfigurationProfile_validators,+ createConfigurationProfile_applicationId,+ createConfigurationProfile_name,+ createConfigurationProfile_locationUri,+ configurationProfile_applicationId,+ configurationProfile_description,+ configurationProfile_id,+ configurationProfile_locationUri,+ configurationProfile_name,+ configurationProfile_retrievalRoleArn,+ configurationProfile_type,+ configurationProfile_validators,++ -- ** CreateDeploymentStrategy+ createDeploymentStrategy_description,+ createDeploymentStrategy_finalBakeTimeInMinutes,+ createDeploymentStrategy_growthType,+ createDeploymentStrategy_replicateTo,+ createDeploymentStrategy_tags,+ createDeploymentStrategy_name,+ createDeploymentStrategy_deploymentDurationInMinutes,+ createDeploymentStrategy_growthFactor,+ deploymentStrategy_deploymentDurationInMinutes,+ deploymentStrategy_description,+ deploymentStrategy_finalBakeTimeInMinutes,+ deploymentStrategy_growthFactor,+ deploymentStrategy_growthType,+ deploymentStrategy_id,+ deploymentStrategy_name,+ deploymentStrategy_replicateTo,++ -- ** CreateEnvironment+ createEnvironment_description,+ createEnvironment_monitors,+ createEnvironment_tags,+ createEnvironment_applicationId,+ createEnvironment_name,+ environment_applicationId,+ environment_description,+ environment_id,+ environment_monitors,+ environment_name,+ environment_state,++ -- ** CreateExtension+ createExtension_description,+ createExtension_latestVersionNumber,+ createExtension_parameters,+ createExtension_tags,+ createExtension_name,+ createExtension_actions,+ extension_actions,+ extension_arn,+ extension_description,+ extension_id,+ extension_name,+ extension_parameters,+ extension_versionNumber,++ -- ** CreateExtensionAssociation+ createExtensionAssociation_extensionVersionNumber,+ createExtensionAssociation_parameters,+ createExtensionAssociation_tags,+ createExtensionAssociation_extensionIdentifier,+ createExtensionAssociation_resourceIdentifier,+ extensionAssociation_arn,+ extensionAssociation_extensionArn,+ extensionAssociation_extensionVersionNumber,+ extensionAssociation_id,+ extensionAssociation_parameters,+ extensionAssociation_resourceArn,++ -- ** CreateHostedConfigurationVersion+ createHostedConfigurationVersion_description,+ createHostedConfigurationVersion_latestVersionNumber,+ createHostedConfigurationVersion_applicationId,+ createHostedConfigurationVersion_configurationProfileId,+ createHostedConfigurationVersion_content,+ createHostedConfigurationVersion_contentType,+ hostedConfigurationVersion_applicationId,+ hostedConfigurationVersion_configurationProfileId,+ hostedConfigurationVersion_content,+ hostedConfigurationVersion_contentType,+ hostedConfigurationVersion_description,+ hostedConfigurationVersion_versionNumber,++ -- ** DeleteApplication+ deleteApplication_applicationId,++ -- ** DeleteConfigurationProfile+ deleteConfigurationProfile_applicationId,+ deleteConfigurationProfile_configurationProfileId,++ -- ** DeleteDeploymentStrategy+ deleteDeploymentStrategy_deploymentStrategyId,++ -- ** DeleteEnvironment+ deleteEnvironment_applicationId,+ deleteEnvironment_environmentId,++ -- ** DeleteExtension+ deleteExtension_versionNumber,+ deleteExtension_extensionIdentifier,++ -- ** DeleteExtensionAssociation+ deleteExtensionAssociation_extensionAssociationId,++ -- ** DeleteHostedConfigurationVersion+ deleteHostedConfigurationVersion_applicationId,+ deleteHostedConfigurationVersion_configurationProfileId,+ deleteHostedConfigurationVersion_versionNumber,++ -- ** GetApplication+ getApplication_applicationId,+ application_description,+ application_id,+ application_name,++ -- ** GetConfigurationProfile+ getConfigurationProfile_applicationId,+ getConfigurationProfile_configurationProfileId,+ configurationProfile_applicationId,+ configurationProfile_description,+ configurationProfile_id,+ configurationProfile_locationUri,+ configurationProfile_name,+ configurationProfile_retrievalRoleArn,+ configurationProfile_type,+ configurationProfile_validators,++ -- ** GetDeployment+ getDeployment_applicationId,+ getDeployment_environmentId,+ getDeployment_deploymentNumber,+ deployment_applicationId,+ deployment_appliedExtensions,+ deployment_completedAt,+ deployment_configurationLocationUri,+ deployment_configurationName,+ deployment_configurationProfileId,+ deployment_configurationVersion,+ deployment_deploymentDurationInMinutes,+ deployment_deploymentNumber,+ deployment_deploymentStrategyId,+ deployment_description,+ deployment_environmentId,+ deployment_eventLog,+ deployment_finalBakeTimeInMinutes,+ deployment_growthFactor,+ deployment_growthType,+ deployment_percentageComplete,+ deployment_startedAt,+ deployment_state,++ -- ** GetDeploymentStrategy+ getDeploymentStrategy_deploymentStrategyId,+ deploymentStrategy_deploymentDurationInMinutes,+ deploymentStrategy_description,+ deploymentStrategy_finalBakeTimeInMinutes,+ deploymentStrategy_growthFactor,+ deploymentStrategy_growthType,+ deploymentStrategy_id,+ deploymentStrategy_name,+ deploymentStrategy_replicateTo,++ -- ** GetEnvironment+ getEnvironment_applicationId,+ getEnvironment_environmentId,+ environment_applicationId,+ environment_description,+ environment_id,+ environment_monitors,+ environment_name,+ environment_state,++ -- ** GetExtension+ getExtension_versionNumber,+ getExtension_extensionIdentifier,+ extension_actions,+ extension_arn,+ extension_description,+ extension_id,+ extension_name,+ extension_parameters,+ extension_versionNumber,++ -- ** GetExtensionAssociation+ getExtensionAssociation_extensionAssociationId,+ extensionAssociation_arn,+ extensionAssociation_extensionArn,+ extensionAssociation_extensionVersionNumber,+ extensionAssociation_id,+ extensionAssociation_parameters,+ extensionAssociation_resourceArn,++ -- ** GetHostedConfigurationVersion+ getHostedConfigurationVersion_applicationId,+ getHostedConfigurationVersion_configurationProfileId,+ getHostedConfigurationVersion_versionNumber,+ hostedConfigurationVersion_applicationId,+ hostedConfigurationVersion_configurationProfileId,+ hostedConfigurationVersion_content,+ hostedConfigurationVersion_contentType,+ hostedConfigurationVersion_description,+ hostedConfigurationVersion_versionNumber,++ -- ** ListApplications+ listApplications_maxResults,+ listApplications_nextToken,+ listApplicationsResponse_items,+ listApplicationsResponse_nextToken,+ listApplicationsResponse_httpStatus,++ -- ** ListConfigurationProfiles+ listConfigurationProfiles_maxResults,+ listConfigurationProfiles_nextToken,+ listConfigurationProfiles_type,+ listConfigurationProfiles_applicationId,+ listConfigurationProfilesResponse_items,+ listConfigurationProfilesResponse_nextToken,+ listConfigurationProfilesResponse_httpStatus,++ -- ** ListDeploymentStrategies+ listDeploymentStrategies_maxResults,+ listDeploymentStrategies_nextToken,+ listDeploymentStrategiesResponse_items,+ listDeploymentStrategiesResponse_nextToken,+ listDeploymentStrategiesResponse_httpStatus,++ -- ** ListDeployments+ listDeployments_maxResults,+ listDeployments_nextToken,+ listDeployments_applicationId,+ listDeployments_environmentId,+ listDeploymentsResponse_items,+ listDeploymentsResponse_nextToken,+ listDeploymentsResponse_httpStatus,++ -- ** ListEnvironments+ listEnvironments_maxResults,+ listEnvironments_nextToken,+ listEnvironments_applicationId,+ listEnvironmentsResponse_items,+ listEnvironmentsResponse_nextToken,+ listEnvironmentsResponse_httpStatus,++ -- ** ListExtensionAssociations+ listExtensionAssociations_extensionIdentifier,+ listExtensionAssociations_extensionVersionNumber,+ listExtensionAssociations_maxResults,+ listExtensionAssociations_nextToken,+ listExtensionAssociations_resourceIdentifier,+ listExtensionAssociationsResponse_items,+ listExtensionAssociationsResponse_nextToken,+ listExtensionAssociationsResponse_httpStatus,++ -- ** ListExtensions+ listExtensions_maxResults,+ listExtensions_name,+ listExtensions_nextToken,+ listExtensionsResponse_items,+ listExtensionsResponse_nextToken,+ listExtensionsResponse_httpStatus,++ -- ** ListHostedConfigurationVersions+ listHostedConfigurationVersions_maxResults,+ listHostedConfigurationVersions_nextToken,+ listHostedConfigurationVersions_applicationId,+ listHostedConfigurationVersions_configurationProfileId,+ listHostedConfigurationVersionsResponse_items,+ listHostedConfigurationVersionsResponse_nextToken,+ listHostedConfigurationVersionsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** StartDeployment+ startDeployment_description,+ startDeployment_tags,+ startDeployment_applicationId,+ startDeployment_environmentId,+ startDeployment_deploymentStrategyId,+ startDeployment_configurationProfileId,+ startDeployment_configurationVersion,+ deployment_applicationId,+ deployment_appliedExtensions,+ deployment_completedAt,+ deployment_configurationLocationUri,+ deployment_configurationName,+ deployment_configurationProfileId,+ deployment_configurationVersion,+ deployment_deploymentDurationInMinutes,+ deployment_deploymentNumber,+ deployment_deploymentStrategyId,+ deployment_description,+ deployment_environmentId,+ deployment_eventLog,+ deployment_finalBakeTimeInMinutes,+ deployment_growthFactor,+ deployment_growthType,+ deployment_percentageComplete,+ deployment_startedAt,+ deployment_state,++ -- ** StopDeployment+ stopDeployment_applicationId,+ stopDeployment_environmentId,+ stopDeployment_deploymentNumber,+ deployment_applicationId,+ deployment_appliedExtensions,+ deployment_completedAt,+ deployment_configurationLocationUri,+ deployment_configurationName,+ deployment_configurationProfileId,+ deployment_configurationVersion,+ deployment_deploymentDurationInMinutes,+ deployment_deploymentNumber,+ deployment_deploymentStrategyId,+ deployment_description,+ deployment_environmentId,+ deployment_eventLog,+ deployment_finalBakeTimeInMinutes,+ deployment_growthFactor,+ deployment_growthType,+ deployment_percentageComplete,+ deployment_startedAt,+ deployment_state,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- ** UpdateApplication+ updateApplication_description,+ updateApplication_name,+ updateApplication_applicationId,+ application_description,+ application_id,+ application_name,++ -- ** UpdateConfigurationProfile+ updateConfigurationProfile_description,+ updateConfigurationProfile_name,+ updateConfigurationProfile_retrievalRoleArn,+ updateConfigurationProfile_validators,+ updateConfigurationProfile_applicationId,+ updateConfigurationProfile_configurationProfileId,+ configurationProfile_applicationId,+ configurationProfile_description,+ configurationProfile_id,+ configurationProfile_locationUri,+ configurationProfile_name,+ configurationProfile_retrievalRoleArn,+ configurationProfile_type,+ configurationProfile_validators,++ -- ** UpdateDeploymentStrategy+ updateDeploymentStrategy_deploymentDurationInMinutes,+ updateDeploymentStrategy_description,+ updateDeploymentStrategy_finalBakeTimeInMinutes,+ updateDeploymentStrategy_growthFactor,+ updateDeploymentStrategy_growthType,+ updateDeploymentStrategy_deploymentStrategyId,+ deploymentStrategy_deploymentDurationInMinutes,+ deploymentStrategy_description,+ deploymentStrategy_finalBakeTimeInMinutes,+ deploymentStrategy_growthFactor,+ deploymentStrategy_growthType,+ deploymentStrategy_id,+ deploymentStrategy_name,+ deploymentStrategy_replicateTo,++ -- ** UpdateEnvironment+ updateEnvironment_description,+ updateEnvironment_monitors,+ updateEnvironment_name,+ updateEnvironment_applicationId,+ updateEnvironment_environmentId,+ environment_applicationId,+ environment_description,+ environment_id,+ environment_monitors,+ environment_name,+ environment_state,++ -- ** UpdateExtension+ updateExtension_actions,+ updateExtension_description,+ updateExtension_parameters,+ updateExtension_versionNumber,+ updateExtension_extensionIdentifier,+ extension_actions,+ extension_arn,+ extension_description,+ extension_id,+ extension_name,+ extension_parameters,+ extension_versionNumber,++ -- ** UpdateExtensionAssociation+ updateExtensionAssociation_parameters,+ updateExtensionAssociation_extensionAssociationId,+ extensionAssociation_arn,+ extensionAssociation_extensionArn,+ extensionAssociation_extensionVersionNumber,+ extensionAssociation_id,+ extensionAssociation_parameters,+ extensionAssociation_resourceArn,++ -- ** ValidateConfiguration+ validateConfiguration_applicationId,+ validateConfiguration_configurationProfileId,+ validateConfiguration_configurationVersion,++ -- * Types++ -- ** Action+ action_description,+ action_name,+ action_roleArn,+ action_uri,++ -- ** ActionInvocation+ actionInvocation_actionName,+ actionInvocation_errorCode,+ actionInvocation_errorMessage,+ actionInvocation_extensionIdentifier,+ actionInvocation_invocationId,+ actionInvocation_roleArn,+ actionInvocation_uri,++ -- ** Application+ application_description,+ application_id,+ application_name,++ -- ** AppliedExtension+ appliedExtension_extensionAssociationId,+ appliedExtension_extensionId,+ appliedExtension_parameters,+ appliedExtension_versionNumber,++ -- ** ConfigurationProfile+ configurationProfile_applicationId,+ configurationProfile_description,+ configurationProfile_id,+ configurationProfile_locationUri,+ configurationProfile_name,+ configurationProfile_retrievalRoleArn,+ configurationProfile_type,+ configurationProfile_validators,++ -- ** ConfigurationProfileSummary+ configurationProfileSummary_applicationId,+ configurationProfileSummary_id,+ configurationProfileSummary_locationUri,+ configurationProfileSummary_name,+ configurationProfileSummary_type,+ configurationProfileSummary_validatorTypes,++ -- ** Deployment+ deployment_applicationId,+ deployment_appliedExtensions,+ deployment_completedAt,+ deployment_configurationLocationUri,+ deployment_configurationName,+ deployment_configurationProfileId,+ deployment_configurationVersion,+ deployment_deploymentDurationInMinutes,+ deployment_deploymentNumber,+ deployment_deploymentStrategyId,+ deployment_description,+ deployment_environmentId,+ deployment_eventLog,+ deployment_finalBakeTimeInMinutes,+ deployment_growthFactor,+ deployment_growthType,+ deployment_percentageComplete,+ deployment_startedAt,+ deployment_state,++ -- ** DeploymentEvent+ deploymentEvent_actionInvocations,+ deploymentEvent_description,+ deploymentEvent_eventType,+ deploymentEvent_occurredAt,+ deploymentEvent_triggeredBy,++ -- ** DeploymentStrategy+ deploymentStrategy_deploymentDurationInMinutes,+ deploymentStrategy_description,+ deploymentStrategy_finalBakeTimeInMinutes,+ deploymentStrategy_growthFactor,+ deploymentStrategy_growthType,+ deploymentStrategy_id,+ deploymentStrategy_name,+ deploymentStrategy_replicateTo,++ -- ** DeploymentSummary+ deploymentSummary_completedAt,+ deploymentSummary_configurationName,+ deploymentSummary_configurationVersion,+ deploymentSummary_deploymentDurationInMinutes,+ deploymentSummary_deploymentNumber,+ deploymentSummary_finalBakeTimeInMinutes,+ deploymentSummary_growthFactor,+ deploymentSummary_growthType,+ deploymentSummary_percentageComplete,+ deploymentSummary_startedAt,+ deploymentSummary_state,++ -- ** Environment+ environment_applicationId,+ environment_description,+ environment_id,+ environment_monitors,+ environment_name,+ environment_state,++ -- ** Extension+ extension_actions,+ extension_arn,+ extension_description,+ extension_id,+ extension_name,+ extension_parameters,+ extension_versionNumber,++ -- ** ExtensionAssociation+ extensionAssociation_arn,+ extensionAssociation_extensionArn,+ extensionAssociation_extensionVersionNumber,+ extensionAssociation_id,+ extensionAssociation_parameters,+ extensionAssociation_resourceArn,++ -- ** ExtensionAssociationSummary+ extensionAssociationSummary_extensionArn,+ extensionAssociationSummary_id,+ extensionAssociationSummary_resourceArn,++ -- ** ExtensionSummary+ extensionSummary_arn,+ extensionSummary_description,+ extensionSummary_id,+ extensionSummary_name,+ extensionSummary_versionNumber,++ -- ** HostedConfigurationVersion+ hostedConfigurationVersion_applicationId,+ hostedConfigurationVersion_configurationProfileId,+ hostedConfigurationVersion_content,+ hostedConfigurationVersion_contentType,+ hostedConfigurationVersion_description,+ hostedConfigurationVersion_versionNumber,++ -- ** HostedConfigurationVersionSummary+ hostedConfigurationVersionSummary_applicationId,+ hostedConfigurationVersionSummary_configurationProfileId,+ hostedConfigurationVersionSummary_contentType,+ hostedConfigurationVersionSummary_description,+ hostedConfigurationVersionSummary_versionNumber,++ -- ** Monitor+ monitor_alarmRoleArn,+ monitor_alarmArn,++ -- ** Parameter+ parameter_description,+ parameter_required,++ -- ** Validator+ validator_type,+ validator_content,+ )+where++import Amazonka.AppConfig.CreateApplication+import Amazonka.AppConfig.CreateConfigurationProfile+import Amazonka.AppConfig.CreateDeploymentStrategy+import Amazonka.AppConfig.CreateEnvironment+import Amazonka.AppConfig.CreateExtension+import Amazonka.AppConfig.CreateExtensionAssociation+import Amazonka.AppConfig.CreateHostedConfigurationVersion+import Amazonka.AppConfig.DeleteApplication+import Amazonka.AppConfig.DeleteConfigurationProfile+import Amazonka.AppConfig.DeleteDeploymentStrategy+import Amazonka.AppConfig.DeleteEnvironment+import Amazonka.AppConfig.DeleteExtension+import Amazonka.AppConfig.DeleteExtensionAssociation+import Amazonka.AppConfig.DeleteHostedConfigurationVersion+import Amazonka.AppConfig.GetApplication+import Amazonka.AppConfig.GetConfigurationProfile+import Amazonka.AppConfig.GetDeployment+import Amazonka.AppConfig.GetDeploymentStrategy+import Amazonka.AppConfig.GetEnvironment+import Amazonka.AppConfig.GetExtension+import Amazonka.AppConfig.GetExtensionAssociation+import Amazonka.AppConfig.GetHostedConfigurationVersion+import Amazonka.AppConfig.ListApplications+import Amazonka.AppConfig.ListConfigurationProfiles+import Amazonka.AppConfig.ListDeploymentStrategies+import Amazonka.AppConfig.ListDeployments+import Amazonka.AppConfig.ListEnvironments+import Amazonka.AppConfig.ListExtensionAssociations+import Amazonka.AppConfig.ListExtensions+import Amazonka.AppConfig.ListHostedConfigurationVersions+import Amazonka.AppConfig.ListTagsForResource+import Amazonka.AppConfig.StartDeployment+import Amazonka.AppConfig.StopDeployment+import Amazonka.AppConfig.TagResource+import Amazonka.AppConfig.Types.Action+import Amazonka.AppConfig.Types.ActionInvocation+import Amazonka.AppConfig.Types.Application+import Amazonka.AppConfig.Types.AppliedExtension+import Amazonka.AppConfig.Types.ConfigurationProfile+import Amazonka.AppConfig.Types.ConfigurationProfileSummary+import Amazonka.AppConfig.Types.Deployment+import Amazonka.AppConfig.Types.DeploymentEvent+import Amazonka.AppConfig.Types.DeploymentStrategy+import Amazonka.AppConfig.Types.DeploymentSummary+import Amazonka.AppConfig.Types.Environment+import Amazonka.AppConfig.Types.Extension+import Amazonka.AppConfig.Types.ExtensionAssociation+import Amazonka.AppConfig.Types.ExtensionAssociationSummary+import Amazonka.AppConfig.Types.ExtensionSummary+import Amazonka.AppConfig.Types.HostedConfigurationVersion+import Amazonka.AppConfig.Types.HostedConfigurationVersionSummary+import Amazonka.AppConfig.Types.Monitor+import Amazonka.AppConfig.Types.Parameter+import Amazonka.AppConfig.Types.Validator+import Amazonka.AppConfig.UntagResource+import Amazonka.AppConfig.UpdateApplication+import Amazonka.AppConfig.UpdateConfigurationProfile+import Amazonka.AppConfig.UpdateDeploymentStrategy+import Amazonka.AppConfig.UpdateEnvironment+import Amazonka.AppConfig.UpdateExtension+import Amazonka.AppConfig.UpdateExtensionAssociation+import Amazonka.AppConfig.ValidateConfiguration
+ gen/Amazonka/AppConfig/ListApplications.hs view
@@ -0,0 +1,207 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.ListApplications+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all applications in your Amazon Web Services account.+module Amazonka.AppConfig.ListApplications+ ( -- * Creating a Request+ ListApplications (..),+ newListApplications,++ -- * Request Lenses+ listApplications_maxResults,+ listApplications_nextToken,++ -- * Destructuring the Response+ ListApplicationsResponse (..),+ newListApplicationsResponse,++ -- * Response Lenses+ listApplicationsResponse_items,+ listApplicationsResponse_nextToken,+ listApplicationsResponse_httpStatus,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListApplications' smart constructor.+data ListApplications = ListApplications'+ { -- | The maximum number of items to return for this call. The call also+ -- returns a token that you can specify in a subsequent call to get the+ -- next set of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A token to start the list. Next token is a pagination token generated by+ -- AppConfig to describe what page the previous List call ended on. For the+ -- first List request, the nextToken should not be set. On subsequent+ -- calls, the nextToken parameter should be set to the previous responses+ -- nextToken value. Use this token to get the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplications' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listApplications_maxResults' - The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+--+-- 'nextToken', 'listApplications_nextToken' - A token to start the list. Next token is a pagination token generated by+-- AppConfig to describe what page the previous List call ended on. For the+-- first List request, the nextToken should not be set. On subsequent+-- calls, the nextToken parameter should be set to the previous responses+-- nextToken value. Use this token to get the next set of results.+newListApplications ::+ ListApplications+newListApplications =+ ListApplications'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+listApplications_maxResults :: Lens.Lens' ListApplications (Prelude.Maybe Prelude.Natural)+listApplications_maxResults = Lens.lens (\ListApplications' {maxResults} -> maxResults) (\s@ListApplications' {} a -> s {maxResults = a} :: ListApplications)++-- | A token to start the list. Next token is a pagination token generated by+-- AppConfig to describe what page the previous List call ended on. For the+-- first List request, the nextToken should not be set. On subsequent+-- calls, the nextToken parameter should be set to the previous responses+-- nextToken value. Use this token to get the next set of results.+listApplications_nextToken :: Lens.Lens' ListApplications (Prelude.Maybe Prelude.Text)+listApplications_nextToken = Lens.lens (\ListApplications' {nextToken} -> nextToken) (\s@ListApplications' {} a -> s {nextToken = a} :: ListApplications)++instance Core.AWSRequest ListApplications where+ type+ AWSResponse ListApplications =+ ListApplicationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListApplicationsResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListApplications where+ hashWithSalt _salt ListApplications' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListApplications where+ rnf ListApplications' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListApplications where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListApplications where+ toPath = Prelude.const "/applications"++instance Data.ToQuery ListApplications where+ toQuery ListApplications' {..} =+ Prelude.mconcat+ [ "max_results" Data.=: maxResults,+ "next_token" Data.=: nextToken+ ]++-- | /See:/ 'newListApplicationsResponse' smart constructor.+data ListApplicationsResponse = ListApplicationsResponse'+ { -- | The elements from this collection.+ items :: Prelude.Maybe [Application],+ -- | The token for the next set of items to return. Use this token to get the+ -- next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplicationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listApplicationsResponse_items' - The elements from this collection.+--+-- 'nextToken', 'listApplicationsResponse_nextToken' - The token for the next set of items to return. Use this token to get the+-- next set of results.+--+-- 'httpStatus', 'listApplicationsResponse_httpStatus' - The response's http status code.+newListApplicationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListApplicationsResponse+newListApplicationsResponse pHttpStatus_ =+ ListApplicationsResponse'+ { items = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The elements from this collection.+listApplicationsResponse_items :: Lens.Lens' ListApplicationsResponse (Prelude.Maybe [Application])+listApplicationsResponse_items = Lens.lens (\ListApplicationsResponse' {items} -> items) (\s@ListApplicationsResponse' {} a -> s {items = a} :: ListApplicationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of items to return. Use this token to get the+-- next set of results.+listApplicationsResponse_nextToken :: Lens.Lens' ListApplicationsResponse (Prelude.Maybe Prelude.Text)+listApplicationsResponse_nextToken = Lens.lens (\ListApplicationsResponse' {nextToken} -> nextToken) (\s@ListApplicationsResponse' {} a -> s {nextToken = a} :: ListApplicationsResponse)++-- | The response's http status code.+listApplicationsResponse_httpStatus :: Lens.Lens' ListApplicationsResponse Prelude.Int+listApplicationsResponse_httpStatus = Lens.lens (\ListApplicationsResponse' {httpStatus} -> httpStatus) (\s@ListApplicationsResponse' {} a -> s {httpStatus = a} :: ListApplicationsResponse)++instance Prelude.NFData ListApplicationsResponse where+ rnf ListApplicationsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppConfig/ListConfigurationProfiles.hs view
@@ -0,0 +1,241 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.ListConfigurationProfiles+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the configuration profiles for an application.+module Amazonka.AppConfig.ListConfigurationProfiles+ ( -- * Creating a Request+ ListConfigurationProfiles (..),+ newListConfigurationProfiles,++ -- * Request Lenses+ listConfigurationProfiles_maxResults,+ listConfigurationProfiles_nextToken,+ listConfigurationProfiles_type,+ listConfigurationProfiles_applicationId,++ -- * Destructuring the Response+ ListConfigurationProfilesResponse (..),+ newListConfigurationProfilesResponse,++ -- * Response Lenses+ listConfigurationProfilesResponse_items,+ listConfigurationProfilesResponse_nextToken,+ listConfigurationProfilesResponse_httpStatus,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListConfigurationProfiles' smart constructor.+data ListConfigurationProfiles = ListConfigurationProfiles'+ { -- | The maximum number of items to return for this call. The call also+ -- returns a token that you can specify in a subsequent call to get the+ -- next set of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A token to start the list. Use this token to get the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A filter based on the type of configurations that the configuration+ -- profile contains. A configuration can be a feature flag or a freeform+ -- configuration.+ type' :: Prelude.Maybe Prelude.Text,+ -- | The application ID.+ applicationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConfigurationProfiles' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listConfigurationProfiles_maxResults' - The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+--+-- 'nextToken', 'listConfigurationProfiles_nextToken' - A token to start the list. Use this token to get the next set of+-- results.+--+-- 'type'', 'listConfigurationProfiles_type' - A filter based on the type of configurations that the configuration+-- profile contains. A configuration can be a feature flag or a freeform+-- configuration.+--+-- 'applicationId', 'listConfigurationProfiles_applicationId' - The application ID.+newListConfigurationProfiles ::+ -- | 'applicationId'+ Prelude.Text ->+ ListConfigurationProfiles+newListConfigurationProfiles pApplicationId_ =+ ListConfigurationProfiles'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ type' = Prelude.Nothing,+ applicationId = pApplicationId_+ }++-- | The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+listConfigurationProfiles_maxResults :: Lens.Lens' ListConfigurationProfiles (Prelude.Maybe Prelude.Natural)+listConfigurationProfiles_maxResults = Lens.lens (\ListConfigurationProfiles' {maxResults} -> maxResults) (\s@ListConfigurationProfiles' {} a -> s {maxResults = a} :: ListConfigurationProfiles)++-- | A token to start the list. Use this token to get the next set of+-- results.+listConfigurationProfiles_nextToken :: Lens.Lens' ListConfigurationProfiles (Prelude.Maybe Prelude.Text)+listConfigurationProfiles_nextToken = Lens.lens (\ListConfigurationProfiles' {nextToken} -> nextToken) (\s@ListConfigurationProfiles' {} a -> s {nextToken = a} :: ListConfigurationProfiles)++-- | A filter based on the type of configurations that the configuration+-- profile contains. A configuration can be a feature flag or a freeform+-- configuration.+listConfigurationProfiles_type :: Lens.Lens' ListConfigurationProfiles (Prelude.Maybe Prelude.Text)+listConfigurationProfiles_type = Lens.lens (\ListConfigurationProfiles' {type'} -> type') (\s@ListConfigurationProfiles' {} a -> s {type' = a} :: ListConfigurationProfiles)++-- | The application ID.+listConfigurationProfiles_applicationId :: Lens.Lens' ListConfigurationProfiles Prelude.Text+listConfigurationProfiles_applicationId = Lens.lens (\ListConfigurationProfiles' {applicationId} -> applicationId) (\s@ListConfigurationProfiles' {} a -> s {applicationId = a} :: ListConfigurationProfiles)++instance Core.AWSRequest ListConfigurationProfiles where+ type+ AWSResponse ListConfigurationProfiles =+ ListConfigurationProfilesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListConfigurationProfilesResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListConfigurationProfiles where+ hashWithSalt _salt ListConfigurationProfiles' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` applicationId++instance Prelude.NFData ListConfigurationProfiles where+ rnf ListConfigurationProfiles' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf applicationId++instance Data.ToHeaders ListConfigurationProfiles where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListConfigurationProfiles where+ toPath ListConfigurationProfiles' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/configurationprofiles"+ ]++instance Data.ToQuery ListConfigurationProfiles where+ toQuery ListConfigurationProfiles' {..} =+ Prelude.mconcat+ [ "max_results" Data.=: maxResults,+ "next_token" Data.=: nextToken,+ "type" Data.=: type'+ ]++-- | /See:/ 'newListConfigurationProfilesResponse' smart constructor.+data ListConfigurationProfilesResponse = ListConfigurationProfilesResponse'+ { -- | The elements from this collection.+ items :: Prelude.Maybe [ConfigurationProfileSummary],+ -- | The token for the next set of items to return. Use this token to get the+ -- next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListConfigurationProfilesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listConfigurationProfilesResponse_items' - The elements from this collection.+--+-- 'nextToken', 'listConfigurationProfilesResponse_nextToken' - The token for the next set of items to return. Use this token to get the+-- next set of results.+--+-- 'httpStatus', 'listConfigurationProfilesResponse_httpStatus' - The response's http status code.+newListConfigurationProfilesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListConfigurationProfilesResponse+newListConfigurationProfilesResponse pHttpStatus_ =+ ListConfigurationProfilesResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The elements from this collection.+listConfigurationProfilesResponse_items :: Lens.Lens' ListConfigurationProfilesResponse (Prelude.Maybe [ConfigurationProfileSummary])+listConfigurationProfilesResponse_items = Lens.lens (\ListConfigurationProfilesResponse' {items} -> items) (\s@ListConfigurationProfilesResponse' {} a -> s {items = a} :: ListConfigurationProfilesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of items to return. Use this token to get the+-- next set of results.+listConfigurationProfilesResponse_nextToken :: Lens.Lens' ListConfigurationProfilesResponse (Prelude.Maybe Prelude.Text)+listConfigurationProfilesResponse_nextToken = Lens.lens (\ListConfigurationProfilesResponse' {nextToken} -> nextToken) (\s@ListConfigurationProfilesResponse' {} a -> s {nextToken = a} :: ListConfigurationProfilesResponse)++-- | The response's http status code.+listConfigurationProfilesResponse_httpStatus :: Lens.Lens' ListConfigurationProfilesResponse Prelude.Int+listConfigurationProfilesResponse_httpStatus = Lens.lens (\ListConfigurationProfilesResponse' {httpStatus} -> httpStatus) (\s@ListConfigurationProfilesResponse' {} a -> s {httpStatus = a} :: ListConfigurationProfilesResponse)++instance+ Prelude.NFData+ ListConfigurationProfilesResponse+ where+ rnf ListConfigurationProfilesResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppConfig/ListDeploymentStrategies.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.ListDeploymentStrategies+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists deployment strategies.+module Amazonka.AppConfig.ListDeploymentStrategies+ ( -- * Creating a Request+ ListDeploymentStrategies (..),+ newListDeploymentStrategies,++ -- * Request Lenses+ listDeploymentStrategies_maxResults,+ listDeploymentStrategies_nextToken,++ -- * Destructuring the Response+ ListDeploymentStrategiesResponse (..),+ newListDeploymentStrategiesResponse,++ -- * Response Lenses+ listDeploymentStrategiesResponse_items,+ listDeploymentStrategiesResponse_nextToken,+ listDeploymentStrategiesResponse_httpStatus,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDeploymentStrategies' smart constructor.+data ListDeploymentStrategies = ListDeploymentStrategies'+ { -- | The maximum number of items to return for this call. The call also+ -- returns a token that you can specify in a subsequent call to get the+ -- next set of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A token to start the list. Use this token to get the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDeploymentStrategies' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDeploymentStrategies_maxResults' - The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+--+-- 'nextToken', 'listDeploymentStrategies_nextToken' - A token to start the list. Use this token to get the next set of+-- results.+newListDeploymentStrategies ::+ ListDeploymentStrategies+newListDeploymentStrategies =+ ListDeploymentStrategies'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+listDeploymentStrategies_maxResults :: Lens.Lens' ListDeploymentStrategies (Prelude.Maybe Prelude.Natural)+listDeploymentStrategies_maxResults = Lens.lens (\ListDeploymentStrategies' {maxResults} -> maxResults) (\s@ListDeploymentStrategies' {} a -> s {maxResults = a} :: ListDeploymentStrategies)++-- | A token to start the list. Use this token to get the next set of+-- results.+listDeploymentStrategies_nextToken :: Lens.Lens' ListDeploymentStrategies (Prelude.Maybe Prelude.Text)+listDeploymentStrategies_nextToken = Lens.lens (\ListDeploymentStrategies' {nextToken} -> nextToken) (\s@ListDeploymentStrategies' {} a -> s {nextToken = a} :: ListDeploymentStrategies)++instance Core.AWSRequest ListDeploymentStrategies where+ type+ AWSResponse ListDeploymentStrategies =+ ListDeploymentStrategiesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDeploymentStrategiesResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListDeploymentStrategies where+ hashWithSalt _salt ListDeploymentStrategies' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDeploymentStrategies where+ rnf ListDeploymentStrategies' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDeploymentStrategies where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListDeploymentStrategies where+ toPath = Prelude.const "/deploymentstrategies"++instance Data.ToQuery ListDeploymentStrategies where+ toQuery ListDeploymentStrategies' {..} =+ Prelude.mconcat+ [ "max_results" Data.=: maxResults,+ "next_token" Data.=: nextToken+ ]++-- | /See:/ 'newListDeploymentStrategiesResponse' smart constructor.+data ListDeploymentStrategiesResponse = ListDeploymentStrategiesResponse'+ { -- | The elements from this collection.+ items :: Prelude.Maybe [DeploymentStrategy],+ -- | The token for the next set of items to return. Use this token to get the+ -- next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDeploymentStrategiesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listDeploymentStrategiesResponse_items' - The elements from this collection.+--+-- 'nextToken', 'listDeploymentStrategiesResponse_nextToken' - The token for the next set of items to return. Use this token to get the+-- next set of results.+--+-- 'httpStatus', 'listDeploymentStrategiesResponse_httpStatus' - The response's http status code.+newListDeploymentStrategiesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDeploymentStrategiesResponse+newListDeploymentStrategiesResponse pHttpStatus_ =+ ListDeploymentStrategiesResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The elements from this collection.+listDeploymentStrategiesResponse_items :: Lens.Lens' ListDeploymentStrategiesResponse (Prelude.Maybe [DeploymentStrategy])+listDeploymentStrategiesResponse_items = Lens.lens (\ListDeploymentStrategiesResponse' {items} -> items) (\s@ListDeploymentStrategiesResponse' {} a -> s {items = a} :: ListDeploymentStrategiesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of items to return. Use this token to get the+-- next set of results.+listDeploymentStrategiesResponse_nextToken :: Lens.Lens' ListDeploymentStrategiesResponse (Prelude.Maybe Prelude.Text)+listDeploymentStrategiesResponse_nextToken = Lens.lens (\ListDeploymentStrategiesResponse' {nextToken} -> nextToken) (\s@ListDeploymentStrategiesResponse' {} a -> s {nextToken = a} :: ListDeploymentStrategiesResponse)++-- | The response's http status code.+listDeploymentStrategiesResponse_httpStatus :: Lens.Lens' ListDeploymentStrategiesResponse Prelude.Int+listDeploymentStrategiesResponse_httpStatus = Lens.lens (\ListDeploymentStrategiesResponse' {httpStatus} -> httpStatus) (\s@ListDeploymentStrategiesResponse' {} a -> s {httpStatus = a} :: ListDeploymentStrategiesResponse)++instance+ Prelude.NFData+ ListDeploymentStrategiesResponse+ where+ rnf ListDeploymentStrategiesResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppConfig/ListDeployments.hs view
@@ -0,0 +1,240 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.ListDeployments+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the deployments for an environment in descending deployment number+-- order.+module Amazonka.AppConfig.ListDeployments+ ( -- * Creating a Request+ ListDeployments (..),+ newListDeployments,++ -- * Request Lenses+ listDeployments_maxResults,+ listDeployments_nextToken,+ listDeployments_applicationId,+ listDeployments_environmentId,++ -- * Destructuring the Response+ ListDeploymentsResponse (..),+ newListDeploymentsResponse,++ -- * Response Lenses+ listDeploymentsResponse_items,+ listDeploymentsResponse_nextToken,+ listDeploymentsResponse_httpStatus,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDeployments' smart constructor.+data ListDeployments = ListDeployments'+ { -- | The maximum number of items that may be returned for this call. If there+ -- are items that have not yet been returned, the response will include a+ -- non-null @NextToken@ that you can provide in a subsequent call to get+ -- the next set of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token returned by a prior call to this operation indicating the next+ -- set of results to be returned. If not specified, the operation will+ -- return the first set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The application ID.+ applicationId :: Prelude.Text,+ -- | The environment ID.+ environmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDeployments' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDeployments_maxResults' - The maximum number of items that may be returned for this call. If there+-- are items that have not yet been returned, the response will include a+-- non-null @NextToken@ that you can provide in a subsequent call to get+-- the next set of results.+--+-- 'nextToken', 'listDeployments_nextToken' - The token returned by a prior call to this operation indicating the next+-- set of results to be returned. If not specified, the operation will+-- return the first set of results.+--+-- 'applicationId', 'listDeployments_applicationId' - The application ID.+--+-- 'environmentId', 'listDeployments_environmentId' - The environment ID.+newListDeployments ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'environmentId'+ Prelude.Text ->+ ListDeployments+newListDeployments pApplicationId_ pEnvironmentId_ =+ ListDeployments'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ applicationId = pApplicationId_,+ environmentId = pEnvironmentId_+ }++-- | The maximum number of items that may be returned for this call. If there+-- are items that have not yet been returned, the response will include a+-- non-null @NextToken@ that you can provide in a subsequent call to get+-- the next set of results.+listDeployments_maxResults :: Lens.Lens' ListDeployments (Prelude.Maybe Prelude.Natural)+listDeployments_maxResults = Lens.lens (\ListDeployments' {maxResults} -> maxResults) (\s@ListDeployments' {} a -> s {maxResults = a} :: ListDeployments)++-- | The token returned by a prior call to this operation indicating the next+-- set of results to be returned. If not specified, the operation will+-- return the first set of results.+listDeployments_nextToken :: Lens.Lens' ListDeployments (Prelude.Maybe Prelude.Text)+listDeployments_nextToken = Lens.lens (\ListDeployments' {nextToken} -> nextToken) (\s@ListDeployments' {} a -> s {nextToken = a} :: ListDeployments)++-- | The application ID.+listDeployments_applicationId :: Lens.Lens' ListDeployments Prelude.Text+listDeployments_applicationId = Lens.lens (\ListDeployments' {applicationId} -> applicationId) (\s@ListDeployments' {} a -> s {applicationId = a} :: ListDeployments)++-- | The environment ID.+listDeployments_environmentId :: Lens.Lens' ListDeployments Prelude.Text+listDeployments_environmentId = Lens.lens (\ListDeployments' {environmentId} -> environmentId) (\s@ListDeployments' {} a -> s {environmentId = a} :: ListDeployments)++instance Core.AWSRequest ListDeployments where+ type+ AWSResponse ListDeployments =+ ListDeploymentsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDeploymentsResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListDeployments where+ hashWithSalt _salt ListDeployments' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` environmentId++instance Prelude.NFData ListDeployments where+ rnf ListDeployments' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf environmentId++instance Data.ToHeaders ListDeployments where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListDeployments where+ toPath ListDeployments' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/environments/",+ Data.toBS environmentId,+ "/deployments"+ ]++instance Data.ToQuery ListDeployments where+ toQuery ListDeployments' {..} =+ Prelude.mconcat+ [ "max_results" Data.=: maxResults,+ "next_token" Data.=: nextToken+ ]++-- | /See:/ 'newListDeploymentsResponse' smart constructor.+data ListDeploymentsResponse = ListDeploymentsResponse'+ { -- | The elements from this collection.+ items :: Prelude.Maybe [DeploymentSummary],+ -- | The token for the next set of items to return. Use this token to get the+ -- next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDeploymentsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listDeploymentsResponse_items' - The elements from this collection.+--+-- 'nextToken', 'listDeploymentsResponse_nextToken' - The token for the next set of items to return. Use this token to get the+-- next set of results.+--+-- 'httpStatus', 'listDeploymentsResponse_httpStatus' - The response's http status code.+newListDeploymentsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDeploymentsResponse+newListDeploymentsResponse pHttpStatus_ =+ ListDeploymentsResponse'+ { items = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The elements from this collection.+listDeploymentsResponse_items :: Lens.Lens' ListDeploymentsResponse (Prelude.Maybe [DeploymentSummary])+listDeploymentsResponse_items = Lens.lens (\ListDeploymentsResponse' {items} -> items) (\s@ListDeploymentsResponse' {} a -> s {items = a} :: ListDeploymentsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of items to return. Use this token to get the+-- next set of results.+listDeploymentsResponse_nextToken :: Lens.Lens' ListDeploymentsResponse (Prelude.Maybe Prelude.Text)+listDeploymentsResponse_nextToken = Lens.lens (\ListDeploymentsResponse' {nextToken} -> nextToken) (\s@ListDeploymentsResponse' {} a -> s {nextToken = a} :: ListDeploymentsResponse)++-- | The response's http status code.+listDeploymentsResponse_httpStatus :: Lens.Lens' ListDeploymentsResponse Prelude.Int+listDeploymentsResponse_httpStatus = Lens.lens (\ListDeploymentsResponse' {httpStatus} -> httpStatus) (\s@ListDeploymentsResponse' {} a -> s {httpStatus = a} :: ListDeploymentsResponse)++instance Prelude.NFData ListDeploymentsResponse where+ rnf ListDeploymentsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppConfig/ListEnvironments.hs view
@@ -0,0 +1,217 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.ListEnvironments+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the environments for an application.+module Amazonka.AppConfig.ListEnvironments+ ( -- * Creating a Request+ ListEnvironments (..),+ newListEnvironments,++ -- * Request Lenses+ listEnvironments_maxResults,+ listEnvironments_nextToken,+ listEnvironments_applicationId,++ -- * Destructuring the Response+ ListEnvironmentsResponse (..),+ newListEnvironmentsResponse,++ -- * Response Lenses+ listEnvironmentsResponse_items,+ listEnvironmentsResponse_nextToken,+ listEnvironmentsResponse_httpStatus,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListEnvironments' smart constructor.+data ListEnvironments = ListEnvironments'+ { -- | The maximum number of items to return for this call. The call also+ -- returns a token that you can specify in a subsequent call to get the+ -- next set of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A token to start the list. Use this token to get the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The application ID.+ applicationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEnvironments' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listEnvironments_maxResults' - The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+--+-- 'nextToken', 'listEnvironments_nextToken' - A token to start the list. Use this token to get the next set of+-- results.+--+-- 'applicationId', 'listEnvironments_applicationId' - The application ID.+newListEnvironments ::+ -- | 'applicationId'+ Prelude.Text ->+ ListEnvironments+newListEnvironments pApplicationId_ =+ ListEnvironments'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ applicationId = pApplicationId_+ }++-- | The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+listEnvironments_maxResults :: Lens.Lens' ListEnvironments (Prelude.Maybe Prelude.Natural)+listEnvironments_maxResults = Lens.lens (\ListEnvironments' {maxResults} -> maxResults) (\s@ListEnvironments' {} a -> s {maxResults = a} :: ListEnvironments)++-- | A token to start the list. Use this token to get the next set of+-- results.+listEnvironments_nextToken :: Lens.Lens' ListEnvironments (Prelude.Maybe Prelude.Text)+listEnvironments_nextToken = Lens.lens (\ListEnvironments' {nextToken} -> nextToken) (\s@ListEnvironments' {} a -> s {nextToken = a} :: ListEnvironments)++-- | The application ID.+listEnvironments_applicationId :: Lens.Lens' ListEnvironments Prelude.Text+listEnvironments_applicationId = Lens.lens (\ListEnvironments' {applicationId} -> applicationId) (\s@ListEnvironments' {} a -> s {applicationId = a} :: ListEnvironments)++instance Core.AWSRequest ListEnvironments where+ type+ AWSResponse ListEnvironments =+ ListEnvironmentsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListEnvironmentsResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListEnvironments where+ hashWithSalt _salt ListEnvironments' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` applicationId++instance Prelude.NFData ListEnvironments where+ rnf ListEnvironments' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf applicationId++instance Data.ToHeaders ListEnvironments where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListEnvironments where+ toPath ListEnvironments' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/environments"+ ]++instance Data.ToQuery ListEnvironments where+ toQuery ListEnvironments' {..} =+ Prelude.mconcat+ [ "max_results" Data.=: maxResults,+ "next_token" Data.=: nextToken+ ]++-- | /See:/ 'newListEnvironmentsResponse' smart constructor.+data ListEnvironmentsResponse = ListEnvironmentsResponse'+ { -- | The elements from this collection.+ items :: Prelude.Maybe [Environment],+ -- | The token for the next set of items to return. Use this token to get the+ -- next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEnvironmentsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listEnvironmentsResponse_items' - The elements from this collection.+--+-- 'nextToken', 'listEnvironmentsResponse_nextToken' - The token for the next set of items to return. Use this token to get the+-- next set of results.+--+-- 'httpStatus', 'listEnvironmentsResponse_httpStatus' - The response's http status code.+newListEnvironmentsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListEnvironmentsResponse+newListEnvironmentsResponse pHttpStatus_ =+ ListEnvironmentsResponse'+ { items = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The elements from this collection.+listEnvironmentsResponse_items :: Lens.Lens' ListEnvironmentsResponse (Prelude.Maybe [Environment])+listEnvironmentsResponse_items = Lens.lens (\ListEnvironmentsResponse' {items} -> items) (\s@ListEnvironmentsResponse' {} a -> s {items = a} :: ListEnvironmentsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of items to return. Use this token to get the+-- next set of results.+listEnvironmentsResponse_nextToken :: Lens.Lens' ListEnvironmentsResponse (Prelude.Maybe Prelude.Text)+listEnvironmentsResponse_nextToken = Lens.lens (\ListEnvironmentsResponse' {nextToken} -> nextToken) (\s@ListEnvironmentsResponse' {} a -> s {nextToken = a} :: ListEnvironmentsResponse)++-- | The response's http status code.+listEnvironmentsResponse_httpStatus :: Lens.Lens' ListEnvironmentsResponse Prelude.Int+listEnvironmentsResponse_httpStatus = Lens.lens (\ListEnvironmentsResponse' {httpStatus} -> httpStatus) (\s@ListEnvironmentsResponse' {} a -> s {httpStatus = a} :: ListEnvironmentsResponse)++instance Prelude.NFData ListEnvironmentsResponse where+ rnf ListEnvironmentsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppConfig/ListExtensionAssociations.hs view
@@ -0,0 +1,249 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.ListExtensionAssociations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all AppConfig extension associations in the account. For more+-- information about extensions and associations, see+-- <https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html Working with AppConfig extensions>+-- in the /AppConfig User Guide/.+module Amazonka.AppConfig.ListExtensionAssociations+ ( -- * Creating a Request+ ListExtensionAssociations (..),+ newListExtensionAssociations,++ -- * Request Lenses+ listExtensionAssociations_extensionIdentifier,+ listExtensionAssociations_extensionVersionNumber,+ listExtensionAssociations_maxResults,+ listExtensionAssociations_nextToken,+ listExtensionAssociations_resourceIdentifier,++ -- * Destructuring the Response+ ListExtensionAssociationsResponse (..),+ newListExtensionAssociationsResponse,++ -- * Response Lenses+ listExtensionAssociationsResponse_items,+ listExtensionAssociationsResponse_nextToken,+ listExtensionAssociationsResponse_httpStatus,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListExtensionAssociations' smart constructor.+data ListExtensionAssociations = ListExtensionAssociations'+ { -- | The name, the ID, or the Amazon Resource Name (ARN) of the extension.+ extensionIdentifier :: Prelude.Maybe Prelude.Text,+ -- | The version number for the extension defined in the association.+ extensionVersionNumber :: Prelude.Maybe Prelude.Int,+ -- | The maximum number of items to return for this call. The call also+ -- returns a token that you can specify in a subsequent call to get the+ -- next set of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A token to start the list. Use this token to get the next set of results+ -- or pass null to get the first set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ARN of an application, configuration profile, or environment.+ resourceIdentifier :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListExtensionAssociations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'extensionIdentifier', 'listExtensionAssociations_extensionIdentifier' - The name, the ID, or the Amazon Resource Name (ARN) of the extension.+--+-- 'extensionVersionNumber', 'listExtensionAssociations_extensionVersionNumber' - The version number for the extension defined in the association.+--+-- 'maxResults', 'listExtensionAssociations_maxResults' - The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+--+-- 'nextToken', 'listExtensionAssociations_nextToken' - A token to start the list. Use this token to get the next set of results+-- or pass null to get the first set of results.+--+-- 'resourceIdentifier', 'listExtensionAssociations_resourceIdentifier' - The ARN of an application, configuration profile, or environment.+newListExtensionAssociations ::+ ListExtensionAssociations+newListExtensionAssociations =+ ListExtensionAssociations'+ { extensionIdentifier =+ Prelude.Nothing,+ extensionVersionNumber = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resourceIdentifier = Prelude.Nothing+ }++-- | The name, the ID, or the Amazon Resource Name (ARN) of the extension.+listExtensionAssociations_extensionIdentifier :: Lens.Lens' ListExtensionAssociations (Prelude.Maybe Prelude.Text)+listExtensionAssociations_extensionIdentifier = Lens.lens (\ListExtensionAssociations' {extensionIdentifier} -> extensionIdentifier) (\s@ListExtensionAssociations' {} a -> s {extensionIdentifier = a} :: ListExtensionAssociations)++-- | The version number for the extension defined in the association.+listExtensionAssociations_extensionVersionNumber :: Lens.Lens' ListExtensionAssociations (Prelude.Maybe Prelude.Int)+listExtensionAssociations_extensionVersionNumber = Lens.lens (\ListExtensionAssociations' {extensionVersionNumber} -> extensionVersionNumber) (\s@ListExtensionAssociations' {} a -> s {extensionVersionNumber = a} :: ListExtensionAssociations)++-- | The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+listExtensionAssociations_maxResults :: Lens.Lens' ListExtensionAssociations (Prelude.Maybe Prelude.Natural)+listExtensionAssociations_maxResults = Lens.lens (\ListExtensionAssociations' {maxResults} -> maxResults) (\s@ListExtensionAssociations' {} a -> s {maxResults = a} :: ListExtensionAssociations)++-- | A token to start the list. Use this token to get the next set of results+-- or pass null to get the first set of results.+listExtensionAssociations_nextToken :: Lens.Lens' ListExtensionAssociations (Prelude.Maybe Prelude.Text)+listExtensionAssociations_nextToken = Lens.lens (\ListExtensionAssociations' {nextToken} -> nextToken) (\s@ListExtensionAssociations' {} a -> s {nextToken = a} :: ListExtensionAssociations)++-- | The ARN of an application, configuration profile, or environment.+listExtensionAssociations_resourceIdentifier :: Lens.Lens' ListExtensionAssociations (Prelude.Maybe Prelude.Text)+listExtensionAssociations_resourceIdentifier = Lens.lens (\ListExtensionAssociations' {resourceIdentifier} -> resourceIdentifier) (\s@ListExtensionAssociations' {} a -> s {resourceIdentifier = a} :: ListExtensionAssociations)++instance Core.AWSRequest ListExtensionAssociations where+ type+ AWSResponse ListExtensionAssociations =+ ListExtensionAssociationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListExtensionAssociationsResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListExtensionAssociations where+ hashWithSalt _salt ListExtensionAssociations' {..} =+ _salt+ `Prelude.hashWithSalt` extensionIdentifier+ `Prelude.hashWithSalt` extensionVersionNumber+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` resourceIdentifier++instance Prelude.NFData ListExtensionAssociations where+ rnf ListExtensionAssociations' {..} =+ Prelude.rnf extensionIdentifier+ `Prelude.seq` Prelude.rnf extensionVersionNumber+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resourceIdentifier++instance Data.ToHeaders ListExtensionAssociations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListExtensionAssociations where+ toPath = Prelude.const "/extensionassociations"++instance Data.ToQuery ListExtensionAssociations where+ toQuery ListExtensionAssociations' {..} =+ Prelude.mconcat+ [ "extension_identifier" Data.=: extensionIdentifier,+ "extension_version_number"+ Data.=: extensionVersionNumber,+ "max_results" Data.=: maxResults,+ "next_token" Data.=: nextToken,+ "resource_identifier" Data.=: resourceIdentifier+ ]++-- | /See:/ 'newListExtensionAssociationsResponse' smart constructor.+data ListExtensionAssociationsResponse = ListExtensionAssociationsResponse'+ { -- | The list of extension associations. Each item represents an extension+ -- association to an application, environment, or configuration profile.+ items :: Prelude.Maybe [ExtensionAssociationSummary],+ -- | The token for the next set of items to return. Use this token to get the+ -- next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListExtensionAssociationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listExtensionAssociationsResponse_items' - The list of extension associations. Each item represents an extension+-- association to an application, environment, or configuration profile.+--+-- 'nextToken', 'listExtensionAssociationsResponse_nextToken' - The token for the next set of items to return. Use this token to get the+-- next set of results.+--+-- 'httpStatus', 'listExtensionAssociationsResponse_httpStatus' - The response's http status code.+newListExtensionAssociationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListExtensionAssociationsResponse+newListExtensionAssociationsResponse pHttpStatus_ =+ ListExtensionAssociationsResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of extension associations. Each item represents an extension+-- association to an application, environment, or configuration profile.+listExtensionAssociationsResponse_items :: Lens.Lens' ListExtensionAssociationsResponse (Prelude.Maybe [ExtensionAssociationSummary])+listExtensionAssociationsResponse_items = Lens.lens (\ListExtensionAssociationsResponse' {items} -> items) (\s@ListExtensionAssociationsResponse' {} a -> s {items = a} :: ListExtensionAssociationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of items to return. Use this token to get the+-- next set of results.+listExtensionAssociationsResponse_nextToken :: Lens.Lens' ListExtensionAssociationsResponse (Prelude.Maybe Prelude.Text)+listExtensionAssociationsResponse_nextToken = Lens.lens (\ListExtensionAssociationsResponse' {nextToken} -> nextToken) (\s@ListExtensionAssociationsResponse' {} a -> s {nextToken = a} :: ListExtensionAssociationsResponse)++-- | The response's http status code.+listExtensionAssociationsResponse_httpStatus :: Lens.Lens' ListExtensionAssociationsResponse Prelude.Int+listExtensionAssociationsResponse_httpStatus = Lens.lens (\ListExtensionAssociationsResponse' {httpStatus} -> httpStatus) (\s@ListExtensionAssociationsResponse' {} a -> s {httpStatus = a} :: ListExtensionAssociationsResponse)++instance+ Prelude.NFData+ ListExtensionAssociationsResponse+ where+ rnf ListExtensionAssociationsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppConfig/ListExtensions.hs view
@@ -0,0 +1,217 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.ListExtensions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all custom and Amazon Web Services-authored AppConfig extensions+-- in the account. For more information about extensions, see+-- <https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html Working with AppConfig extensions>+-- in the /AppConfig User Guide/.+module Amazonka.AppConfig.ListExtensions+ ( -- * Creating a Request+ ListExtensions (..),+ newListExtensions,++ -- * Request Lenses+ listExtensions_maxResults,+ listExtensions_name,+ listExtensions_nextToken,++ -- * Destructuring the Response+ ListExtensionsResponse (..),+ newListExtensionsResponse,++ -- * Response Lenses+ listExtensionsResponse_items,+ listExtensionsResponse_nextToken,+ listExtensionsResponse_httpStatus,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListExtensions' smart constructor.+data ListExtensions = ListExtensions'+ { -- | The maximum number of items to return for this call. The call also+ -- returns a token that you can specify in a subsequent call to get the+ -- next set of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The extension name.+ name :: Prelude.Maybe Prelude.Text,+ -- | A token to start the list. Use this token to get the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListExtensions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listExtensions_maxResults' - The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+--+-- 'name', 'listExtensions_name' - The extension name.+--+-- 'nextToken', 'listExtensions_nextToken' - A token to start the list. Use this token to get the next set of+-- results.+newListExtensions ::+ ListExtensions+newListExtensions =+ ListExtensions'+ { maxResults = Prelude.Nothing,+ name = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+listExtensions_maxResults :: Lens.Lens' ListExtensions (Prelude.Maybe Prelude.Natural)+listExtensions_maxResults = Lens.lens (\ListExtensions' {maxResults} -> maxResults) (\s@ListExtensions' {} a -> s {maxResults = a} :: ListExtensions)++-- | The extension name.+listExtensions_name :: Lens.Lens' ListExtensions (Prelude.Maybe Prelude.Text)+listExtensions_name = Lens.lens (\ListExtensions' {name} -> name) (\s@ListExtensions' {} a -> s {name = a} :: ListExtensions)++-- | A token to start the list. Use this token to get the next set of+-- results.+listExtensions_nextToken :: Lens.Lens' ListExtensions (Prelude.Maybe Prelude.Text)+listExtensions_nextToken = Lens.lens (\ListExtensions' {nextToken} -> nextToken) (\s@ListExtensions' {} a -> s {nextToken = a} :: ListExtensions)++instance Core.AWSRequest ListExtensions where+ type+ AWSResponse ListExtensions =+ ListExtensionsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListExtensionsResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListExtensions where+ hashWithSalt _salt ListExtensions' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListExtensions where+ rnf ListExtensions' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListExtensions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListExtensions where+ toPath = Prelude.const "/extensions"++instance Data.ToQuery ListExtensions where+ toQuery ListExtensions' {..} =+ Prelude.mconcat+ [ "max_results" Data.=: maxResults,+ "name" Data.=: name,+ "next_token" Data.=: nextToken+ ]++-- | /See:/ 'newListExtensionsResponse' smart constructor.+data ListExtensionsResponse = ListExtensionsResponse'+ { -- | The list of available extensions. The list includes Amazon Web+ -- Services-authored and user-created extensions.+ items :: Prelude.Maybe [ExtensionSummary],+ -- | The token for the next set of items to return. Use this token to get the+ -- next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListExtensionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listExtensionsResponse_items' - The list of available extensions. The list includes Amazon Web+-- Services-authored and user-created extensions.+--+-- 'nextToken', 'listExtensionsResponse_nextToken' - The token for the next set of items to return. Use this token to get the+-- next set of results.+--+-- 'httpStatus', 'listExtensionsResponse_httpStatus' - The response's http status code.+newListExtensionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListExtensionsResponse+newListExtensionsResponse pHttpStatus_ =+ ListExtensionsResponse'+ { items = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of available extensions. The list includes Amazon Web+-- Services-authored and user-created extensions.+listExtensionsResponse_items :: Lens.Lens' ListExtensionsResponse (Prelude.Maybe [ExtensionSummary])+listExtensionsResponse_items = Lens.lens (\ListExtensionsResponse' {items} -> items) (\s@ListExtensionsResponse' {} a -> s {items = a} :: ListExtensionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of items to return. Use this token to get the+-- next set of results.+listExtensionsResponse_nextToken :: Lens.Lens' ListExtensionsResponse (Prelude.Maybe Prelude.Text)+listExtensionsResponse_nextToken = Lens.lens (\ListExtensionsResponse' {nextToken} -> nextToken) (\s@ListExtensionsResponse' {} a -> s {nextToken = a} :: ListExtensionsResponse)++-- | The response's http status code.+listExtensionsResponse_httpStatus :: Lens.Lens' ListExtensionsResponse Prelude.Int+listExtensionsResponse_httpStatus = Lens.lens (\ListExtensionsResponse' {httpStatus} -> httpStatus) (\s@ListExtensionsResponse' {} a -> s {httpStatus = a} :: ListExtensionsResponse)++instance Prelude.NFData ListExtensionsResponse where+ rnf ListExtensionsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppConfig/ListHostedConfigurationVersions.hs view
@@ -0,0 +1,257 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.ListHostedConfigurationVersions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists configurations stored in the AppConfig hosted configuration store+-- by version.+module Amazonka.AppConfig.ListHostedConfigurationVersions+ ( -- * Creating a Request+ ListHostedConfigurationVersions (..),+ newListHostedConfigurationVersions,++ -- * Request Lenses+ listHostedConfigurationVersions_maxResults,+ listHostedConfigurationVersions_nextToken,+ listHostedConfigurationVersions_applicationId,+ listHostedConfigurationVersions_configurationProfileId,++ -- * Destructuring the Response+ ListHostedConfigurationVersionsResponse (..),+ newListHostedConfigurationVersionsResponse,++ -- * Response Lenses+ listHostedConfigurationVersionsResponse_items,+ listHostedConfigurationVersionsResponse_nextToken,+ listHostedConfigurationVersionsResponse_httpStatus,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListHostedConfigurationVersions' smart constructor.+data ListHostedConfigurationVersions = ListHostedConfigurationVersions'+ { -- | The maximum number of items to return for this call. The call also+ -- returns a token that you can specify in a subsequent call to get the+ -- next set of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A token to start the list. Use this token to get the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The application ID.+ applicationId :: Prelude.Text,+ -- | The configuration profile ID.+ configurationProfileId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListHostedConfigurationVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listHostedConfigurationVersions_maxResults' - The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+--+-- 'nextToken', 'listHostedConfigurationVersions_nextToken' - A token to start the list. Use this token to get the next set of+-- results.+--+-- 'applicationId', 'listHostedConfigurationVersions_applicationId' - The application ID.+--+-- 'configurationProfileId', 'listHostedConfigurationVersions_configurationProfileId' - The configuration profile ID.+newListHostedConfigurationVersions ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'configurationProfileId'+ Prelude.Text ->+ ListHostedConfigurationVersions+newListHostedConfigurationVersions+ pApplicationId_+ pConfigurationProfileId_ =+ ListHostedConfigurationVersions'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ applicationId = pApplicationId_,+ configurationProfileId =+ pConfigurationProfileId_+ }++-- | The maximum number of items to return for this call. The call also+-- returns a token that you can specify in a subsequent call to get the+-- next set of results.+listHostedConfigurationVersions_maxResults :: Lens.Lens' ListHostedConfigurationVersions (Prelude.Maybe Prelude.Natural)+listHostedConfigurationVersions_maxResults = Lens.lens (\ListHostedConfigurationVersions' {maxResults} -> maxResults) (\s@ListHostedConfigurationVersions' {} a -> s {maxResults = a} :: ListHostedConfigurationVersions)++-- | A token to start the list. Use this token to get the next set of+-- results.+listHostedConfigurationVersions_nextToken :: Lens.Lens' ListHostedConfigurationVersions (Prelude.Maybe Prelude.Text)+listHostedConfigurationVersions_nextToken = Lens.lens (\ListHostedConfigurationVersions' {nextToken} -> nextToken) (\s@ListHostedConfigurationVersions' {} a -> s {nextToken = a} :: ListHostedConfigurationVersions)++-- | The application ID.+listHostedConfigurationVersions_applicationId :: Lens.Lens' ListHostedConfigurationVersions Prelude.Text+listHostedConfigurationVersions_applicationId = Lens.lens (\ListHostedConfigurationVersions' {applicationId} -> applicationId) (\s@ListHostedConfigurationVersions' {} a -> s {applicationId = a} :: ListHostedConfigurationVersions)++-- | The configuration profile ID.+listHostedConfigurationVersions_configurationProfileId :: Lens.Lens' ListHostedConfigurationVersions Prelude.Text+listHostedConfigurationVersions_configurationProfileId = Lens.lens (\ListHostedConfigurationVersions' {configurationProfileId} -> configurationProfileId) (\s@ListHostedConfigurationVersions' {} a -> s {configurationProfileId = a} :: ListHostedConfigurationVersions)++instance+ Core.AWSRequest+ ListHostedConfigurationVersions+ where+ type+ AWSResponse ListHostedConfigurationVersions =+ ListHostedConfigurationVersionsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListHostedConfigurationVersionsResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListHostedConfigurationVersions+ where+ hashWithSalt+ _salt+ ListHostedConfigurationVersions' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` configurationProfileId++instance+ Prelude.NFData+ ListHostedConfigurationVersions+ where+ rnf ListHostedConfigurationVersions' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf configurationProfileId++instance+ Data.ToHeaders+ ListHostedConfigurationVersions+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListHostedConfigurationVersions where+ toPath ListHostedConfigurationVersions' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/configurationprofiles/",+ Data.toBS configurationProfileId,+ "/hostedconfigurationversions"+ ]++instance Data.ToQuery ListHostedConfigurationVersions where+ toQuery ListHostedConfigurationVersions' {..} =+ Prelude.mconcat+ [ "max_results" Data.=: maxResults,+ "next_token" Data.=: nextToken+ ]++-- | /See:/ 'newListHostedConfigurationVersionsResponse' smart constructor.+data ListHostedConfigurationVersionsResponse = ListHostedConfigurationVersionsResponse'+ { -- | The elements from this collection.+ items :: Prelude.Maybe [HostedConfigurationVersionSummary],+ -- | The token for the next set of items to return. Use this token to get the+ -- next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListHostedConfigurationVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listHostedConfigurationVersionsResponse_items' - The elements from this collection.+--+-- 'nextToken', 'listHostedConfigurationVersionsResponse_nextToken' - The token for the next set of items to return. Use this token to get the+-- next set of results.+--+-- 'httpStatus', 'listHostedConfigurationVersionsResponse_httpStatus' - The response's http status code.+newListHostedConfigurationVersionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListHostedConfigurationVersionsResponse+newListHostedConfigurationVersionsResponse+ pHttpStatus_ =+ ListHostedConfigurationVersionsResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The elements from this collection.+listHostedConfigurationVersionsResponse_items :: Lens.Lens' ListHostedConfigurationVersionsResponse (Prelude.Maybe [HostedConfigurationVersionSummary])+listHostedConfigurationVersionsResponse_items = Lens.lens (\ListHostedConfigurationVersionsResponse' {items} -> items) (\s@ListHostedConfigurationVersionsResponse' {} a -> s {items = a} :: ListHostedConfigurationVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of items to return. Use this token to get the+-- next set of results.+listHostedConfigurationVersionsResponse_nextToken :: Lens.Lens' ListHostedConfigurationVersionsResponse (Prelude.Maybe Prelude.Text)+listHostedConfigurationVersionsResponse_nextToken = Lens.lens (\ListHostedConfigurationVersionsResponse' {nextToken} -> nextToken) (\s@ListHostedConfigurationVersionsResponse' {} a -> s {nextToken = a} :: ListHostedConfigurationVersionsResponse)++-- | The response's http status code.+listHostedConfigurationVersionsResponse_httpStatus :: Lens.Lens' ListHostedConfigurationVersionsResponse Prelude.Int+listHostedConfigurationVersionsResponse_httpStatus = Lens.lens (\ListHostedConfigurationVersionsResponse' {httpStatus} -> httpStatus) (\s@ListHostedConfigurationVersionsResponse' {} a -> s {httpStatus = a} :: ListHostedConfigurationVersionsResponse)++instance+ Prelude.NFData+ ListHostedConfigurationVersionsResponse+ where+ rnf ListHostedConfigurationVersionsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppConfig/ListTagsForResource.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the list of key-value tags assigned to the resource.+module Amazonka.AppConfig.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The resource ARN.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The resource ARN.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The resource ARN.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath ListTagsForResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | Metadata to assign to AppConfig resources. Tags help organize and+ -- categorize your AppConfig resources. Each tag consists of a key and an+ -- optional value, both of which you define.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - Metadata to assign to AppConfig resources. Tags help organize and+-- categorize your AppConfig resources. Each tag consists of a key and an+-- optional value, both of which you define.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Metadata to assign to AppConfig resources. Tags help organize and+-- categorize your AppConfig resources. Each tag consists of a key and an+-- optional value, both of which you define.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AppConfig/StartDeployment.hs view
@@ -0,0 +1,247 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.StartDeployment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts a deployment.+module Amazonka.AppConfig.StartDeployment+ ( -- * Creating a Request+ StartDeployment (..),+ newStartDeployment,++ -- * Request Lenses+ startDeployment_description,+ startDeployment_tags,+ startDeployment_applicationId,+ startDeployment_environmentId,+ startDeployment_deploymentStrategyId,+ startDeployment_configurationProfileId,+ startDeployment_configurationVersion,++ -- * Destructuring the Response+ Deployment (..),+ newDeployment,++ -- * Response Lenses+ deployment_applicationId,+ deployment_appliedExtensions,+ deployment_completedAt,+ deployment_configurationLocationUri,+ deployment_configurationName,+ deployment_configurationProfileId,+ deployment_configurationVersion,+ deployment_deploymentDurationInMinutes,+ deployment_deploymentNumber,+ deployment_deploymentStrategyId,+ deployment_description,+ deployment_environmentId,+ deployment_eventLog,+ deployment_finalBakeTimeInMinutes,+ deployment_growthFactor,+ deployment_growthType,+ deployment_percentageComplete,+ deployment_startedAt,+ deployment_state,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartDeployment' smart constructor.+data StartDeployment = StartDeployment'+ { -- | A description of the deployment.+ description :: Prelude.Maybe Prelude.Text,+ -- | Metadata to assign to the deployment. Tags help organize and categorize+ -- your AppConfig resources. Each tag consists of a key and an optional+ -- value, both of which you define.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The application ID.+ applicationId :: Prelude.Text,+ -- | The environment ID.+ environmentId :: Prelude.Text,+ -- | The deployment strategy ID.+ deploymentStrategyId :: Prelude.Text,+ -- | The configuration profile ID.+ configurationProfileId :: Prelude.Text,+ -- | The configuration version to deploy.+ configurationVersion :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartDeployment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'startDeployment_description' - A description of the deployment.+--+-- 'tags', 'startDeployment_tags' - Metadata to assign to the deployment. Tags help organize and categorize+-- your AppConfig resources. Each tag consists of a key and an optional+-- value, both of which you define.+--+-- 'applicationId', 'startDeployment_applicationId' - The application ID.+--+-- 'environmentId', 'startDeployment_environmentId' - The environment ID.+--+-- 'deploymentStrategyId', 'startDeployment_deploymentStrategyId' - The deployment strategy ID.+--+-- 'configurationProfileId', 'startDeployment_configurationProfileId' - The configuration profile ID.+--+-- 'configurationVersion', 'startDeployment_configurationVersion' - The configuration version to deploy.+newStartDeployment ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'environmentId'+ Prelude.Text ->+ -- | 'deploymentStrategyId'+ Prelude.Text ->+ -- | 'configurationProfileId'+ Prelude.Text ->+ -- | 'configurationVersion'+ Prelude.Text ->+ StartDeployment+newStartDeployment+ pApplicationId_+ pEnvironmentId_+ pDeploymentStrategyId_+ pConfigurationProfileId_+ pConfigurationVersion_ =+ StartDeployment'+ { description = Prelude.Nothing,+ tags = Prelude.Nothing,+ applicationId = pApplicationId_,+ environmentId = pEnvironmentId_,+ deploymentStrategyId = pDeploymentStrategyId_,+ configurationProfileId = pConfigurationProfileId_,+ configurationVersion = pConfigurationVersion_+ }++-- | A description of the deployment.+startDeployment_description :: Lens.Lens' StartDeployment (Prelude.Maybe Prelude.Text)+startDeployment_description = Lens.lens (\StartDeployment' {description} -> description) (\s@StartDeployment' {} a -> s {description = a} :: StartDeployment)++-- | Metadata to assign to the deployment. Tags help organize and categorize+-- your AppConfig resources. Each tag consists of a key and an optional+-- value, both of which you define.+startDeployment_tags :: Lens.Lens' StartDeployment (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+startDeployment_tags = Lens.lens (\StartDeployment' {tags} -> tags) (\s@StartDeployment' {} a -> s {tags = a} :: StartDeployment) Prelude.. Lens.mapping Lens.coerced++-- | The application ID.+startDeployment_applicationId :: Lens.Lens' StartDeployment Prelude.Text+startDeployment_applicationId = Lens.lens (\StartDeployment' {applicationId} -> applicationId) (\s@StartDeployment' {} a -> s {applicationId = a} :: StartDeployment)++-- | The environment ID.+startDeployment_environmentId :: Lens.Lens' StartDeployment Prelude.Text+startDeployment_environmentId = Lens.lens (\StartDeployment' {environmentId} -> environmentId) (\s@StartDeployment' {} a -> s {environmentId = a} :: StartDeployment)++-- | The deployment strategy ID.+startDeployment_deploymentStrategyId :: Lens.Lens' StartDeployment Prelude.Text+startDeployment_deploymentStrategyId = Lens.lens (\StartDeployment' {deploymentStrategyId} -> deploymentStrategyId) (\s@StartDeployment' {} a -> s {deploymentStrategyId = a} :: StartDeployment)++-- | The configuration profile ID.+startDeployment_configurationProfileId :: Lens.Lens' StartDeployment Prelude.Text+startDeployment_configurationProfileId = Lens.lens (\StartDeployment' {configurationProfileId} -> configurationProfileId) (\s@StartDeployment' {} a -> s {configurationProfileId = a} :: StartDeployment)++-- | The configuration version to deploy.+startDeployment_configurationVersion :: Lens.Lens' StartDeployment Prelude.Text+startDeployment_configurationVersion = Lens.lens (\StartDeployment' {configurationVersion} -> configurationVersion) (\s@StartDeployment' {} a -> s {configurationVersion = a} :: StartDeployment)++instance Core.AWSRequest StartDeployment where+ type AWSResponse StartDeployment = Deployment+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable StartDeployment where+ hashWithSalt _salt StartDeployment' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` environmentId+ `Prelude.hashWithSalt` deploymentStrategyId+ `Prelude.hashWithSalt` configurationProfileId+ `Prelude.hashWithSalt` configurationVersion++instance Prelude.NFData StartDeployment where+ rnf StartDeployment' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf environmentId+ `Prelude.seq` Prelude.rnf deploymentStrategyId+ `Prelude.seq` Prelude.rnf configurationProfileId+ `Prelude.seq` Prelude.rnf configurationVersion++instance Data.ToHeaders StartDeployment where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StartDeployment where+ toJSON StartDeployment' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ( "DeploymentStrategyId"+ Data..= deploymentStrategyId+ ),+ Prelude.Just+ ( "ConfigurationProfileId"+ Data..= configurationProfileId+ ),+ Prelude.Just+ ( "ConfigurationVersion"+ Data..= configurationVersion+ )+ ]+ )++instance Data.ToPath StartDeployment where+ toPath StartDeployment' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/environments/",+ Data.toBS environmentId,+ "/deployments"+ ]++instance Data.ToQuery StartDeployment where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/StopDeployment.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.StopDeployment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops a deployment. This API action works only on deployments that have+-- a status of @DEPLOYING@. This action moves the deployment to a status of+-- @ROLLED_BACK@.+module Amazonka.AppConfig.StopDeployment+ ( -- * Creating a Request+ StopDeployment (..),+ newStopDeployment,++ -- * Request Lenses+ stopDeployment_applicationId,+ stopDeployment_environmentId,+ stopDeployment_deploymentNumber,++ -- * Destructuring the Response+ Deployment (..),+ newDeployment,++ -- * Response Lenses+ deployment_applicationId,+ deployment_appliedExtensions,+ deployment_completedAt,+ deployment_configurationLocationUri,+ deployment_configurationName,+ deployment_configurationProfileId,+ deployment_configurationVersion,+ deployment_deploymentDurationInMinutes,+ deployment_deploymentNumber,+ deployment_deploymentStrategyId,+ deployment_description,+ deployment_environmentId,+ deployment_eventLog,+ deployment_finalBakeTimeInMinutes,+ deployment_growthFactor,+ deployment_growthType,+ deployment_percentageComplete,+ deployment_startedAt,+ deployment_state,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopDeployment' smart constructor.+data StopDeployment = StopDeployment'+ { -- | The application ID.+ applicationId :: Prelude.Text,+ -- | The environment ID.+ environmentId :: Prelude.Text,+ -- | The sequence number of the deployment.+ deploymentNumber :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopDeployment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'stopDeployment_applicationId' - The application ID.+--+-- 'environmentId', 'stopDeployment_environmentId' - The environment ID.+--+-- 'deploymentNumber', 'stopDeployment_deploymentNumber' - The sequence number of the deployment.+newStopDeployment ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'environmentId'+ Prelude.Text ->+ -- | 'deploymentNumber'+ Prelude.Int ->+ StopDeployment+newStopDeployment+ pApplicationId_+ pEnvironmentId_+ pDeploymentNumber_ =+ StopDeployment'+ { applicationId = pApplicationId_,+ environmentId = pEnvironmentId_,+ deploymentNumber = pDeploymentNumber_+ }++-- | The application ID.+stopDeployment_applicationId :: Lens.Lens' StopDeployment Prelude.Text+stopDeployment_applicationId = Lens.lens (\StopDeployment' {applicationId} -> applicationId) (\s@StopDeployment' {} a -> s {applicationId = a} :: StopDeployment)++-- | The environment ID.+stopDeployment_environmentId :: Lens.Lens' StopDeployment Prelude.Text+stopDeployment_environmentId = Lens.lens (\StopDeployment' {environmentId} -> environmentId) (\s@StopDeployment' {} a -> s {environmentId = a} :: StopDeployment)++-- | The sequence number of the deployment.+stopDeployment_deploymentNumber :: Lens.Lens' StopDeployment Prelude.Int+stopDeployment_deploymentNumber = Lens.lens (\StopDeployment' {deploymentNumber} -> deploymentNumber) (\s@StopDeployment' {} a -> s {deploymentNumber = a} :: StopDeployment)++instance Core.AWSRequest StopDeployment where+ type AWSResponse StopDeployment = Deployment+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable StopDeployment where+ hashWithSalt _salt StopDeployment' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` environmentId+ `Prelude.hashWithSalt` deploymentNumber++instance Prelude.NFData StopDeployment where+ rnf StopDeployment' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf environmentId+ `Prelude.seq` Prelude.rnf deploymentNumber++instance Data.ToHeaders StopDeployment where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath StopDeployment where+ toPath StopDeployment' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/environments/",+ Data.toBS environmentId,+ "/deployments/",+ Data.toBS deploymentNumber+ ]++instance Data.ToQuery StopDeployment where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/TagResource.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Assigns metadata to an AppConfig resource. Tags help organize and+-- categorize your AppConfig resources. Each tag consists of a key and an+-- optional value, both of which you define. You can specify a maximum of+-- 50 tags for a resource.+module Amazonka.AppConfig.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The ARN of the resource for which to retrieve tags.+ resourceArn :: Prelude.Text,+ -- | The key-value string map. The valid character set is [a-zA-Z+-=._:\/].+ -- The tag key can be up to 128 characters and must not start with @aws:@.+ -- The tag value can be up to 256 characters.+ tags :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The ARN of the resource for which to retrieve tags.+--+-- 'tags', 'tagResource_tags' - The key-value string map. The valid character set is [a-zA-Z+-=._:\/].+-- The tag key can be up to 128 characters and must not start with @aws:@.+-- The tag value can be up to 256 characters.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The ARN of the resource for which to retrieve tags.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The key-value string map. The valid character set is [a-zA-Z+-=._:\/].+-- The tag key can be up to 128 characters and must not start with @aws:@.+-- The tag value can be up to 256 characters.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response = Response.receiveNull TagResourceResponse'++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Tags" Data..= tags)]+ )++instance Data.ToPath TagResource where+ toPath TagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newTagResourceResponse ::+ TagResourceResponse+newTagResourceResponse = TagResourceResponse'++instance Prelude.NFData TagResourceResponse where+ rnf _ = ()
+ gen/Amazonka/AppConfig/Types.hs view
@@ -0,0 +1,406 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _BadRequestException,+ _ConflictException,+ _InternalServerException,+ _PayloadTooLargeException,+ _ResourceNotFoundException,+ _ServiceQuotaExceededException,++ -- * ActionPoint+ ActionPoint (..),++ -- * DeploymentEventType+ DeploymentEventType (..),++ -- * DeploymentState+ DeploymentState (..),++ -- * EnvironmentState+ EnvironmentState (..),++ -- * GrowthType+ GrowthType (..),++ -- * ReplicateTo+ ReplicateTo (..),++ -- * TriggeredBy+ TriggeredBy (..),++ -- * ValidatorType+ ValidatorType (..),++ -- * Action+ Action (..),+ newAction,+ action_description,+ action_name,+ action_roleArn,+ action_uri,++ -- * ActionInvocation+ ActionInvocation (..),+ newActionInvocation,+ actionInvocation_actionName,+ actionInvocation_errorCode,+ actionInvocation_errorMessage,+ actionInvocation_extensionIdentifier,+ actionInvocation_invocationId,+ actionInvocation_roleArn,+ actionInvocation_uri,++ -- * Application+ Application (..),+ newApplication,+ application_description,+ application_id,+ application_name,++ -- * AppliedExtension+ AppliedExtension (..),+ newAppliedExtension,+ appliedExtension_extensionAssociationId,+ appliedExtension_extensionId,+ appliedExtension_parameters,+ appliedExtension_versionNumber,++ -- * ConfigurationProfile+ ConfigurationProfile (..),+ newConfigurationProfile,+ configurationProfile_applicationId,+ configurationProfile_description,+ configurationProfile_id,+ configurationProfile_locationUri,+ configurationProfile_name,+ configurationProfile_retrievalRoleArn,+ configurationProfile_type,+ configurationProfile_validators,++ -- * ConfigurationProfileSummary+ ConfigurationProfileSummary (..),+ newConfigurationProfileSummary,+ configurationProfileSummary_applicationId,+ configurationProfileSummary_id,+ configurationProfileSummary_locationUri,+ configurationProfileSummary_name,+ configurationProfileSummary_type,+ configurationProfileSummary_validatorTypes,++ -- * Deployment+ Deployment (..),+ newDeployment,+ deployment_applicationId,+ deployment_appliedExtensions,+ deployment_completedAt,+ deployment_configurationLocationUri,+ deployment_configurationName,+ deployment_configurationProfileId,+ deployment_configurationVersion,+ deployment_deploymentDurationInMinutes,+ deployment_deploymentNumber,+ deployment_deploymentStrategyId,+ deployment_description,+ deployment_environmentId,+ deployment_eventLog,+ deployment_finalBakeTimeInMinutes,+ deployment_growthFactor,+ deployment_growthType,+ deployment_percentageComplete,+ deployment_startedAt,+ deployment_state,++ -- * DeploymentEvent+ DeploymentEvent (..),+ newDeploymentEvent,+ deploymentEvent_actionInvocations,+ deploymentEvent_description,+ deploymentEvent_eventType,+ deploymentEvent_occurredAt,+ deploymentEvent_triggeredBy,++ -- * DeploymentStrategy+ DeploymentStrategy (..),+ newDeploymentStrategy,+ deploymentStrategy_deploymentDurationInMinutes,+ deploymentStrategy_description,+ deploymentStrategy_finalBakeTimeInMinutes,+ deploymentStrategy_growthFactor,+ deploymentStrategy_growthType,+ deploymentStrategy_id,+ deploymentStrategy_name,+ deploymentStrategy_replicateTo,++ -- * DeploymentSummary+ DeploymentSummary (..),+ newDeploymentSummary,+ deploymentSummary_completedAt,+ deploymentSummary_configurationName,+ deploymentSummary_configurationVersion,+ deploymentSummary_deploymentDurationInMinutes,+ deploymentSummary_deploymentNumber,+ deploymentSummary_finalBakeTimeInMinutes,+ deploymentSummary_growthFactor,+ deploymentSummary_growthType,+ deploymentSummary_percentageComplete,+ deploymentSummary_startedAt,+ deploymentSummary_state,++ -- * Environment+ Environment (..),+ newEnvironment,+ environment_applicationId,+ environment_description,+ environment_id,+ environment_monitors,+ environment_name,+ environment_state,++ -- * Extension+ Extension (..),+ newExtension,+ extension_actions,+ extension_arn,+ extension_description,+ extension_id,+ extension_name,+ extension_parameters,+ extension_versionNumber,++ -- * ExtensionAssociation+ ExtensionAssociation (..),+ newExtensionAssociation,+ extensionAssociation_arn,+ extensionAssociation_extensionArn,+ extensionAssociation_extensionVersionNumber,+ extensionAssociation_id,+ extensionAssociation_parameters,+ extensionAssociation_resourceArn,++ -- * ExtensionAssociationSummary+ ExtensionAssociationSummary (..),+ newExtensionAssociationSummary,+ extensionAssociationSummary_extensionArn,+ extensionAssociationSummary_id,+ extensionAssociationSummary_resourceArn,++ -- * ExtensionSummary+ ExtensionSummary (..),+ newExtensionSummary,+ extensionSummary_arn,+ extensionSummary_description,+ extensionSummary_id,+ extensionSummary_name,+ extensionSummary_versionNumber,++ -- * HostedConfigurationVersion+ HostedConfigurationVersion (..),+ newHostedConfigurationVersion,+ hostedConfigurationVersion_applicationId,+ hostedConfigurationVersion_configurationProfileId,+ hostedConfigurationVersion_content,+ hostedConfigurationVersion_contentType,+ hostedConfigurationVersion_description,+ hostedConfigurationVersion_versionNumber,++ -- * HostedConfigurationVersionSummary+ HostedConfigurationVersionSummary (..),+ newHostedConfigurationVersionSummary,+ hostedConfigurationVersionSummary_applicationId,+ hostedConfigurationVersionSummary_configurationProfileId,+ hostedConfigurationVersionSummary_contentType,+ hostedConfigurationVersionSummary_description,+ hostedConfigurationVersionSummary_versionNumber,++ -- * Monitor+ Monitor (..),+ newMonitor,+ monitor_alarmRoleArn,+ monitor_alarmArn,++ -- * Parameter+ Parameter (..),+ newParameter,+ parameter_description,+ parameter_required,++ -- * Validator+ Validator (..),+ newValidator,+ validator_type,+ validator_content,+ )+where++import Amazonka.AppConfig.Types.Action+import Amazonka.AppConfig.Types.ActionInvocation+import Amazonka.AppConfig.Types.ActionPoint+import Amazonka.AppConfig.Types.Application+import Amazonka.AppConfig.Types.AppliedExtension+import Amazonka.AppConfig.Types.ConfigurationProfile+import Amazonka.AppConfig.Types.ConfigurationProfileSummary+import Amazonka.AppConfig.Types.Deployment+import Amazonka.AppConfig.Types.DeploymentEvent+import Amazonka.AppConfig.Types.DeploymentEventType+import Amazonka.AppConfig.Types.DeploymentState+import Amazonka.AppConfig.Types.DeploymentStrategy+import Amazonka.AppConfig.Types.DeploymentSummary+import Amazonka.AppConfig.Types.Environment+import Amazonka.AppConfig.Types.EnvironmentState+import Amazonka.AppConfig.Types.Extension+import Amazonka.AppConfig.Types.ExtensionAssociation+import Amazonka.AppConfig.Types.ExtensionAssociationSummary+import Amazonka.AppConfig.Types.ExtensionSummary+import Amazonka.AppConfig.Types.GrowthType+import Amazonka.AppConfig.Types.HostedConfigurationVersion+import Amazonka.AppConfig.Types.HostedConfigurationVersionSummary+import Amazonka.AppConfig.Types.Monitor+import Amazonka.AppConfig.Types.Parameter+import Amazonka.AppConfig.Types.ReplicateTo+import Amazonka.AppConfig.Types.TriggeredBy+import Amazonka.AppConfig.Types.Validator+import Amazonka.AppConfig.Types.ValidatorType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2019-10-09@ of the Amazon AppConfig SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "AppConfig",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "appconfig",+ Core.signingName = "appconfig",+ Core.version = "2019-10-09",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "AppConfig",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | The input fails to satisfy the constraints specified by an Amazon Web+-- Services service.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+ Core._MatchServiceError+ defaultService+ "BadRequestException"+ Prelude.. Core.hasStatus 400++-- | The request could not be processed because of conflict in the current+-- state of the resource.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | There was an internal failure in the AppConfig service.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"+ Prelude.. Core.hasStatus 500++-- | The configuration size is too large.+_PayloadTooLargeException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_PayloadTooLargeException =+ Core._MatchServiceError+ defaultService+ "PayloadTooLargeException"+ Prelude.. Core.hasStatus 413++-- | The requested resource could not be found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | The number of hosted configuration versions exceeds the limit for the+-- AppConfig hosted configuration store. Delete one or more versions and+-- try again.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"+ Prelude.. Core.hasStatus 402
+ gen/Amazonka/AppConfig/Types/Action.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.Action+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.Action where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An action defines the tasks the extension performs during the AppConfig+-- workflow. Each action includes an action point such as+-- @ON_CREATE_HOSTED_CONFIGURATION@, @PRE_DEPLOYMENT@, or @ON_DEPLOYMENT@.+-- Each action also includes a name, a URI to an Lambda function, and an+-- Amazon Resource Name (ARN) for an Identity and Access Management assume+-- role. You specify the name, URI, and ARN for each /action point/ defined+-- in the extension. You can specify the following actions for an+-- extension:+--+-- - @PRE_CREATE_HOSTED_CONFIGURATION_VERSION@+--+-- - @PRE_START_DEPLOYMENT@+--+-- - @ON_DEPLOYMENT_START@+--+-- - @ON_DEPLOYMENT_STEP@+--+-- - @ON_DEPLOYMENT_BAKING@+--+-- - @ON_DEPLOYMENT_COMPLETE@+--+-- - @ON_DEPLOYMENT_ROLLED_BACK@+--+-- /See:/ 'newAction' smart constructor.+data Action = Action'+ { -- | Information about the action.+ description :: Prelude.Maybe Prelude.Text,+ -- | The action name.+ name :: Prelude.Maybe Prelude.Text,+ -- | An Amazon Resource Name (ARN) for an Identity and Access Management+ -- assume role.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The extension URI associated to the action point in the extension+ -- definition. The URI can be an Amazon Resource Name (ARN) for one of the+ -- following: an Lambda function, an Amazon Simple Queue Service queue, an+ -- Amazon Simple Notification Service topic, or the Amazon EventBridge+ -- default event bus.+ uri :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Action' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'action_description' - Information about the action.+--+-- 'name', 'action_name' - The action name.+--+-- 'roleArn', 'action_roleArn' - An Amazon Resource Name (ARN) for an Identity and Access Management+-- assume role.+--+-- 'uri', 'action_uri' - The extension URI associated to the action point in the extension+-- definition. The URI can be an Amazon Resource Name (ARN) for one of the+-- following: an Lambda function, an Amazon Simple Queue Service queue, an+-- Amazon Simple Notification Service topic, or the Amazon EventBridge+-- default event bus.+newAction ::+ Action+newAction =+ Action'+ { description = Prelude.Nothing,+ name = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ uri = Prelude.Nothing+ }++-- | Information about the action.+action_description :: Lens.Lens' Action (Prelude.Maybe Prelude.Text)+action_description = Lens.lens (\Action' {description} -> description) (\s@Action' {} a -> s {description = a} :: Action)++-- | The action name.+action_name :: Lens.Lens' Action (Prelude.Maybe Prelude.Text)+action_name = Lens.lens (\Action' {name} -> name) (\s@Action' {} a -> s {name = a} :: Action)++-- | An Amazon Resource Name (ARN) for an Identity and Access Management+-- assume role.+action_roleArn :: Lens.Lens' Action (Prelude.Maybe Prelude.Text)+action_roleArn = Lens.lens (\Action' {roleArn} -> roleArn) (\s@Action' {} a -> s {roleArn = a} :: Action)++-- | The extension URI associated to the action point in the extension+-- definition. The URI can be an Amazon Resource Name (ARN) for one of the+-- following: an Lambda function, an Amazon Simple Queue Service queue, an+-- Amazon Simple Notification Service topic, or the Amazon EventBridge+-- default event bus.+action_uri :: Lens.Lens' Action (Prelude.Maybe Prelude.Text)+action_uri = Lens.lens (\Action' {uri} -> uri) (\s@Action' {} a -> s {uri = a} :: Action)++instance Data.FromJSON Action where+ parseJSON =+ Data.withObject+ "Action"+ ( \x ->+ Action'+ Prelude.<$> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "RoleArn")+ Prelude.<*> (x Data..:? "Uri")+ )++instance Prelude.Hashable Action where+ hashWithSalt _salt Action' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` uri++instance Prelude.NFData Action where+ rnf Action' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf uri++instance Data.ToJSON Action where+ toJSON Action' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("Name" Data..=) Prelude.<$> name,+ ("RoleArn" Data..=) Prelude.<$> roleArn,+ ("Uri" Data..=) Prelude.<$> uri+ ]+ )
+ gen/Amazonka/AppConfig/Types/ActionInvocation.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.ActionInvocation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.ActionInvocation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An extension that was invoked as part of a deployment event.+--+-- /See:/ 'newActionInvocation' smart constructor.+data ActionInvocation = ActionInvocation'+ { -- | The name of the action.+ actionName :: Prelude.Maybe Prelude.Text,+ -- | The error code when an extension invocation fails.+ errorCode :: Prelude.Maybe Prelude.Text,+ -- | The error message when an extension invocation fails.+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | The name, the ID, or the Amazon Resource Name (ARN) of the extension.+ extensionIdentifier :: Prelude.Maybe Prelude.Text,+ -- | A system-generated ID for this invocation.+ invocationId :: Prelude.Maybe Prelude.Text,+ -- | An Amazon Resource Name (ARN) for an Identity and Access Management+ -- assume role.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The extension URI associated to the action point in the extension+ -- definition. The URI can be an Amazon Resource Name (ARN) for one of the+ -- following: an Lambda function, an Amazon Simple Queue Service queue, an+ -- Amazon Simple Notification Service topic, or the Amazon EventBridge+ -- default event bus.+ uri :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActionInvocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actionName', 'actionInvocation_actionName' - The name of the action.+--+-- 'errorCode', 'actionInvocation_errorCode' - The error code when an extension invocation fails.+--+-- 'errorMessage', 'actionInvocation_errorMessage' - The error message when an extension invocation fails.+--+-- 'extensionIdentifier', 'actionInvocation_extensionIdentifier' - The name, the ID, or the Amazon Resource Name (ARN) of the extension.+--+-- 'invocationId', 'actionInvocation_invocationId' - A system-generated ID for this invocation.+--+-- 'roleArn', 'actionInvocation_roleArn' - An Amazon Resource Name (ARN) for an Identity and Access Management+-- assume role.+--+-- 'uri', 'actionInvocation_uri' - The extension URI associated to the action point in the extension+-- definition. The URI can be an Amazon Resource Name (ARN) for one of the+-- following: an Lambda function, an Amazon Simple Queue Service queue, an+-- Amazon Simple Notification Service topic, or the Amazon EventBridge+-- default event bus.+newActionInvocation ::+ ActionInvocation+newActionInvocation =+ ActionInvocation'+ { actionName = Prelude.Nothing,+ errorCode = Prelude.Nothing,+ errorMessage = Prelude.Nothing,+ extensionIdentifier = Prelude.Nothing,+ invocationId = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ uri = Prelude.Nothing+ }++-- | The name of the action.+actionInvocation_actionName :: Lens.Lens' ActionInvocation (Prelude.Maybe Prelude.Text)+actionInvocation_actionName = Lens.lens (\ActionInvocation' {actionName} -> actionName) (\s@ActionInvocation' {} a -> s {actionName = a} :: ActionInvocation)++-- | The error code when an extension invocation fails.+actionInvocation_errorCode :: Lens.Lens' ActionInvocation (Prelude.Maybe Prelude.Text)+actionInvocation_errorCode = Lens.lens (\ActionInvocation' {errorCode} -> errorCode) (\s@ActionInvocation' {} a -> s {errorCode = a} :: ActionInvocation)++-- | The error message when an extension invocation fails.+actionInvocation_errorMessage :: Lens.Lens' ActionInvocation (Prelude.Maybe Prelude.Text)+actionInvocation_errorMessage = Lens.lens (\ActionInvocation' {errorMessage} -> errorMessage) (\s@ActionInvocation' {} a -> s {errorMessage = a} :: ActionInvocation)++-- | The name, the ID, or the Amazon Resource Name (ARN) of the extension.+actionInvocation_extensionIdentifier :: Lens.Lens' ActionInvocation (Prelude.Maybe Prelude.Text)+actionInvocation_extensionIdentifier = Lens.lens (\ActionInvocation' {extensionIdentifier} -> extensionIdentifier) (\s@ActionInvocation' {} a -> s {extensionIdentifier = a} :: ActionInvocation)++-- | A system-generated ID for this invocation.+actionInvocation_invocationId :: Lens.Lens' ActionInvocation (Prelude.Maybe Prelude.Text)+actionInvocation_invocationId = Lens.lens (\ActionInvocation' {invocationId} -> invocationId) (\s@ActionInvocation' {} a -> s {invocationId = a} :: ActionInvocation)++-- | An Amazon Resource Name (ARN) for an Identity and Access Management+-- assume role.+actionInvocation_roleArn :: Lens.Lens' ActionInvocation (Prelude.Maybe Prelude.Text)+actionInvocation_roleArn = Lens.lens (\ActionInvocation' {roleArn} -> roleArn) (\s@ActionInvocation' {} a -> s {roleArn = a} :: ActionInvocation)++-- | The extension URI associated to the action point in the extension+-- definition. The URI can be an Amazon Resource Name (ARN) for one of the+-- following: an Lambda function, an Amazon Simple Queue Service queue, an+-- Amazon Simple Notification Service topic, or the Amazon EventBridge+-- default event bus.+actionInvocation_uri :: Lens.Lens' ActionInvocation (Prelude.Maybe Prelude.Text)+actionInvocation_uri = Lens.lens (\ActionInvocation' {uri} -> uri) (\s@ActionInvocation' {} a -> s {uri = a} :: ActionInvocation)++instance Data.FromJSON ActionInvocation where+ parseJSON =+ Data.withObject+ "ActionInvocation"+ ( \x ->+ ActionInvocation'+ Prelude.<$> (x Data..:? "ActionName")+ Prelude.<*> (x Data..:? "ErrorCode")+ Prelude.<*> (x Data..:? "ErrorMessage")+ Prelude.<*> (x Data..:? "ExtensionIdentifier")+ Prelude.<*> (x Data..:? "InvocationId")+ Prelude.<*> (x Data..:? "RoleArn")+ Prelude.<*> (x Data..:? "Uri")+ )++instance Prelude.Hashable ActionInvocation where+ hashWithSalt _salt ActionInvocation' {..} =+ _salt+ `Prelude.hashWithSalt` actionName+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` extensionIdentifier+ `Prelude.hashWithSalt` invocationId+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` uri++instance Prelude.NFData ActionInvocation where+ rnf ActionInvocation' {..} =+ Prelude.rnf actionName+ `Prelude.seq` Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf extensionIdentifier+ `Prelude.seq` Prelude.rnf invocationId+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf uri
+ gen/Amazonka/AppConfig/Types/ActionPoint.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.ActionPoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.ActionPoint+ ( ActionPoint+ ( ..,+ ActionPoint_ON_DEPLOYMENT_BAKING,+ ActionPoint_ON_DEPLOYMENT_COMPLETE,+ ActionPoint_ON_DEPLOYMENT_ROLLED_BACK,+ ActionPoint_ON_DEPLOYMENT_START,+ ActionPoint_ON_DEPLOYMENT_STEP,+ ActionPoint_PRE_CREATE_HOSTED_CONFIGURATION_VERSION,+ ActionPoint_PRE_START_DEPLOYMENT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ActionPoint = ActionPoint'+ { fromActionPoint ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ActionPoint_ON_DEPLOYMENT_BAKING :: ActionPoint+pattern ActionPoint_ON_DEPLOYMENT_BAKING = ActionPoint' "ON_DEPLOYMENT_BAKING"++pattern ActionPoint_ON_DEPLOYMENT_COMPLETE :: ActionPoint+pattern ActionPoint_ON_DEPLOYMENT_COMPLETE = ActionPoint' "ON_DEPLOYMENT_COMPLETE"++pattern ActionPoint_ON_DEPLOYMENT_ROLLED_BACK :: ActionPoint+pattern ActionPoint_ON_DEPLOYMENT_ROLLED_BACK = ActionPoint' "ON_DEPLOYMENT_ROLLED_BACK"++pattern ActionPoint_ON_DEPLOYMENT_START :: ActionPoint+pattern ActionPoint_ON_DEPLOYMENT_START = ActionPoint' "ON_DEPLOYMENT_START"++pattern ActionPoint_ON_DEPLOYMENT_STEP :: ActionPoint+pattern ActionPoint_ON_DEPLOYMENT_STEP = ActionPoint' "ON_DEPLOYMENT_STEP"++pattern ActionPoint_PRE_CREATE_HOSTED_CONFIGURATION_VERSION :: ActionPoint+pattern ActionPoint_PRE_CREATE_HOSTED_CONFIGURATION_VERSION = ActionPoint' "PRE_CREATE_HOSTED_CONFIGURATION_VERSION"++pattern ActionPoint_PRE_START_DEPLOYMENT :: ActionPoint+pattern ActionPoint_PRE_START_DEPLOYMENT = ActionPoint' "PRE_START_DEPLOYMENT"++{-# COMPLETE+ ActionPoint_ON_DEPLOYMENT_BAKING,+ ActionPoint_ON_DEPLOYMENT_COMPLETE,+ ActionPoint_ON_DEPLOYMENT_ROLLED_BACK,+ ActionPoint_ON_DEPLOYMENT_START,+ ActionPoint_ON_DEPLOYMENT_STEP,+ ActionPoint_PRE_CREATE_HOSTED_CONFIGURATION_VERSION,+ ActionPoint_PRE_START_DEPLOYMENT,+ ActionPoint'+ #-}
+ gen/Amazonka/AppConfig/Types/Application.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.Application+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.Application where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newApplication' smart constructor.+data Application = Application'+ { -- | The description of the application.+ description :: Prelude.Maybe Prelude.Text,+ -- | The application ID.+ id :: Prelude.Maybe Prelude.Text,+ -- | The application name.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Application' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'application_description' - The description of the application.+--+-- 'id', 'application_id' - The application ID.+--+-- 'name', 'application_name' - The application name.+newApplication ::+ Application+newApplication =+ Application'+ { description = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The description of the application.+application_description :: Lens.Lens' Application (Prelude.Maybe Prelude.Text)+application_description = Lens.lens (\Application' {description} -> description) (\s@Application' {} a -> s {description = a} :: Application)++-- | The application ID.+application_id :: Lens.Lens' Application (Prelude.Maybe Prelude.Text)+application_id = Lens.lens (\Application' {id} -> id) (\s@Application' {} a -> s {id = a} :: Application)++-- | The application name.+application_name :: Lens.Lens' Application (Prelude.Maybe Prelude.Text)+application_name = Lens.lens (\Application' {name} -> name) (\s@Application' {} a -> s {name = a} :: Application)++instance Data.FromJSON Application where+ parseJSON =+ Data.withObject+ "Application"+ ( \x ->+ Application'+ Prelude.<$> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Name")+ )++instance Prelude.Hashable Application where+ hashWithSalt _salt Application' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name++instance Prelude.NFData Application where+ rnf Application' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/AppConfig/Types/AppliedExtension.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.AppliedExtension+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.AppliedExtension where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An extension that was invoked during a deployment.+--+-- /See:/ 'newAppliedExtension' smart constructor.+data AppliedExtension = AppliedExtension'+ { -- | The system-generated ID for the association.+ extensionAssociationId :: Prelude.Maybe Prelude.Text,+ -- | The system-generated ID of the extension.+ extensionId :: Prelude.Maybe Prelude.Text,+ -- | One or more parameters for the actions called by the extension.+ parameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The extension version number.+ versionNumber :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppliedExtension' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'extensionAssociationId', 'appliedExtension_extensionAssociationId' - The system-generated ID for the association.+--+-- 'extensionId', 'appliedExtension_extensionId' - The system-generated ID of the extension.+--+-- 'parameters', 'appliedExtension_parameters' - One or more parameters for the actions called by the extension.+--+-- 'versionNumber', 'appliedExtension_versionNumber' - The extension version number.+newAppliedExtension ::+ AppliedExtension+newAppliedExtension =+ AppliedExtension'+ { extensionAssociationId =+ Prelude.Nothing,+ extensionId = Prelude.Nothing,+ parameters = Prelude.Nothing,+ versionNumber = Prelude.Nothing+ }++-- | The system-generated ID for the association.+appliedExtension_extensionAssociationId :: Lens.Lens' AppliedExtension (Prelude.Maybe Prelude.Text)+appliedExtension_extensionAssociationId = Lens.lens (\AppliedExtension' {extensionAssociationId} -> extensionAssociationId) (\s@AppliedExtension' {} a -> s {extensionAssociationId = a} :: AppliedExtension)++-- | The system-generated ID of the extension.+appliedExtension_extensionId :: Lens.Lens' AppliedExtension (Prelude.Maybe Prelude.Text)+appliedExtension_extensionId = Lens.lens (\AppliedExtension' {extensionId} -> extensionId) (\s@AppliedExtension' {} a -> s {extensionId = a} :: AppliedExtension)++-- | One or more parameters for the actions called by the extension.+appliedExtension_parameters :: Lens.Lens' AppliedExtension (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+appliedExtension_parameters = Lens.lens (\AppliedExtension' {parameters} -> parameters) (\s@AppliedExtension' {} a -> s {parameters = a} :: AppliedExtension) Prelude.. Lens.mapping Lens.coerced++-- | The extension version number.+appliedExtension_versionNumber :: Lens.Lens' AppliedExtension (Prelude.Maybe Prelude.Int)+appliedExtension_versionNumber = Lens.lens (\AppliedExtension' {versionNumber} -> versionNumber) (\s@AppliedExtension' {} a -> s {versionNumber = a} :: AppliedExtension)++instance Data.FromJSON AppliedExtension where+ parseJSON =+ Data.withObject+ "AppliedExtension"+ ( \x ->+ AppliedExtension'+ Prelude.<$> (x Data..:? "ExtensionAssociationId")+ Prelude.<*> (x Data..:? "ExtensionId")+ Prelude.<*> (x Data..:? "Parameters" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "VersionNumber")+ )++instance Prelude.Hashable AppliedExtension where+ hashWithSalt _salt AppliedExtension' {..} =+ _salt+ `Prelude.hashWithSalt` extensionAssociationId+ `Prelude.hashWithSalt` extensionId+ `Prelude.hashWithSalt` parameters+ `Prelude.hashWithSalt` versionNumber++instance Prelude.NFData AppliedExtension where+ rnf AppliedExtension' {..} =+ Prelude.rnf extensionAssociationId+ `Prelude.seq` Prelude.rnf extensionId+ `Prelude.seq` Prelude.rnf parameters+ `Prelude.seq` Prelude.rnf versionNumber
+ gen/Amazonka/AppConfig/Types/ConfigurationProfile.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.ConfigurationProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.ConfigurationProfile where++import Amazonka.AppConfig.Types.Validator+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newConfigurationProfile' smart constructor.+data ConfigurationProfile = ConfigurationProfile'+ { -- | The application ID.+ applicationId :: Prelude.Maybe Prelude.Text,+ -- | The configuration profile description.+ description :: Prelude.Maybe Prelude.Text,+ -- | The configuration profile ID.+ id :: Prelude.Maybe Prelude.Text,+ -- | The URI location of the configuration.+ locationUri :: Prelude.Maybe Prelude.Text,+ -- | The name of the configuration profile.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ARN of an IAM role with permission to access the configuration at+ -- the specified @LocationUri@.+ retrievalRoleArn :: Prelude.Maybe Prelude.Text,+ -- | The type of configurations contained in the profile. AppConfig supports+ -- @feature flags@ and @freeform@ configurations. We recommend you create+ -- feature flag configurations to enable or disable new features and+ -- freeform configurations to distribute configurations to an application.+ -- When calling this API, enter one of the following values for @Type@:+ --+ -- @AWS.AppConfig.FeatureFlags@+ --+ -- @AWS.Freeform@+ type' :: Prelude.Maybe Prelude.Text,+ -- | A list of methods for validating the configuration.+ validators :: Prelude.Maybe [Validator]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConfigurationProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'configurationProfile_applicationId' - The application ID.+--+-- 'description', 'configurationProfile_description' - The configuration profile description.+--+-- 'id', 'configurationProfile_id' - The configuration profile ID.+--+-- 'locationUri', 'configurationProfile_locationUri' - The URI location of the configuration.+--+-- 'name', 'configurationProfile_name' - The name of the configuration profile.+--+-- 'retrievalRoleArn', 'configurationProfile_retrievalRoleArn' - The ARN of an IAM role with permission to access the configuration at+-- the specified @LocationUri@.+--+-- 'type'', 'configurationProfile_type' - The type of configurations contained in the profile. AppConfig supports+-- @feature flags@ and @freeform@ configurations. We recommend you create+-- feature flag configurations to enable or disable new features and+-- freeform configurations to distribute configurations to an application.+-- When calling this API, enter one of the following values for @Type@:+--+-- @AWS.AppConfig.FeatureFlags@+--+-- @AWS.Freeform@+--+-- 'validators', 'configurationProfile_validators' - A list of methods for validating the configuration.+newConfigurationProfile ::+ ConfigurationProfile+newConfigurationProfile =+ ConfigurationProfile'+ { applicationId =+ Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ locationUri = Prelude.Nothing,+ name = Prelude.Nothing,+ retrievalRoleArn = Prelude.Nothing,+ type' = Prelude.Nothing,+ validators = Prelude.Nothing+ }++-- | The application ID.+configurationProfile_applicationId :: Lens.Lens' ConfigurationProfile (Prelude.Maybe Prelude.Text)+configurationProfile_applicationId = Lens.lens (\ConfigurationProfile' {applicationId} -> applicationId) (\s@ConfigurationProfile' {} a -> s {applicationId = a} :: ConfigurationProfile)++-- | The configuration profile description.+configurationProfile_description :: Lens.Lens' ConfigurationProfile (Prelude.Maybe Prelude.Text)+configurationProfile_description = Lens.lens (\ConfigurationProfile' {description} -> description) (\s@ConfigurationProfile' {} a -> s {description = a} :: ConfigurationProfile)++-- | The configuration profile ID.+configurationProfile_id :: Lens.Lens' ConfigurationProfile (Prelude.Maybe Prelude.Text)+configurationProfile_id = Lens.lens (\ConfigurationProfile' {id} -> id) (\s@ConfigurationProfile' {} a -> s {id = a} :: ConfigurationProfile)++-- | The URI location of the configuration.+configurationProfile_locationUri :: Lens.Lens' ConfigurationProfile (Prelude.Maybe Prelude.Text)+configurationProfile_locationUri = Lens.lens (\ConfigurationProfile' {locationUri} -> locationUri) (\s@ConfigurationProfile' {} a -> s {locationUri = a} :: ConfigurationProfile)++-- | The name of the configuration profile.+configurationProfile_name :: Lens.Lens' ConfigurationProfile (Prelude.Maybe Prelude.Text)+configurationProfile_name = Lens.lens (\ConfigurationProfile' {name} -> name) (\s@ConfigurationProfile' {} a -> s {name = a} :: ConfigurationProfile)++-- | The ARN of an IAM role with permission to access the configuration at+-- the specified @LocationUri@.+configurationProfile_retrievalRoleArn :: Lens.Lens' ConfigurationProfile (Prelude.Maybe Prelude.Text)+configurationProfile_retrievalRoleArn = Lens.lens (\ConfigurationProfile' {retrievalRoleArn} -> retrievalRoleArn) (\s@ConfigurationProfile' {} a -> s {retrievalRoleArn = a} :: ConfigurationProfile)++-- | The type of configurations contained in the profile. AppConfig supports+-- @feature flags@ and @freeform@ configurations. We recommend you create+-- feature flag configurations to enable or disable new features and+-- freeform configurations to distribute configurations to an application.+-- When calling this API, enter one of the following values for @Type@:+--+-- @AWS.AppConfig.FeatureFlags@+--+-- @AWS.Freeform@+configurationProfile_type :: Lens.Lens' ConfigurationProfile (Prelude.Maybe Prelude.Text)+configurationProfile_type = Lens.lens (\ConfigurationProfile' {type'} -> type') (\s@ConfigurationProfile' {} a -> s {type' = a} :: ConfigurationProfile)++-- | A list of methods for validating the configuration.+configurationProfile_validators :: Lens.Lens' ConfigurationProfile (Prelude.Maybe [Validator])+configurationProfile_validators = Lens.lens (\ConfigurationProfile' {validators} -> validators) (\s@ConfigurationProfile' {} a -> s {validators = a} :: ConfigurationProfile) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ConfigurationProfile where+ parseJSON =+ Data.withObject+ "ConfigurationProfile"+ ( \x ->+ ConfigurationProfile'+ Prelude.<$> (x Data..:? "ApplicationId")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "LocationUri")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "RetrievalRoleArn")+ Prelude.<*> (x Data..:? "Type")+ Prelude.<*> (x Data..:? "Validators" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable ConfigurationProfile where+ hashWithSalt _salt ConfigurationProfile' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` locationUri+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` retrievalRoleArn+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` validators++instance Prelude.NFData ConfigurationProfile where+ rnf ConfigurationProfile' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf locationUri+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf retrievalRoleArn+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf validators
+ gen/Amazonka/AppConfig/Types/ConfigurationProfileSummary.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.ConfigurationProfileSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.ConfigurationProfileSummary where++import Amazonka.AppConfig.Types.ValidatorType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A summary of a configuration profile.+--+-- /See:/ 'newConfigurationProfileSummary' smart constructor.+data ConfigurationProfileSummary = ConfigurationProfileSummary'+ { -- | The application ID.+ applicationId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the configuration profile.+ id :: Prelude.Maybe Prelude.Text,+ -- | The URI location of the configuration.+ locationUri :: Prelude.Maybe Prelude.Text,+ -- | The name of the configuration profile.+ name :: Prelude.Maybe Prelude.Text,+ -- | The type of configurations contained in the profile. AppConfig supports+ -- @feature flags@ and @freeform@ configurations. We recommend you create+ -- feature flag configurations to enable or disable new features and+ -- freeform configurations to distribute configurations to an application.+ -- When calling this API, enter one of the following values for @Type@:+ --+ -- @AWS.AppConfig.FeatureFlags@+ --+ -- @AWS.Freeform@+ type' :: Prelude.Maybe Prelude.Text,+ -- | The types of validators in the configuration profile.+ validatorTypes :: Prelude.Maybe [ValidatorType]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConfigurationProfileSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'configurationProfileSummary_applicationId' - The application ID.+--+-- 'id', 'configurationProfileSummary_id' - The ID of the configuration profile.+--+-- 'locationUri', 'configurationProfileSummary_locationUri' - The URI location of the configuration.+--+-- 'name', 'configurationProfileSummary_name' - The name of the configuration profile.+--+-- 'type'', 'configurationProfileSummary_type' - The type of configurations contained in the profile. AppConfig supports+-- @feature flags@ and @freeform@ configurations. We recommend you create+-- feature flag configurations to enable or disable new features and+-- freeform configurations to distribute configurations to an application.+-- When calling this API, enter one of the following values for @Type@:+--+-- @AWS.AppConfig.FeatureFlags@+--+-- @AWS.Freeform@+--+-- 'validatorTypes', 'configurationProfileSummary_validatorTypes' - The types of validators in the configuration profile.+newConfigurationProfileSummary ::+ ConfigurationProfileSummary+newConfigurationProfileSummary =+ ConfigurationProfileSummary'+ { applicationId =+ Prelude.Nothing,+ id = Prelude.Nothing,+ locationUri = Prelude.Nothing,+ name = Prelude.Nothing,+ type' = Prelude.Nothing,+ validatorTypes = Prelude.Nothing+ }++-- | The application ID.+configurationProfileSummary_applicationId :: Lens.Lens' ConfigurationProfileSummary (Prelude.Maybe Prelude.Text)+configurationProfileSummary_applicationId = Lens.lens (\ConfigurationProfileSummary' {applicationId} -> applicationId) (\s@ConfigurationProfileSummary' {} a -> s {applicationId = a} :: ConfigurationProfileSummary)++-- | The ID of the configuration profile.+configurationProfileSummary_id :: Lens.Lens' ConfigurationProfileSummary (Prelude.Maybe Prelude.Text)+configurationProfileSummary_id = Lens.lens (\ConfigurationProfileSummary' {id} -> id) (\s@ConfigurationProfileSummary' {} a -> s {id = a} :: ConfigurationProfileSummary)++-- | The URI location of the configuration.+configurationProfileSummary_locationUri :: Lens.Lens' ConfigurationProfileSummary (Prelude.Maybe Prelude.Text)+configurationProfileSummary_locationUri = Lens.lens (\ConfigurationProfileSummary' {locationUri} -> locationUri) (\s@ConfigurationProfileSummary' {} a -> s {locationUri = a} :: ConfigurationProfileSummary)++-- | The name of the configuration profile.+configurationProfileSummary_name :: Lens.Lens' ConfigurationProfileSummary (Prelude.Maybe Prelude.Text)+configurationProfileSummary_name = Lens.lens (\ConfigurationProfileSummary' {name} -> name) (\s@ConfigurationProfileSummary' {} a -> s {name = a} :: ConfigurationProfileSummary)++-- | The type of configurations contained in the profile. AppConfig supports+-- @feature flags@ and @freeform@ configurations. We recommend you create+-- feature flag configurations to enable or disable new features and+-- freeform configurations to distribute configurations to an application.+-- When calling this API, enter one of the following values for @Type@:+--+-- @AWS.AppConfig.FeatureFlags@+--+-- @AWS.Freeform@+configurationProfileSummary_type :: Lens.Lens' ConfigurationProfileSummary (Prelude.Maybe Prelude.Text)+configurationProfileSummary_type = Lens.lens (\ConfigurationProfileSummary' {type'} -> type') (\s@ConfigurationProfileSummary' {} a -> s {type' = a} :: ConfigurationProfileSummary)++-- | The types of validators in the configuration profile.+configurationProfileSummary_validatorTypes :: Lens.Lens' ConfigurationProfileSummary (Prelude.Maybe [ValidatorType])+configurationProfileSummary_validatorTypes = Lens.lens (\ConfigurationProfileSummary' {validatorTypes} -> validatorTypes) (\s@ConfigurationProfileSummary' {} a -> s {validatorTypes = a} :: ConfigurationProfileSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ConfigurationProfileSummary where+ parseJSON =+ Data.withObject+ "ConfigurationProfileSummary"+ ( \x ->+ ConfigurationProfileSummary'+ Prelude.<$> (x Data..:? "ApplicationId")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "LocationUri")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Type")+ Prelude.<*> ( x+ Data..:? "ValidatorTypes"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable ConfigurationProfileSummary where+ hashWithSalt _salt ConfigurationProfileSummary' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` locationUri+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` validatorTypes++instance Prelude.NFData ConfigurationProfileSummary where+ rnf ConfigurationProfileSummary' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf locationUri+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf validatorTypes
+ gen/Amazonka/AppConfig/Types/Deployment.hs view
@@ -0,0 +1,311 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.Deployment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.Deployment where++import Amazonka.AppConfig.Types.AppliedExtension+import Amazonka.AppConfig.Types.DeploymentEvent+import Amazonka.AppConfig.Types.DeploymentState+import Amazonka.AppConfig.Types.GrowthType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newDeployment' smart constructor.+data Deployment = Deployment'+ { -- | The ID of the application that was deployed.+ applicationId :: Prelude.Maybe Prelude.Text,+ -- | A list of extensions that were processed as part of the deployment. The+ -- extensions that were previously associated to the configuration profile,+ -- environment, or the application when @StartDeployment@ was called.+ appliedExtensions :: Prelude.Maybe [AppliedExtension],+ -- | The time the deployment completed.+ completedAt :: Prelude.Maybe Data.ISO8601,+ -- | Information about the source location of the configuration.+ configurationLocationUri :: Prelude.Maybe Prelude.Text,+ -- | The name of the configuration.+ configurationName :: Prelude.Maybe Prelude.Text,+ -- | The ID of the configuration profile that was deployed.+ configurationProfileId :: Prelude.Maybe Prelude.Text,+ -- | The configuration version that was deployed.+ configurationVersion :: Prelude.Maybe Prelude.Text,+ -- | Total amount of time the deployment lasted.+ deploymentDurationInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | The sequence number of the deployment.+ deploymentNumber :: Prelude.Maybe Prelude.Int,+ -- | The ID of the deployment strategy that was deployed.+ deploymentStrategyId :: Prelude.Maybe Prelude.Text,+ -- | The description of the deployment.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ID of the environment that was deployed.+ environmentId :: Prelude.Maybe Prelude.Text,+ -- | A list containing all events related to a deployment. The most recent+ -- events are displayed first.+ eventLog :: Prelude.Maybe [DeploymentEvent],+ -- | The amount of time that AppConfig monitored for alarms before+ -- considering the deployment to be complete and no longer eligible for+ -- automatic rollback.+ finalBakeTimeInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | The percentage of targets to receive a deployed configuration during+ -- each interval.+ growthFactor :: Prelude.Maybe Prelude.Double,+ -- | The algorithm used to define how percentage grew over time.+ growthType :: Prelude.Maybe GrowthType,+ -- | The percentage of targets for which the deployment is available.+ percentageComplete :: Prelude.Maybe Prelude.Double,+ -- | The time the deployment started.+ startedAt :: Prelude.Maybe Data.ISO8601,+ -- | The state of the deployment.+ state :: Prelude.Maybe DeploymentState+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Deployment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'deployment_applicationId' - The ID of the application that was deployed.+--+-- 'appliedExtensions', 'deployment_appliedExtensions' - A list of extensions that were processed as part of the deployment. The+-- extensions that were previously associated to the configuration profile,+-- environment, or the application when @StartDeployment@ was called.+--+-- 'completedAt', 'deployment_completedAt' - The time the deployment completed.+--+-- 'configurationLocationUri', 'deployment_configurationLocationUri' - Information about the source location of the configuration.+--+-- 'configurationName', 'deployment_configurationName' - The name of the configuration.+--+-- 'configurationProfileId', 'deployment_configurationProfileId' - The ID of the configuration profile that was deployed.+--+-- 'configurationVersion', 'deployment_configurationVersion' - The configuration version that was deployed.+--+-- 'deploymentDurationInMinutes', 'deployment_deploymentDurationInMinutes' - Total amount of time the deployment lasted.+--+-- 'deploymentNumber', 'deployment_deploymentNumber' - The sequence number of the deployment.+--+-- 'deploymentStrategyId', 'deployment_deploymentStrategyId' - The ID of the deployment strategy that was deployed.+--+-- 'description', 'deployment_description' - The description of the deployment.+--+-- 'environmentId', 'deployment_environmentId' - The ID of the environment that was deployed.+--+-- 'eventLog', 'deployment_eventLog' - A list containing all events related to a deployment. The most recent+-- events are displayed first.+--+-- 'finalBakeTimeInMinutes', 'deployment_finalBakeTimeInMinutes' - The amount of time that AppConfig monitored for alarms before+-- considering the deployment to be complete and no longer eligible for+-- automatic rollback.+--+-- 'growthFactor', 'deployment_growthFactor' - The percentage of targets to receive a deployed configuration during+-- each interval.+--+-- 'growthType', 'deployment_growthType' - The algorithm used to define how percentage grew over time.+--+-- 'percentageComplete', 'deployment_percentageComplete' - The percentage of targets for which the deployment is available.+--+-- 'startedAt', 'deployment_startedAt' - The time the deployment started.+--+-- 'state', 'deployment_state' - The state of the deployment.+newDeployment ::+ Deployment+newDeployment =+ Deployment'+ { applicationId = Prelude.Nothing,+ appliedExtensions = Prelude.Nothing,+ completedAt = Prelude.Nothing,+ configurationLocationUri = Prelude.Nothing,+ configurationName = Prelude.Nothing,+ configurationProfileId = Prelude.Nothing,+ configurationVersion = Prelude.Nothing,+ deploymentDurationInMinutes = Prelude.Nothing,+ deploymentNumber = Prelude.Nothing,+ deploymentStrategyId = Prelude.Nothing,+ description = Prelude.Nothing,+ environmentId = Prelude.Nothing,+ eventLog = Prelude.Nothing,+ finalBakeTimeInMinutes = Prelude.Nothing,+ growthFactor = Prelude.Nothing,+ growthType = Prelude.Nothing,+ percentageComplete = Prelude.Nothing,+ startedAt = Prelude.Nothing,+ state = Prelude.Nothing+ }++-- | The ID of the application that was deployed.+deployment_applicationId :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Text)+deployment_applicationId = Lens.lens (\Deployment' {applicationId} -> applicationId) (\s@Deployment' {} a -> s {applicationId = a} :: Deployment)++-- | A list of extensions that were processed as part of the deployment. The+-- extensions that were previously associated to the configuration profile,+-- environment, or the application when @StartDeployment@ was called.+deployment_appliedExtensions :: Lens.Lens' Deployment (Prelude.Maybe [AppliedExtension])+deployment_appliedExtensions = Lens.lens (\Deployment' {appliedExtensions} -> appliedExtensions) (\s@Deployment' {} a -> s {appliedExtensions = a} :: Deployment) Prelude.. Lens.mapping Lens.coerced++-- | The time the deployment completed.+deployment_completedAt :: Lens.Lens' Deployment (Prelude.Maybe Prelude.UTCTime)+deployment_completedAt = Lens.lens (\Deployment' {completedAt} -> completedAt) (\s@Deployment' {} a -> s {completedAt = a} :: Deployment) Prelude.. Lens.mapping Data._Time++-- | Information about the source location of the configuration.+deployment_configurationLocationUri :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Text)+deployment_configurationLocationUri = Lens.lens (\Deployment' {configurationLocationUri} -> configurationLocationUri) (\s@Deployment' {} a -> s {configurationLocationUri = a} :: Deployment)++-- | The name of the configuration.+deployment_configurationName :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Text)+deployment_configurationName = Lens.lens (\Deployment' {configurationName} -> configurationName) (\s@Deployment' {} a -> s {configurationName = a} :: Deployment)++-- | The ID of the configuration profile that was deployed.+deployment_configurationProfileId :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Text)+deployment_configurationProfileId = Lens.lens (\Deployment' {configurationProfileId} -> configurationProfileId) (\s@Deployment' {} a -> s {configurationProfileId = a} :: Deployment)++-- | The configuration version that was deployed.+deployment_configurationVersion :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Text)+deployment_configurationVersion = Lens.lens (\Deployment' {configurationVersion} -> configurationVersion) (\s@Deployment' {} a -> s {configurationVersion = a} :: Deployment)++-- | Total amount of time the deployment lasted.+deployment_deploymentDurationInMinutes :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Natural)+deployment_deploymentDurationInMinutes = Lens.lens (\Deployment' {deploymentDurationInMinutes} -> deploymentDurationInMinutes) (\s@Deployment' {} a -> s {deploymentDurationInMinutes = a} :: Deployment)++-- | The sequence number of the deployment.+deployment_deploymentNumber :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Int)+deployment_deploymentNumber = Lens.lens (\Deployment' {deploymentNumber} -> deploymentNumber) (\s@Deployment' {} a -> s {deploymentNumber = a} :: Deployment)++-- | The ID of the deployment strategy that was deployed.+deployment_deploymentStrategyId :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Text)+deployment_deploymentStrategyId = Lens.lens (\Deployment' {deploymentStrategyId} -> deploymentStrategyId) (\s@Deployment' {} a -> s {deploymentStrategyId = a} :: Deployment)++-- | The description of the deployment.+deployment_description :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Text)+deployment_description = Lens.lens (\Deployment' {description} -> description) (\s@Deployment' {} a -> s {description = a} :: Deployment)++-- | The ID of the environment that was deployed.+deployment_environmentId :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Text)+deployment_environmentId = Lens.lens (\Deployment' {environmentId} -> environmentId) (\s@Deployment' {} a -> s {environmentId = a} :: Deployment)++-- | A list containing all events related to a deployment. The most recent+-- events are displayed first.+deployment_eventLog :: Lens.Lens' Deployment (Prelude.Maybe [DeploymentEvent])+deployment_eventLog = Lens.lens (\Deployment' {eventLog} -> eventLog) (\s@Deployment' {} a -> s {eventLog = a} :: Deployment) Prelude.. Lens.mapping Lens.coerced++-- | The amount of time that AppConfig monitored for alarms before+-- considering the deployment to be complete and no longer eligible for+-- automatic rollback.+deployment_finalBakeTimeInMinutes :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Natural)+deployment_finalBakeTimeInMinutes = Lens.lens (\Deployment' {finalBakeTimeInMinutes} -> finalBakeTimeInMinutes) (\s@Deployment' {} a -> s {finalBakeTimeInMinutes = a} :: Deployment)++-- | The percentage of targets to receive a deployed configuration during+-- each interval.+deployment_growthFactor :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Double)+deployment_growthFactor = Lens.lens (\Deployment' {growthFactor} -> growthFactor) (\s@Deployment' {} a -> s {growthFactor = a} :: Deployment)++-- | The algorithm used to define how percentage grew over time.+deployment_growthType :: Lens.Lens' Deployment (Prelude.Maybe GrowthType)+deployment_growthType = Lens.lens (\Deployment' {growthType} -> growthType) (\s@Deployment' {} a -> s {growthType = a} :: Deployment)++-- | The percentage of targets for which the deployment is available.+deployment_percentageComplete :: Lens.Lens' Deployment (Prelude.Maybe Prelude.Double)+deployment_percentageComplete = Lens.lens (\Deployment' {percentageComplete} -> percentageComplete) (\s@Deployment' {} a -> s {percentageComplete = a} :: Deployment)++-- | The time the deployment started.+deployment_startedAt :: Lens.Lens' Deployment (Prelude.Maybe Prelude.UTCTime)+deployment_startedAt = Lens.lens (\Deployment' {startedAt} -> startedAt) (\s@Deployment' {} a -> s {startedAt = a} :: Deployment) Prelude.. Lens.mapping Data._Time++-- | The state of the deployment.+deployment_state :: Lens.Lens' Deployment (Prelude.Maybe DeploymentState)+deployment_state = Lens.lens (\Deployment' {state} -> state) (\s@Deployment' {} a -> s {state = a} :: Deployment)++instance Data.FromJSON Deployment where+ parseJSON =+ Data.withObject+ "Deployment"+ ( \x ->+ Deployment'+ Prelude.<$> (x Data..:? "ApplicationId")+ Prelude.<*> ( x+ Data..:? "AppliedExtensions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "CompletedAt")+ Prelude.<*> (x Data..:? "ConfigurationLocationUri")+ Prelude.<*> (x Data..:? "ConfigurationName")+ Prelude.<*> (x Data..:? "ConfigurationProfileId")+ Prelude.<*> (x Data..:? "ConfigurationVersion")+ Prelude.<*> (x Data..:? "DeploymentDurationInMinutes")+ Prelude.<*> (x Data..:? "DeploymentNumber")+ Prelude.<*> (x Data..:? "DeploymentStrategyId")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "EnvironmentId")+ Prelude.<*> (x Data..:? "EventLog" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "FinalBakeTimeInMinutes")+ Prelude.<*> (x Data..:? "GrowthFactor")+ Prelude.<*> (x Data..:? "GrowthType")+ Prelude.<*> (x Data..:? "PercentageComplete")+ Prelude.<*> (x Data..:? "StartedAt")+ Prelude.<*> (x Data..:? "State")+ )++instance Prelude.Hashable Deployment where+ hashWithSalt _salt Deployment' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` appliedExtensions+ `Prelude.hashWithSalt` completedAt+ `Prelude.hashWithSalt` configurationLocationUri+ `Prelude.hashWithSalt` configurationName+ `Prelude.hashWithSalt` configurationProfileId+ `Prelude.hashWithSalt` configurationVersion+ `Prelude.hashWithSalt` deploymentDurationInMinutes+ `Prelude.hashWithSalt` deploymentNumber+ `Prelude.hashWithSalt` deploymentStrategyId+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` environmentId+ `Prelude.hashWithSalt` eventLog+ `Prelude.hashWithSalt` finalBakeTimeInMinutes+ `Prelude.hashWithSalt` growthFactor+ `Prelude.hashWithSalt` growthType+ `Prelude.hashWithSalt` percentageComplete+ `Prelude.hashWithSalt` startedAt+ `Prelude.hashWithSalt` state++instance Prelude.NFData Deployment where+ rnf Deployment' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf appliedExtensions+ `Prelude.seq` Prelude.rnf completedAt+ `Prelude.seq` Prelude.rnf configurationLocationUri+ `Prelude.seq` Prelude.rnf configurationName+ `Prelude.seq` Prelude.rnf configurationProfileId+ `Prelude.seq` Prelude.rnf configurationVersion+ `Prelude.seq` Prelude.rnf deploymentDurationInMinutes+ `Prelude.seq` Prelude.rnf deploymentNumber+ `Prelude.seq` Prelude.rnf deploymentStrategyId+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf environmentId+ `Prelude.seq` Prelude.rnf eventLog+ `Prelude.seq` Prelude.rnf finalBakeTimeInMinutes+ `Prelude.seq` Prelude.rnf growthFactor+ `Prelude.seq` Prelude.rnf growthType+ `Prelude.seq` Prelude.rnf percentageComplete+ `Prelude.seq` Prelude.rnf startedAt+ `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/AppConfig/Types/DeploymentEvent.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.DeploymentEvent+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.DeploymentEvent where++import Amazonka.AppConfig.Types.ActionInvocation+import Amazonka.AppConfig.Types.DeploymentEventType+import Amazonka.AppConfig.Types.TriggeredBy+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An object that describes a deployment event.+--+-- /See:/ 'newDeploymentEvent' smart constructor.+data DeploymentEvent = DeploymentEvent'+ { -- | The list of extensions that were invoked as part of the deployment.+ actionInvocations :: Prelude.Maybe [ActionInvocation],+ -- | A description of the deployment event. Descriptions include, but are not+ -- limited to, the user account or the Amazon CloudWatch alarm ARN that+ -- initiated a rollback, the percentage of hosts that received the+ -- deployment, or in the case of an internal error, a recommendation to+ -- attempt a new deployment.+ description :: Prelude.Maybe Prelude.Text,+ -- | The type of deployment event. Deployment event types include the start,+ -- stop, or completion of a deployment; a percentage update; the start or+ -- stop of a bake period; and the start or completion of a rollback.+ eventType :: Prelude.Maybe DeploymentEventType,+ -- | The date and time the event occurred.+ occurredAt :: Prelude.Maybe Data.ISO8601,+ -- | The entity that triggered the deployment event. Events can be triggered+ -- by a user, AppConfig, an Amazon CloudWatch alarm, or an internal error.+ triggeredBy :: Prelude.Maybe TriggeredBy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeploymentEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actionInvocations', 'deploymentEvent_actionInvocations' - The list of extensions that were invoked as part of the deployment.+--+-- 'description', 'deploymentEvent_description' - A description of the deployment event. Descriptions include, but are not+-- limited to, the user account or the Amazon CloudWatch alarm ARN that+-- initiated a rollback, the percentage of hosts that received the+-- deployment, or in the case of an internal error, a recommendation to+-- attempt a new deployment.+--+-- 'eventType', 'deploymentEvent_eventType' - The type of deployment event. Deployment event types include the start,+-- stop, or completion of a deployment; a percentage update; the start or+-- stop of a bake period; and the start or completion of a rollback.+--+-- 'occurredAt', 'deploymentEvent_occurredAt' - The date and time the event occurred.+--+-- 'triggeredBy', 'deploymentEvent_triggeredBy' - The entity that triggered the deployment event. Events can be triggered+-- by a user, AppConfig, an Amazon CloudWatch alarm, or an internal error.+newDeploymentEvent ::+ DeploymentEvent+newDeploymentEvent =+ DeploymentEvent'+ { actionInvocations =+ Prelude.Nothing,+ description = Prelude.Nothing,+ eventType = Prelude.Nothing,+ occurredAt = Prelude.Nothing,+ triggeredBy = Prelude.Nothing+ }++-- | The list of extensions that were invoked as part of the deployment.+deploymentEvent_actionInvocations :: Lens.Lens' DeploymentEvent (Prelude.Maybe [ActionInvocation])+deploymentEvent_actionInvocations = Lens.lens (\DeploymentEvent' {actionInvocations} -> actionInvocations) (\s@DeploymentEvent' {} a -> s {actionInvocations = a} :: DeploymentEvent) Prelude.. Lens.mapping Lens.coerced++-- | A description of the deployment event. Descriptions include, but are not+-- limited to, the user account or the Amazon CloudWatch alarm ARN that+-- initiated a rollback, the percentage of hosts that received the+-- deployment, or in the case of an internal error, a recommendation to+-- attempt a new deployment.+deploymentEvent_description :: Lens.Lens' DeploymentEvent (Prelude.Maybe Prelude.Text)+deploymentEvent_description = Lens.lens (\DeploymentEvent' {description} -> description) (\s@DeploymentEvent' {} a -> s {description = a} :: DeploymentEvent)++-- | The type of deployment event. Deployment event types include the start,+-- stop, or completion of a deployment; a percentage update; the start or+-- stop of a bake period; and the start or completion of a rollback.+deploymentEvent_eventType :: Lens.Lens' DeploymentEvent (Prelude.Maybe DeploymentEventType)+deploymentEvent_eventType = Lens.lens (\DeploymentEvent' {eventType} -> eventType) (\s@DeploymentEvent' {} a -> s {eventType = a} :: DeploymentEvent)++-- | The date and time the event occurred.+deploymentEvent_occurredAt :: Lens.Lens' DeploymentEvent (Prelude.Maybe Prelude.UTCTime)+deploymentEvent_occurredAt = Lens.lens (\DeploymentEvent' {occurredAt} -> occurredAt) (\s@DeploymentEvent' {} a -> s {occurredAt = a} :: DeploymentEvent) Prelude.. Lens.mapping Data._Time++-- | The entity that triggered the deployment event. Events can be triggered+-- by a user, AppConfig, an Amazon CloudWatch alarm, or an internal error.+deploymentEvent_triggeredBy :: Lens.Lens' DeploymentEvent (Prelude.Maybe TriggeredBy)+deploymentEvent_triggeredBy = Lens.lens (\DeploymentEvent' {triggeredBy} -> triggeredBy) (\s@DeploymentEvent' {} a -> s {triggeredBy = a} :: DeploymentEvent)++instance Data.FromJSON DeploymentEvent where+ parseJSON =+ Data.withObject+ "DeploymentEvent"+ ( \x ->+ DeploymentEvent'+ Prelude.<$> ( x+ Data..:? "ActionInvocations"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "EventType")+ Prelude.<*> (x Data..:? "OccurredAt")+ Prelude.<*> (x Data..:? "TriggeredBy")+ )++instance Prelude.Hashable DeploymentEvent where+ hashWithSalt _salt DeploymentEvent' {..} =+ _salt+ `Prelude.hashWithSalt` actionInvocations+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` eventType+ `Prelude.hashWithSalt` occurredAt+ `Prelude.hashWithSalt` triggeredBy++instance Prelude.NFData DeploymentEvent where+ rnf DeploymentEvent' {..} =+ Prelude.rnf actionInvocations+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf eventType+ `Prelude.seq` Prelude.rnf occurredAt+ `Prelude.seq` Prelude.rnf triggeredBy
+ gen/Amazonka/AppConfig/Types/DeploymentEventType.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.DeploymentEventType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.DeploymentEventType+ ( DeploymentEventType+ ( ..,+ DeploymentEventType_BAKE_TIME_STARTED,+ DeploymentEventType_DEPLOYMENT_COMPLETED,+ DeploymentEventType_DEPLOYMENT_STARTED,+ DeploymentEventType_PERCENTAGE_UPDATED,+ DeploymentEventType_ROLLBACK_COMPLETED,+ DeploymentEventType_ROLLBACK_STARTED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeploymentEventType = DeploymentEventType'+ { fromDeploymentEventType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DeploymentEventType_BAKE_TIME_STARTED :: DeploymentEventType+pattern DeploymentEventType_BAKE_TIME_STARTED = DeploymentEventType' "BAKE_TIME_STARTED"++pattern DeploymentEventType_DEPLOYMENT_COMPLETED :: DeploymentEventType+pattern DeploymentEventType_DEPLOYMENT_COMPLETED = DeploymentEventType' "DEPLOYMENT_COMPLETED"++pattern DeploymentEventType_DEPLOYMENT_STARTED :: DeploymentEventType+pattern DeploymentEventType_DEPLOYMENT_STARTED = DeploymentEventType' "DEPLOYMENT_STARTED"++pattern DeploymentEventType_PERCENTAGE_UPDATED :: DeploymentEventType+pattern DeploymentEventType_PERCENTAGE_UPDATED = DeploymentEventType' "PERCENTAGE_UPDATED"++pattern DeploymentEventType_ROLLBACK_COMPLETED :: DeploymentEventType+pattern DeploymentEventType_ROLLBACK_COMPLETED = DeploymentEventType' "ROLLBACK_COMPLETED"++pattern DeploymentEventType_ROLLBACK_STARTED :: DeploymentEventType+pattern DeploymentEventType_ROLLBACK_STARTED = DeploymentEventType' "ROLLBACK_STARTED"++{-# COMPLETE+ DeploymentEventType_BAKE_TIME_STARTED,+ DeploymentEventType_DEPLOYMENT_COMPLETED,+ DeploymentEventType_DEPLOYMENT_STARTED,+ DeploymentEventType_PERCENTAGE_UPDATED,+ DeploymentEventType_ROLLBACK_COMPLETED,+ DeploymentEventType_ROLLBACK_STARTED,+ DeploymentEventType'+ #-}
+ gen/Amazonka/AppConfig/Types/DeploymentState.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.DeploymentState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.DeploymentState+ ( DeploymentState+ ( ..,+ DeploymentState_BAKING,+ DeploymentState_COMPLETE,+ DeploymentState_DEPLOYING,+ DeploymentState_ROLLED_BACK,+ DeploymentState_ROLLING_BACK,+ DeploymentState_VALIDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeploymentState = DeploymentState'+ { fromDeploymentState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DeploymentState_BAKING :: DeploymentState+pattern DeploymentState_BAKING = DeploymentState' "BAKING"++pattern DeploymentState_COMPLETE :: DeploymentState+pattern DeploymentState_COMPLETE = DeploymentState' "COMPLETE"++pattern DeploymentState_DEPLOYING :: DeploymentState+pattern DeploymentState_DEPLOYING = DeploymentState' "DEPLOYING"++pattern DeploymentState_ROLLED_BACK :: DeploymentState+pattern DeploymentState_ROLLED_BACK = DeploymentState' "ROLLED_BACK"++pattern DeploymentState_ROLLING_BACK :: DeploymentState+pattern DeploymentState_ROLLING_BACK = DeploymentState' "ROLLING_BACK"++pattern DeploymentState_VALIDATING :: DeploymentState+pattern DeploymentState_VALIDATING = DeploymentState' "VALIDATING"++{-# COMPLETE+ DeploymentState_BAKING,+ DeploymentState_COMPLETE,+ DeploymentState_DEPLOYING,+ DeploymentState_ROLLED_BACK,+ DeploymentState_ROLLING_BACK,+ DeploymentState_VALIDATING,+ DeploymentState'+ #-}
+ gen/Amazonka/AppConfig/Types/DeploymentStrategy.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.DeploymentStrategy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.DeploymentStrategy where++import Amazonka.AppConfig.Types.GrowthType+import Amazonka.AppConfig.Types.ReplicateTo+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newDeploymentStrategy' smart constructor.+data DeploymentStrategy = DeploymentStrategy'+ { -- | Total amount of time the deployment lasted.+ deploymentDurationInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | The description of the deployment strategy.+ description :: Prelude.Maybe Prelude.Text,+ -- | The amount of time that AppConfig monitored for alarms before+ -- considering the deployment to be complete and no longer eligible for+ -- automatic rollback.+ finalBakeTimeInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | The percentage of targets that received a deployed configuration during+ -- each interval.+ growthFactor :: Prelude.Maybe Prelude.Double,+ -- | The algorithm used to define how percentage grew over time.+ growthType :: Prelude.Maybe GrowthType,+ -- | The deployment strategy ID.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the deployment strategy.+ name :: Prelude.Maybe Prelude.Text,+ -- | Save the deployment strategy to a Systems Manager (SSM) document.+ replicateTo :: Prelude.Maybe ReplicateTo+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeploymentStrategy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deploymentDurationInMinutes', 'deploymentStrategy_deploymentDurationInMinutes' - Total amount of time the deployment lasted.+--+-- 'description', 'deploymentStrategy_description' - The description of the deployment strategy.+--+-- 'finalBakeTimeInMinutes', 'deploymentStrategy_finalBakeTimeInMinutes' - The amount of time that AppConfig monitored for alarms before+-- considering the deployment to be complete and no longer eligible for+-- automatic rollback.+--+-- 'growthFactor', 'deploymentStrategy_growthFactor' - The percentage of targets that received a deployed configuration during+-- each interval.+--+-- 'growthType', 'deploymentStrategy_growthType' - The algorithm used to define how percentage grew over time.+--+-- 'id', 'deploymentStrategy_id' - The deployment strategy ID.+--+-- 'name', 'deploymentStrategy_name' - The name of the deployment strategy.+--+-- 'replicateTo', 'deploymentStrategy_replicateTo' - Save the deployment strategy to a Systems Manager (SSM) document.+newDeploymentStrategy ::+ DeploymentStrategy+newDeploymentStrategy =+ DeploymentStrategy'+ { deploymentDurationInMinutes =+ Prelude.Nothing,+ description = Prelude.Nothing,+ finalBakeTimeInMinutes = Prelude.Nothing,+ growthFactor = Prelude.Nothing,+ growthType = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ replicateTo = Prelude.Nothing+ }++-- | Total amount of time the deployment lasted.+deploymentStrategy_deploymentDurationInMinutes :: Lens.Lens' DeploymentStrategy (Prelude.Maybe Prelude.Natural)+deploymentStrategy_deploymentDurationInMinutes = Lens.lens (\DeploymentStrategy' {deploymentDurationInMinutes} -> deploymentDurationInMinutes) (\s@DeploymentStrategy' {} a -> s {deploymentDurationInMinutes = a} :: DeploymentStrategy)++-- | The description of the deployment strategy.+deploymentStrategy_description :: Lens.Lens' DeploymentStrategy (Prelude.Maybe Prelude.Text)+deploymentStrategy_description = Lens.lens (\DeploymentStrategy' {description} -> description) (\s@DeploymentStrategy' {} a -> s {description = a} :: DeploymentStrategy)++-- | The amount of time that AppConfig monitored for alarms before+-- considering the deployment to be complete and no longer eligible for+-- automatic rollback.+deploymentStrategy_finalBakeTimeInMinutes :: Lens.Lens' DeploymentStrategy (Prelude.Maybe Prelude.Natural)+deploymentStrategy_finalBakeTimeInMinutes = Lens.lens (\DeploymentStrategy' {finalBakeTimeInMinutes} -> finalBakeTimeInMinutes) (\s@DeploymentStrategy' {} a -> s {finalBakeTimeInMinutes = a} :: DeploymentStrategy)++-- | The percentage of targets that received a deployed configuration during+-- each interval.+deploymentStrategy_growthFactor :: Lens.Lens' DeploymentStrategy (Prelude.Maybe Prelude.Double)+deploymentStrategy_growthFactor = Lens.lens (\DeploymentStrategy' {growthFactor} -> growthFactor) (\s@DeploymentStrategy' {} a -> s {growthFactor = a} :: DeploymentStrategy)++-- | The algorithm used to define how percentage grew over time.+deploymentStrategy_growthType :: Lens.Lens' DeploymentStrategy (Prelude.Maybe GrowthType)+deploymentStrategy_growthType = Lens.lens (\DeploymentStrategy' {growthType} -> growthType) (\s@DeploymentStrategy' {} a -> s {growthType = a} :: DeploymentStrategy)++-- | The deployment strategy ID.+deploymentStrategy_id :: Lens.Lens' DeploymentStrategy (Prelude.Maybe Prelude.Text)+deploymentStrategy_id = Lens.lens (\DeploymentStrategy' {id} -> id) (\s@DeploymentStrategy' {} a -> s {id = a} :: DeploymentStrategy)++-- | The name of the deployment strategy.+deploymentStrategy_name :: Lens.Lens' DeploymentStrategy (Prelude.Maybe Prelude.Text)+deploymentStrategy_name = Lens.lens (\DeploymentStrategy' {name} -> name) (\s@DeploymentStrategy' {} a -> s {name = a} :: DeploymentStrategy)++-- | Save the deployment strategy to a Systems Manager (SSM) document.+deploymentStrategy_replicateTo :: Lens.Lens' DeploymentStrategy (Prelude.Maybe ReplicateTo)+deploymentStrategy_replicateTo = Lens.lens (\DeploymentStrategy' {replicateTo} -> replicateTo) (\s@DeploymentStrategy' {} a -> s {replicateTo = a} :: DeploymentStrategy)++instance Data.FromJSON DeploymentStrategy where+ parseJSON =+ Data.withObject+ "DeploymentStrategy"+ ( \x ->+ DeploymentStrategy'+ Prelude.<$> (x Data..:? "DeploymentDurationInMinutes")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "FinalBakeTimeInMinutes")+ Prelude.<*> (x Data..:? "GrowthFactor")+ Prelude.<*> (x Data..:? "GrowthType")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "ReplicateTo")+ )++instance Prelude.Hashable DeploymentStrategy where+ hashWithSalt _salt DeploymentStrategy' {..} =+ _salt+ `Prelude.hashWithSalt` deploymentDurationInMinutes+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` finalBakeTimeInMinutes+ `Prelude.hashWithSalt` growthFactor+ `Prelude.hashWithSalt` growthType+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` replicateTo++instance Prelude.NFData DeploymentStrategy where+ rnf DeploymentStrategy' {..} =+ Prelude.rnf deploymentDurationInMinutes+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf finalBakeTimeInMinutes+ `Prelude.seq` Prelude.rnf growthFactor+ `Prelude.seq` Prelude.rnf growthType+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf replicateTo
+ gen/Amazonka/AppConfig/Types/DeploymentSummary.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.DeploymentSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.DeploymentSummary where++import Amazonka.AppConfig.Types.DeploymentState+import Amazonka.AppConfig.Types.GrowthType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the deployment.+--+-- /See:/ 'newDeploymentSummary' smart constructor.+data DeploymentSummary = DeploymentSummary'+ { -- | Time the deployment completed.+ completedAt :: Prelude.Maybe Data.ISO8601,+ -- | The name of the configuration.+ configurationName :: Prelude.Maybe Prelude.Text,+ -- | The version of the configuration.+ configurationVersion :: Prelude.Maybe Prelude.Text,+ -- | Total amount of time the deployment lasted.+ deploymentDurationInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | The sequence number of the deployment.+ deploymentNumber :: Prelude.Maybe Prelude.Int,+ -- | The amount of time that AppConfig monitors for alarms before considering+ -- the deployment to be complete and no longer eligible for automatic+ -- rollback.+ finalBakeTimeInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | The percentage of targets to receive a deployed configuration during+ -- each interval.+ growthFactor :: Prelude.Maybe Prelude.Double,+ -- | The algorithm used to define how percentage grows over time.+ growthType :: Prelude.Maybe GrowthType,+ -- | The percentage of targets for which the deployment is available.+ percentageComplete :: Prelude.Maybe Prelude.Double,+ -- | Time the deployment started.+ startedAt :: Prelude.Maybe Data.ISO8601,+ -- | The state of the deployment.+ state :: Prelude.Maybe DeploymentState+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeploymentSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'completedAt', 'deploymentSummary_completedAt' - Time the deployment completed.+--+-- 'configurationName', 'deploymentSummary_configurationName' - The name of the configuration.+--+-- 'configurationVersion', 'deploymentSummary_configurationVersion' - The version of the configuration.+--+-- 'deploymentDurationInMinutes', 'deploymentSummary_deploymentDurationInMinutes' - Total amount of time the deployment lasted.+--+-- 'deploymentNumber', 'deploymentSummary_deploymentNumber' - The sequence number of the deployment.+--+-- 'finalBakeTimeInMinutes', 'deploymentSummary_finalBakeTimeInMinutes' - The amount of time that AppConfig monitors for alarms before considering+-- the deployment to be complete and no longer eligible for automatic+-- rollback.+--+-- 'growthFactor', 'deploymentSummary_growthFactor' - The percentage of targets to receive a deployed configuration during+-- each interval.+--+-- 'growthType', 'deploymentSummary_growthType' - The algorithm used to define how percentage grows over time.+--+-- 'percentageComplete', 'deploymentSummary_percentageComplete' - The percentage of targets for which the deployment is available.+--+-- 'startedAt', 'deploymentSummary_startedAt' - Time the deployment started.+--+-- 'state', 'deploymentSummary_state' - The state of the deployment.+newDeploymentSummary ::+ DeploymentSummary+newDeploymentSummary =+ DeploymentSummary'+ { completedAt = Prelude.Nothing,+ configurationName = Prelude.Nothing,+ configurationVersion = Prelude.Nothing,+ deploymentDurationInMinutes = Prelude.Nothing,+ deploymentNumber = Prelude.Nothing,+ finalBakeTimeInMinutes = Prelude.Nothing,+ growthFactor = Prelude.Nothing,+ growthType = Prelude.Nothing,+ percentageComplete = Prelude.Nothing,+ startedAt = Prelude.Nothing,+ state = Prelude.Nothing+ }++-- | Time the deployment completed.+deploymentSummary_completedAt :: Lens.Lens' DeploymentSummary (Prelude.Maybe Prelude.UTCTime)+deploymentSummary_completedAt = Lens.lens (\DeploymentSummary' {completedAt} -> completedAt) (\s@DeploymentSummary' {} a -> s {completedAt = a} :: DeploymentSummary) Prelude.. Lens.mapping Data._Time++-- | The name of the configuration.+deploymentSummary_configurationName :: Lens.Lens' DeploymentSummary (Prelude.Maybe Prelude.Text)+deploymentSummary_configurationName = Lens.lens (\DeploymentSummary' {configurationName} -> configurationName) (\s@DeploymentSummary' {} a -> s {configurationName = a} :: DeploymentSummary)++-- | The version of the configuration.+deploymentSummary_configurationVersion :: Lens.Lens' DeploymentSummary (Prelude.Maybe Prelude.Text)+deploymentSummary_configurationVersion = Lens.lens (\DeploymentSummary' {configurationVersion} -> configurationVersion) (\s@DeploymentSummary' {} a -> s {configurationVersion = a} :: DeploymentSummary)++-- | Total amount of time the deployment lasted.+deploymentSummary_deploymentDurationInMinutes :: Lens.Lens' DeploymentSummary (Prelude.Maybe Prelude.Natural)+deploymentSummary_deploymentDurationInMinutes = Lens.lens (\DeploymentSummary' {deploymentDurationInMinutes} -> deploymentDurationInMinutes) (\s@DeploymentSummary' {} a -> s {deploymentDurationInMinutes = a} :: DeploymentSummary)++-- | The sequence number of the deployment.+deploymentSummary_deploymentNumber :: Lens.Lens' DeploymentSummary (Prelude.Maybe Prelude.Int)+deploymentSummary_deploymentNumber = Lens.lens (\DeploymentSummary' {deploymentNumber} -> deploymentNumber) (\s@DeploymentSummary' {} a -> s {deploymentNumber = a} :: DeploymentSummary)++-- | The amount of time that AppConfig monitors for alarms before considering+-- the deployment to be complete and no longer eligible for automatic+-- rollback.+deploymentSummary_finalBakeTimeInMinutes :: Lens.Lens' DeploymentSummary (Prelude.Maybe Prelude.Natural)+deploymentSummary_finalBakeTimeInMinutes = Lens.lens (\DeploymentSummary' {finalBakeTimeInMinutes} -> finalBakeTimeInMinutes) (\s@DeploymentSummary' {} a -> s {finalBakeTimeInMinutes = a} :: DeploymentSummary)++-- | The percentage of targets to receive a deployed configuration during+-- each interval.+deploymentSummary_growthFactor :: Lens.Lens' DeploymentSummary (Prelude.Maybe Prelude.Double)+deploymentSummary_growthFactor = Lens.lens (\DeploymentSummary' {growthFactor} -> growthFactor) (\s@DeploymentSummary' {} a -> s {growthFactor = a} :: DeploymentSummary)++-- | The algorithm used to define how percentage grows over time.+deploymentSummary_growthType :: Lens.Lens' DeploymentSummary (Prelude.Maybe GrowthType)+deploymentSummary_growthType = Lens.lens (\DeploymentSummary' {growthType} -> growthType) (\s@DeploymentSummary' {} a -> s {growthType = a} :: DeploymentSummary)++-- | The percentage of targets for which the deployment is available.+deploymentSummary_percentageComplete :: Lens.Lens' DeploymentSummary (Prelude.Maybe Prelude.Double)+deploymentSummary_percentageComplete = Lens.lens (\DeploymentSummary' {percentageComplete} -> percentageComplete) (\s@DeploymentSummary' {} a -> s {percentageComplete = a} :: DeploymentSummary)++-- | Time the deployment started.+deploymentSummary_startedAt :: Lens.Lens' DeploymentSummary (Prelude.Maybe Prelude.UTCTime)+deploymentSummary_startedAt = Lens.lens (\DeploymentSummary' {startedAt} -> startedAt) (\s@DeploymentSummary' {} a -> s {startedAt = a} :: DeploymentSummary) Prelude.. Lens.mapping Data._Time++-- | The state of the deployment.+deploymentSummary_state :: Lens.Lens' DeploymentSummary (Prelude.Maybe DeploymentState)+deploymentSummary_state = Lens.lens (\DeploymentSummary' {state} -> state) (\s@DeploymentSummary' {} a -> s {state = a} :: DeploymentSummary)++instance Data.FromJSON DeploymentSummary where+ parseJSON =+ Data.withObject+ "DeploymentSummary"+ ( \x ->+ DeploymentSummary'+ Prelude.<$> (x Data..:? "CompletedAt")+ Prelude.<*> (x Data..:? "ConfigurationName")+ Prelude.<*> (x Data..:? "ConfigurationVersion")+ Prelude.<*> (x Data..:? "DeploymentDurationInMinutes")+ Prelude.<*> (x Data..:? "DeploymentNumber")+ Prelude.<*> (x Data..:? "FinalBakeTimeInMinutes")+ Prelude.<*> (x Data..:? "GrowthFactor")+ Prelude.<*> (x Data..:? "GrowthType")+ Prelude.<*> (x Data..:? "PercentageComplete")+ Prelude.<*> (x Data..:? "StartedAt")+ Prelude.<*> (x Data..:? "State")+ )++instance Prelude.Hashable DeploymentSummary where+ hashWithSalt _salt DeploymentSummary' {..} =+ _salt+ `Prelude.hashWithSalt` completedAt+ `Prelude.hashWithSalt` configurationName+ `Prelude.hashWithSalt` configurationVersion+ `Prelude.hashWithSalt` deploymentDurationInMinutes+ `Prelude.hashWithSalt` deploymentNumber+ `Prelude.hashWithSalt` finalBakeTimeInMinutes+ `Prelude.hashWithSalt` growthFactor+ `Prelude.hashWithSalt` growthType+ `Prelude.hashWithSalt` percentageComplete+ `Prelude.hashWithSalt` startedAt+ `Prelude.hashWithSalt` state++instance Prelude.NFData DeploymentSummary where+ rnf DeploymentSummary' {..} =+ Prelude.rnf completedAt+ `Prelude.seq` Prelude.rnf configurationName+ `Prelude.seq` Prelude.rnf configurationVersion+ `Prelude.seq` Prelude.rnf deploymentDurationInMinutes+ `Prelude.seq` Prelude.rnf deploymentNumber+ `Prelude.seq` Prelude.rnf finalBakeTimeInMinutes+ `Prelude.seq` Prelude.rnf growthFactor+ `Prelude.seq` Prelude.rnf growthType+ `Prelude.seq` Prelude.rnf percentageComplete+ `Prelude.seq` Prelude.rnf startedAt+ `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/AppConfig/Types/Environment.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.Environment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.Environment where++import Amazonka.AppConfig.Types.EnvironmentState+import Amazonka.AppConfig.Types.Monitor+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newEnvironment' smart constructor.+data Environment = Environment'+ { -- | The application ID.+ applicationId :: Prelude.Maybe Prelude.Text,+ -- | The description of the environment.+ description :: Prelude.Maybe Prelude.Text,+ -- | The environment ID.+ id :: Prelude.Maybe Prelude.Text,+ -- | Amazon CloudWatch alarms monitored during the deployment.+ monitors :: Prelude.Maybe [Monitor],+ -- | The name of the environment.+ name :: Prelude.Maybe Prelude.Text,+ -- | The state of the environment. An environment can be in one of the+ -- following states: @READY_FOR_DEPLOYMENT@, @DEPLOYING@, @ROLLING_BACK@,+ -- or @ROLLED_BACK@+ state :: Prelude.Maybe EnvironmentState+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Environment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'environment_applicationId' - The application ID.+--+-- 'description', 'environment_description' - The description of the environment.+--+-- 'id', 'environment_id' - The environment ID.+--+-- 'monitors', 'environment_monitors' - Amazon CloudWatch alarms monitored during the deployment.+--+-- 'name', 'environment_name' - The name of the environment.+--+-- 'state', 'environment_state' - The state of the environment. An environment can be in one of the+-- following states: @READY_FOR_DEPLOYMENT@, @DEPLOYING@, @ROLLING_BACK@,+-- or @ROLLED_BACK@+newEnvironment ::+ Environment+newEnvironment =+ Environment'+ { applicationId = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ monitors = Prelude.Nothing,+ name = Prelude.Nothing,+ state = Prelude.Nothing+ }++-- | The application ID.+environment_applicationId :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_applicationId = Lens.lens (\Environment' {applicationId} -> applicationId) (\s@Environment' {} a -> s {applicationId = a} :: Environment)++-- | The description of the environment.+environment_description :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_description = Lens.lens (\Environment' {description} -> description) (\s@Environment' {} a -> s {description = a} :: Environment)++-- | The environment ID.+environment_id :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_id = Lens.lens (\Environment' {id} -> id) (\s@Environment' {} a -> s {id = a} :: Environment)++-- | Amazon CloudWatch alarms monitored during the deployment.+environment_monitors :: Lens.Lens' Environment (Prelude.Maybe [Monitor])+environment_monitors = Lens.lens (\Environment' {monitors} -> monitors) (\s@Environment' {} a -> s {monitors = a} :: Environment) Prelude.. Lens.mapping Lens.coerced++-- | The name of the environment.+environment_name :: Lens.Lens' Environment (Prelude.Maybe Prelude.Text)+environment_name = Lens.lens (\Environment' {name} -> name) (\s@Environment' {} a -> s {name = a} :: Environment)++-- | The state of the environment. An environment can be in one of the+-- following states: @READY_FOR_DEPLOYMENT@, @DEPLOYING@, @ROLLING_BACK@,+-- or @ROLLED_BACK@+environment_state :: Lens.Lens' Environment (Prelude.Maybe EnvironmentState)+environment_state = Lens.lens (\Environment' {state} -> state) (\s@Environment' {} a -> s {state = a} :: Environment)++instance Data.FromJSON Environment where+ parseJSON =+ Data.withObject+ "Environment"+ ( \x ->+ Environment'+ Prelude.<$> (x Data..:? "ApplicationId")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Monitors" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "State")+ )++instance Prelude.Hashable Environment where+ hashWithSalt _salt Environment' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` monitors+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` state++instance Prelude.NFData Environment where+ rnf Environment' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf monitors+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/AppConfig/Types/EnvironmentState.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.EnvironmentState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.EnvironmentState+ ( EnvironmentState+ ( ..,+ EnvironmentState_DEPLOYING,+ EnvironmentState_READY_FOR_DEPLOYMENT,+ EnvironmentState_ROLLED_BACK,+ EnvironmentState_ROLLING_BACK+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EnvironmentState = EnvironmentState'+ { fromEnvironmentState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern EnvironmentState_DEPLOYING :: EnvironmentState+pattern EnvironmentState_DEPLOYING = EnvironmentState' "DEPLOYING"++pattern EnvironmentState_READY_FOR_DEPLOYMENT :: EnvironmentState+pattern EnvironmentState_READY_FOR_DEPLOYMENT = EnvironmentState' "READY_FOR_DEPLOYMENT"++pattern EnvironmentState_ROLLED_BACK :: EnvironmentState+pattern EnvironmentState_ROLLED_BACK = EnvironmentState' "ROLLED_BACK"++pattern EnvironmentState_ROLLING_BACK :: EnvironmentState+pattern EnvironmentState_ROLLING_BACK = EnvironmentState' "ROLLING_BACK"++{-# COMPLETE+ EnvironmentState_DEPLOYING,+ EnvironmentState_READY_FOR_DEPLOYMENT,+ EnvironmentState_ROLLED_BACK,+ EnvironmentState_ROLLING_BACK,+ EnvironmentState'+ #-}
+ gen/Amazonka/AppConfig/Types/Extension.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.Extension+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.Extension where++import Amazonka.AppConfig.Types.Action+import Amazonka.AppConfig.Types.ActionPoint+import Amazonka.AppConfig.Types.Parameter+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newExtension' smart constructor.+data Extension = Extension'+ { -- | The actions defined in the extension.+ actions :: Prelude.Maybe (Prelude.HashMap ActionPoint (Prelude.NonEmpty Action)),+ -- | The system-generated Amazon Resource Name (ARN) for the extension.+ arn :: Prelude.Maybe Prelude.Text,+ -- | Information about the extension.+ description :: Prelude.Maybe Prelude.Text,+ -- | The system-generated ID of the extension.+ id :: Prelude.Maybe Prelude.Text,+ -- | The extension name.+ name :: Prelude.Maybe Prelude.Text,+ -- | The parameters accepted by the extension. You specify parameter values+ -- when you associate the extension to an AppConfig resource by using the+ -- @CreateExtensionAssociation@ API action. For Lambda extension actions,+ -- these parameters are included in the Lambda request object.+ parameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Parameter),+ -- | The extension version number.+ versionNumber :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Extension' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'extension_actions' - The actions defined in the extension.+--+-- 'arn', 'extension_arn' - The system-generated Amazon Resource Name (ARN) for the extension.+--+-- 'description', 'extension_description' - Information about the extension.+--+-- 'id', 'extension_id' - The system-generated ID of the extension.+--+-- 'name', 'extension_name' - The extension name.+--+-- 'parameters', 'extension_parameters' - The parameters accepted by the extension. You specify parameter values+-- when you associate the extension to an AppConfig resource by using the+-- @CreateExtensionAssociation@ API action. For Lambda extension actions,+-- these parameters are included in the Lambda request object.+--+-- 'versionNumber', 'extension_versionNumber' - The extension version number.+newExtension ::+ Extension+newExtension =+ Extension'+ { actions = Prelude.Nothing,+ arn = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ parameters = Prelude.Nothing,+ versionNumber = Prelude.Nothing+ }++-- | The actions defined in the extension.+extension_actions :: Lens.Lens' Extension (Prelude.Maybe (Prelude.HashMap ActionPoint (Prelude.NonEmpty Action)))+extension_actions = Lens.lens (\Extension' {actions} -> actions) (\s@Extension' {} a -> s {actions = a} :: Extension) Prelude.. Lens.mapping Lens.coerced++-- | The system-generated Amazon Resource Name (ARN) for the extension.+extension_arn :: Lens.Lens' Extension (Prelude.Maybe Prelude.Text)+extension_arn = Lens.lens (\Extension' {arn} -> arn) (\s@Extension' {} a -> s {arn = a} :: Extension)++-- | Information about the extension.+extension_description :: Lens.Lens' Extension (Prelude.Maybe Prelude.Text)+extension_description = Lens.lens (\Extension' {description} -> description) (\s@Extension' {} a -> s {description = a} :: Extension)++-- | The system-generated ID of the extension.+extension_id :: Lens.Lens' Extension (Prelude.Maybe Prelude.Text)+extension_id = Lens.lens (\Extension' {id} -> id) (\s@Extension' {} a -> s {id = a} :: Extension)++-- | The extension name.+extension_name :: Lens.Lens' Extension (Prelude.Maybe Prelude.Text)+extension_name = Lens.lens (\Extension' {name} -> name) (\s@Extension' {} a -> s {name = a} :: Extension)++-- | The parameters accepted by the extension. You specify parameter values+-- when you associate the extension to an AppConfig resource by using the+-- @CreateExtensionAssociation@ API action. For Lambda extension actions,+-- these parameters are included in the Lambda request object.+extension_parameters :: Lens.Lens' Extension (Prelude.Maybe (Prelude.HashMap Prelude.Text Parameter))+extension_parameters = Lens.lens (\Extension' {parameters} -> parameters) (\s@Extension' {} a -> s {parameters = a} :: Extension) Prelude.. Lens.mapping Lens.coerced++-- | The extension version number.+extension_versionNumber :: Lens.Lens' Extension (Prelude.Maybe Prelude.Int)+extension_versionNumber = Lens.lens (\Extension' {versionNumber} -> versionNumber) (\s@Extension' {} a -> s {versionNumber = a} :: Extension)++instance Data.FromJSON Extension where+ parseJSON =+ Data.withObject+ "Extension"+ ( \x ->+ Extension'+ Prelude.<$> (x Data..:? "Actions" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "Parameters" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "VersionNumber")+ )++instance Prelude.Hashable Extension where+ hashWithSalt _salt Extension' {..} =+ _salt+ `Prelude.hashWithSalt` actions+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` parameters+ `Prelude.hashWithSalt` versionNumber++instance Prelude.NFData Extension where+ rnf Extension' {..} =+ Prelude.rnf actions+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf parameters+ `Prelude.seq` Prelude.rnf versionNumber
+ gen/Amazonka/AppConfig/Types/ExtensionAssociation.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.ExtensionAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.ExtensionAssociation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newExtensionAssociation' smart constructor.+data ExtensionAssociation = ExtensionAssociation'+ { -- | The system-generated Amazon Resource Name (ARN) for the extension.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the extension defined in the association.+ extensionArn :: Prelude.Maybe Prelude.Text,+ -- | The version number for the extension defined in the association.+ extensionVersionNumber :: Prelude.Maybe Prelude.Int,+ -- | The system-generated ID for the association.+ id :: Prelude.Maybe Prelude.Text,+ -- | The parameter names and values defined in the association.+ parameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ARNs of applications, configuration profiles, or environments+ -- defined in the association.+ resourceArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExtensionAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'extensionAssociation_arn' - The system-generated Amazon Resource Name (ARN) for the extension.+--+-- 'extensionArn', 'extensionAssociation_extensionArn' - The ARN of the extension defined in the association.+--+-- 'extensionVersionNumber', 'extensionAssociation_extensionVersionNumber' - The version number for the extension defined in the association.+--+-- 'id', 'extensionAssociation_id' - The system-generated ID for the association.+--+-- 'parameters', 'extensionAssociation_parameters' - The parameter names and values defined in the association.+--+-- 'resourceArn', 'extensionAssociation_resourceArn' - The ARNs of applications, configuration profiles, or environments+-- defined in the association.+newExtensionAssociation ::+ ExtensionAssociation+newExtensionAssociation =+ ExtensionAssociation'+ { arn = Prelude.Nothing,+ extensionArn = Prelude.Nothing,+ extensionVersionNumber = Prelude.Nothing,+ id = Prelude.Nothing,+ parameters = Prelude.Nothing,+ resourceArn = Prelude.Nothing+ }++-- | The system-generated Amazon Resource Name (ARN) for the extension.+extensionAssociation_arn :: Lens.Lens' ExtensionAssociation (Prelude.Maybe Prelude.Text)+extensionAssociation_arn = Lens.lens (\ExtensionAssociation' {arn} -> arn) (\s@ExtensionAssociation' {} a -> s {arn = a} :: ExtensionAssociation)++-- | The ARN of the extension defined in the association.+extensionAssociation_extensionArn :: Lens.Lens' ExtensionAssociation (Prelude.Maybe Prelude.Text)+extensionAssociation_extensionArn = Lens.lens (\ExtensionAssociation' {extensionArn} -> extensionArn) (\s@ExtensionAssociation' {} a -> s {extensionArn = a} :: ExtensionAssociation)++-- | The version number for the extension defined in the association.+extensionAssociation_extensionVersionNumber :: Lens.Lens' ExtensionAssociation (Prelude.Maybe Prelude.Int)+extensionAssociation_extensionVersionNumber = Lens.lens (\ExtensionAssociation' {extensionVersionNumber} -> extensionVersionNumber) (\s@ExtensionAssociation' {} a -> s {extensionVersionNumber = a} :: ExtensionAssociation)++-- | The system-generated ID for the association.+extensionAssociation_id :: Lens.Lens' ExtensionAssociation (Prelude.Maybe Prelude.Text)+extensionAssociation_id = Lens.lens (\ExtensionAssociation' {id} -> id) (\s@ExtensionAssociation' {} a -> s {id = a} :: ExtensionAssociation)++-- | The parameter names and values defined in the association.+extensionAssociation_parameters :: Lens.Lens' ExtensionAssociation (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+extensionAssociation_parameters = Lens.lens (\ExtensionAssociation' {parameters} -> parameters) (\s@ExtensionAssociation' {} a -> s {parameters = a} :: ExtensionAssociation) Prelude.. Lens.mapping Lens.coerced++-- | The ARNs of applications, configuration profiles, or environments+-- defined in the association.+extensionAssociation_resourceArn :: Lens.Lens' ExtensionAssociation (Prelude.Maybe Prelude.Text)+extensionAssociation_resourceArn = Lens.lens (\ExtensionAssociation' {resourceArn} -> resourceArn) (\s@ExtensionAssociation' {} a -> s {resourceArn = a} :: ExtensionAssociation)++instance Data.FromJSON ExtensionAssociation where+ parseJSON =+ Data.withObject+ "ExtensionAssociation"+ ( \x ->+ ExtensionAssociation'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "ExtensionArn")+ Prelude.<*> (x Data..:? "ExtensionVersionNumber")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Parameters" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "ResourceArn")+ )++instance Prelude.Hashable ExtensionAssociation where+ hashWithSalt _salt ExtensionAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` extensionArn+ `Prelude.hashWithSalt` extensionVersionNumber+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` parameters+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ExtensionAssociation where+ rnf ExtensionAssociation' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf extensionArn+ `Prelude.seq` Prelude.rnf extensionVersionNumber+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf parameters+ `Prelude.seq` Prelude.rnf resourceArn
+ gen/Amazonka/AppConfig/Types/ExtensionAssociationSummary.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.ExtensionAssociationSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.ExtensionAssociationSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about an association between an extension and an AppConfig+-- resource such as an application, environment, or configuration profile.+-- Call @GetExtensionAssociation@ to get more information about an+-- association.+--+-- /See:/ 'newExtensionAssociationSummary' smart constructor.+data ExtensionAssociationSummary = ExtensionAssociationSummary'+ { -- | The system-generated Amazon Resource Name (ARN) for the extension.+ extensionArn :: Prelude.Maybe Prelude.Text,+ -- | The extension association ID. This ID is used to call other+ -- @ExtensionAssociation@ API actions such as @GetExtensionAssociation@ or+ -- @DeleteExtensionAssociation@.+ id :: Prelude.Maybe Prelude.Text,+ -- | The ARNs of applications, configuration profiles, or environments+ -- defined in the association.+ resourceArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExtensionAssociationSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'extensionArn', 'extensionAssociationSummary_extensionArn' - The system-generated Amazon Resource Name (ARN) for the extension.+--+-- 'id', 'extensionAssociationSummary_id' - The extension association ID. This ID is used to call other+-- @ExtensionAssociation@ API actions such as @GetExtensionAssociation@ or+-- @DeleteExtensionAssociation@.+--+-- 'resourceArn', 'extensionAssociationSummary_resourceArn' - The ARNs of applications, configuration profiles, or environments+-- defined in the association.+newExtensionAssociationSummary ::+ ExtensionAssociationSummary+newExtensionAssociationSummary =+ ExtensionAssociationSummary'+ { extensionArn =+ Prelude.Nothing,+ id = Prelude.Nothing,+ resourceArn = Prelude.Nothing+ }++-- | The system-generated Amazon Resource Name (ARN) for the extension.+extensionAssociationSummary_extensionArn :: Lens.Lens' ExtensionAssociationSummary (Prelude.Maybe Prelude.Text)+extensionAssociationSummary_extensionArn = Lens.lens (\ExtensionAssociationSummary' {extensionArn} -> extensionArn) (\s@ExtensionAssociationSummary' {} a -> s {extensionArn = a} :: ExtensionAssociationSummary)++-- | The extension association ID. This ID is used to call other+-- @ExtensionAssociation@ API actions such as @GetExtensionAssociation@ or+-- @DeleteExtensionAssociation@.+extensionAssociationSummary_id :: Lens.Lens' ExtensionAssociationSummary (Prelude.Maybe Prelude.Text)+extensionAssociationSummary_id = Lens.lens (\ExtensionAssociationSummary' {id} -> id) (\s@ExtensionAssociationSummary' {} a -> s {id = a} :: ExtensionAssociationSummary)++-- | The ARNs of applications, configuration profiles, or environments+-- defined in the association.+extensionAssociationSummary_resourceArn :: Lens.Lens' ExtensionAssociationSummary (Prelude.Maybe Prelude.Text)+extensionAssociationSummary_resourceArn = Lens.lens (\ExtensionAssociationSummary' {resourceArn} -> resourceArn) (\s@ExtensionAssociationSummary' {} a -> s {resourceArn = a} :: ExtensionAssociationSummary)++instance Data.FromJSON ExtensionAssociationSummary where+ parseJSON =+ Data.withObject+ "ExtensionAssociationSummary"+ ( \x ->+ ExtensionAssociationSummary'+ Prelude.<$> (x Data..:? "ExtensionArn")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "ResourceArn")+ )++instance Prelude.Hashable ExtensionAssociationSummary where+ hashWithSalt _salt ExtensionAssociationSummary' {..} =+ _salt+ `Prelude.hashWithSalt` extensionArn+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ExtensionAssociationSummary where+ rnf ExtensionAssociationSummary' {..} =+ Prelude.rnf extensionArn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf resourceArn
+ gen/Amazonka/AppConfig/Types/ExtensionSummary.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.ExtensionSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.ExtensionSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about an extension. Call @GetExtension@ to get more+-- information about an extension.+--+-- /See:/ 'newExtensionSummary' smart constructor.+data ExtensionSummary = ExtensionSummary'+ { -- | The system-generated Amazon Resource Name (ARN) for the extension.+ arn :: Prelude.Maybe Prelude.Text,+ -- | Information about the extension.+ description :: Prelude.Maybe Prelude.Text,+ -- | The system-generated ID of the extension.+ id :: Prelude.Maybe Prelude.Text,+ -- | The extension name.+ name :: Prelude.Maybe Prelude.Text,+ -- | The extension version number.+ versionNumber :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExtensionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'extensionSummary_arn' - The system-generated Amazon Resource Name (ARN) for the extension.+--+-- 'description', 'extensionSummary_description' - Information about the extension.+--+-- 'id', 'extensionSummary_id' - The system-generated ID of the extension.+--+-- 'name', 'extensionSummary_name' - The extension name.+--+-- 'versionNumber', 'extensionSummary_versionNumber' - The extension version number.+newExtensionSummary ::+ ExtensionSummary+newExtensionSummary =+ ExtensionSummary'+ { arn = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ versionNumber = Prelude.Nothing+ }++-- | The system-generated Amazon Resource Name (ARN) for the extension.+extensionSummary_arn :: Lens.Lens' ExtensionSummary (Prelude.Maybe Prelude.Text)+extensionSummary_arn = Lens.lens (\ExtensionSummary' {arn} -> arn) (\s@ExtensionSummary' {} a -> s {arn = a} :: ExtensionSummary)++-- | Information about the extension.+extensionSummary_description :: Lens.Lens' ExtensionSummary (Prelude.Maybe Prelude.Text)+extensionSummary_description = Lens.lens (\ExtensionSummary' {description} -> description) (\s@ExtensionSummary' {} a -> s {description = a} :: ExtensionSummary)++-- | The system-generated ID of the extension.+extensionSummary_id :: Lens.Lens' ExtensionSummary (Prelude.Maybe Prelude.Text)+extensionSummary_id = Lens.lens (\ExtensionSummary' {id} -> id) (\s@ExtensionSummary' {} a -> s {id = a} :: ExtensionSummary)++-- | The extension name.+extensionSummary_name :: Lens.Lens' ExtensionSummary (Prelude.Maybe Prelude.Text)+extensionSummary_name = Lens.lens (\ExtensionSummary' {name} -> name) (\s@ExtensionSummary' {} a -> s {name = a} :: ExtensionSummary)++-- | The extension version number.+extensionSummary_versionNumber :: Lens.Lens' ExtensionSummary (Prelude.Maybe Prelude.Int)+extensionSummary_versionNumber = Lens.lens (\ExtensionSummary' {versionNumber} -> versionNumber) (\s@ExtensionSummary' {} a -> s {versionNumber = a} :: ExtensionSummary)++instance Data.FromJSON ExtensionSummary where+ parseJSON =+ Data.withObject+ "ExtensionSummary"+ ( \x ->+ ExtensionSummary'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "Id")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "VersionNumber")+ )++instance Prelude.Hashable ExtensionSummary where+ hashWithSalt _salt ExtensionSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` versionNumber++instance Prelude.NFData ExtensionSummary where+ rnf ExtensionSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf versionNumber
+ gen/Amazonka/AppConfig/Types/GrowthType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.GrowthType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.GrowthType+ ( GrowthType+ ( ..,+ GrowthType_EXPONENTIAL,+ GrowthType_LINEAR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GrowthType = GrowthType'+ { fromGrowthType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern GrowthType_EXPONENTIAL :: GrowthType+pattern GrowthType_EXPONENTIAL = GrowthType' "EXPONENTIAL"++pattern GrowthType_LINEAR :: GrowthType+pattern GrowthType_LINEAR = GrowthType' "LINEAR"++{-# COMPLETE+ GrowthType_EXPONENTIAL,+ GrowthType_LINEAR,+ GrowthType'+ #-}
+ gen/Amazonka/AppConfig/Types/HostedConfigurationVersion.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.HostedConfigurationVersion+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.HostedConfigurationVersion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newHostedConfigurationVersion' smart constructor.+data HostedConfigurationVersion = HostedConfigurationVersion'+ { -- | The application ID.+ applicationId :: Prelude.Maybe Prelude.Text,+ -- | The configuration profile ID.+ configurationProfileId :: Prelude.Maybe Prelude.Text,+ -- | The content of the configuration or the configuration data.+ content :: Prelude.Maybe (Data.Sensitive Prelude.ByteString),+ -- | A standard MIME type describing the format of the configuration content.+ -- For more information, see+ -- <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 Content-Type>.+ contentType :: Prelude.Maybe Prelude.Text,+ -- | A description of the configuration.+ description :: Prelude.Maybe Prelude.Text,+ -- | The configuration version.+ versionNumber :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HostedConfigurationVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'hostedConfigurationVersion_applicationId' - The application ID.+--+-- 'configurationProfileId', 'hostedConfigurationVersion_configurationProfileId' - The configuration profile ID.+--+-- 'content', 'hostedConfigurationVersion_content' - The content of the configuration or the configuration data.+--+-- 'contentType', 'hostedConfigurationVersion_contentType' - A standard MIME type describing the format of the configuration content.+-- For more information, see+-- <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 Content-Type>.+--+-- 'description', 'hostedConfigurationVersion_description' - A description of the configuration.+--+-- 'versionNumber', 'hostedConfigurationVersion_versionNumber' - The configuration version.+newHostedConfigurationVersion ::+ HostedConfigurationVersion+newHostedConfigurationVersion =+ HostedConfigurationVersion'+ { applicationId =+ Prelude.Nothing,+ configurationProfileId = Prelude.Nothing,+ content = Prelude.Nothing,+ contentType = Prelude.Nothing,+ description = Prelude.Nothing,+ versionNumber = Prelude.Nothing+ }++-- | The application ID.+hostedConfigurationVersion_applicationId :: Lens.Lens' HostedConfigurationVersion (Prelude.Maybe Prelude.Text)+hostedConfigurationVersion_applicationId = Lens.lens (\HostedConfigurationVersion' {applicationId} -> applicationId) (\s@HostedConfigurationVersion' {} a -> s {applicationId = a} :: HostedConfigurationVersion)++-- | The configuration profile ID.+hostedConfigurationVersion_configurationProfileId :: Lens.Lens' HostedConfigurationVersion (Prelude.Maybe Prelude.Text)+hostedConfigurationVersion_configurationProfileId = Lens.lens (\HostedConfigurationVersion' {configurationProfileId} -> configurationProfileId) (\s@HostedConfigurationVersion' {} a -> s {configurationProfileId = a} :: HostedConfigurationVersion)++-- | The content of the configuration or the configuration data.+hostedConfigurationVersion_content :: Lens.Lens' HostedConfigurationVersion (Prelude.Maybe Prelude.ByteString)+hostedConfigurationVersion_content = Lens.lens (\HostedConfigurationVersion' {content} -> content) (\s@HostedConfigurationVersion' {} a -> s {content = a} :: HostedConfigurationVersion) Prelude.. Lens.mapping Data._Sensitive++-- | A standard MIME type describing the format of the configuration content.+-- For more information, see+-- <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 Content-Type>.+hostedConfigurationVersion_contentType :: Lens.Lens' HostedConfigurationVersion (Prelude.Maybe Prelude.Text)+hostedConfigurationVersion_contentType = Lens.lens (\HostedConfigurationVersion' {contentType} -> contentType) (\s@HostedConfigurationVersion' {} a -> s {contentType = a} :: HostedConfigurationVersion)++-- | A description of the configuration.+hostedConfigurationVersion_description :: Lens.Lens' HostedConfigurationVersion (Prelude.Maybe Prelude.Text)+hostedConfigurationVersion_description = Lens.lens (\HostedConfigurationVersion' {description} -> description) (\s@HostedConfigurationVersion' {} a -> s {description = a} :: HostedConfigurationVersion)++-- | The configuration version.+hostedConfigurationVersion_versionNumber :: Lens.Lens' HostedConfigurationVersion (Prelude.Maybe Prelude.Int)+hostedConfigurationVersion_versionNumber = Lens.lens (\HostedConfigurationVersion' {versionNumber} -> versionNumber) (\s@HostedConfigurationVersion' {} a -> s {versionNumber = a} :: HostedConfigurationVersion)++instance Prelude.Hashable HostedConfigurationVersion where+ hashWithSalt _salt HostedConfigurationVersion' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` configurationProfileId+ `Prelude.hashWithSalt` content+ `Prelude.hashWithSalt` contentType+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` versionNumber++instance Prelude.NFData HostedConfigurationVersion where+ rnf HostedConfigurationVersion' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf configurationProfileId+ `Prelude.seq` Prelude.rnf content+ `Prelude.seq` Prelude.rnf contentType+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf versionNumber
+ gen/Amazonka/AppConfig/Types/HostedConfigurationVersionSummary.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.HostedConfigurationVersionSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.HostedConfigurationVersionSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the configuration.+--+-- /See:/ 'newHostedConfigurationVersionSummary' smart constructor.+data HostedConfigurationVersionSummary = HostedConfigurationVersionSummary'+ { -- | The application ID.+ applicationId :: Prelude.Maybe Prelude.Text,+ -- | The configuration profile ID.+ configurationProfileId :: Prelude.Maybe Prelude.Text,+ -- | A standard MIME type describing the format of the configuration content.+ -- For more information, see+ -- <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 Content-Type>.+ contentType :: Prelude.Maybe Prelude.Text,+ -- | A description of the configuration.+ description :: Prelude.Maybe Prelude.Text,+ -- | The configuration version.+ versionNumber :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HostedConfigurationVersionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'hostedConfigurationVersionSummary_applicationId' - The application ID.+--+-- 'configurationProfileId', 'hostedConfigurationVersionSummary_configurationProfileId' - The configuration profile ID.+--+-- 'contentType', 'hostedConfigurationVersionSummary_contentType' - A standard MIME type describing the format of the configuration content.+-- For more information, see+-- <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 Content-Type>.+--+-- 'description', 'hostedConfigurationVersionSummary_description' - A description of the configuration.+--+-- 'versionNumber', 'hostedConfigurationVersionSummary_versionNumber' - The configuration version.+newHostedConfigurationVersionSummary ::+ HostedConfigurationVersionSummary+newHostedConfigurationVersionSummary =+ HostedConfigurationVersionSummary'+ { applicationId =+ Prelude.Nothing,+ configurationProfileId = Prelude.Nothing,+ contentType = Prelude.Nothing,+ description = Prelude.Nothing,+ versionNumber = Prelude.Nothing+ }++-- | The application ID.+hostedConfigurationVersionSummary_applicationId :: Lens.Lens' HostedConfigurationVersionSummary (Prelude.Maybe Prelude.Text)+hostedConfigurationVersionSummary_applicationId = Lens.lens (\HostedConfigurationVersionSummary' {applicationId} -> applicationId) (\s@HostedConfigurationVersionSummary' {} a -> s {applicationId = a} :: HostedConfigurationVersionSummary)++-- | The configuration profile ID.+hostedConfigurationVersionSummary_configurationProfileId :: Lens.Lens' HostedConfigurationVersionSummary (Prelude.Maybe Prelude.Text)+hostedConfigurationVersionSummary_configurationProfileId = Lens.lens (\HostedConfigurationVersionSummary' {configurationProfileId} -> configurationProfileId) (\s@HostedConfigurationVersionSummary' {} a -> s {configurationProfileId = a} :: HostedConfigurationVersionSummary)++-- | A standard MIME type describing the format of the configuration content.+-- For more information, see+-- <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 Content-Type>.+hostedConfigurationVersionSummary_contentType :: Lens.Lens' HostedConfigurationVersionSummary (Prelude.Maybe Prelude.Text)+hostedConfigurationVersionSummary_contentType = Lens.lens (\HostedConfigurationVersionSummary' {contentType} -> contentType) (\s@HostedConfigurationVersionSummary' {} a -> s {contentType = a} :: HostedConfigurationVersionSummary)++-- | A description of the configuration.+hostedConfigurationVersionSummary_description :: Lens.Lens' HostedConfigurationVersionSummary (Prelude.Maybe Prelude.Text)+hostedConfigurationVersionSummary_description = Lens.lens (\HostedConfigurationVersionSummary' {description} -> description) (\s@HostedConfigurationVersionSummary' {} a -> s {description = a} :: HostedConfigurationVersionSummary)++-- | The configuration version.+hostedConfigurationVersionSummary_versionNumber :: Lens.Lens' HostedConfigurationVersionSummary (Prelude.Maybe Prelude.Int)+hostedConfigurationVersionSummary_versionNumber = Lens.lens (\HostedConfigurationVersionSummary' {versionNumber} -> versionNumber) (\s@HostedConfigurationVersionSummary' {} a -> s {versionNumber = a} :: HostedConfigurationVersionSummary)++instance+ Data.FromJSON+ HostedConfigurationVersionSummary+ where+ parseJSON =+ Data.withObject+ "HostedConfigurationVersionSummary"+ ( \x ->+ HostedConfigurationVersionSummary'+ Prelude.<$> (x Data..:? "ApplicationId")+ Prelude.<*> (x Data..:? "ConfigurationProfileId")+ Prelude.<*> (x Data..:? "ContentType")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "VersionNumber")+ )++instance+ Prelude.Hashable+ HostedConfigurationVersionSummary+ where+ hashWithSalt+ _salt+ HostedConfigurationVersionSummary' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` configurationProfileId+ `Prelude.hashWithSalt` contentType+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` versionNumber++instance+ Prelude.NFData+ HostedConfigurationVersionSummary+ where+ rnf HostedConfigurationVersionSummary' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf configurationProfileId+ `Prelude.seq` Prelude.rnf contentType+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf versionNumber
+ gen/Amazonka/AppConfig/Types/Monitor.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.Monitor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.Monitor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Amazon CloudWatch alarms to monitor during the deployment process.+--+-- /See:/ 'newMonitor' smart constructor.+data Monitor = Monitor'+ { -- | ARN of an Identity and Access Management (IAM) role for AppConfig to+ -- monitor @AlarmArn@.+ alarmRoleArn :: Prelude.Maybe Prelude.Text,+ -- | Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.+ alarmArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Monitor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmRoleArn', 'monitor_alarmRoleArn' - ARN of an Identity and Access Management (IAM) role for AppConfig to+-- monitor @AlarmArn@.+--+-- 'alarmArn', 'monitor_alarmArn' - Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.+newMonitor ::+ -- | 'alarmArn'+ Prelude.Text ->+ Monitor+newMonitor pAlarmArn_ =+ Monitor'+ { alarmRoleArn = Prelude.Nothing,+ alarmArn = pAlarmArn_+ }++-- | ARN of an Identity and Access Management (IAM) role for AppConfig to+-- monitor @AlarmArn@.+monitor_alarmRoleArn :: Lens.Lens' Monitor (Prelude.Maybe Prelude.Text)+monitor_alarmRoleArn = Lens.lens (\Monitor' {alarmRoleArn} -> alarmRoleArn) (\s@Monitor' {} a -> s {alarmRoleArn = a} :: Monitor)++-- | Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.+monitor_alarmArn :: Lens.Lens' Monitor Prelude.Text+monitor_alarmArn = Lens.lens (\Monitor' {alarmArn} -> alarmArn) (\s@Monitor' {} a -> s {alarmArn = a} :: Monitor)++instance Data.FromJSON Monitor where+ parseJSON =+ Data.withObject+ "Monitor"+ ( \x ->+ Monitor'+ Prelude.<$> (x Data..:? "AlarmRoleArn")+ Prelude.<*> (x Data..: "AlarmArn")+ )++instance Prelude.Hashable Monitor where+ hashWithSalt _salt Monitor' {..} =+ _salt+ `Prelude.hashWithSalt` alarmRoleArn+ `Prelude.hashWithSalt` alarmArn++instance Prelude.NFData Monitor where+ rnf Monitor' {..} =+ Prelude.rnf alarmRoleArn+ `Prelude.seq` Prelude.rnf alarmArn++instance Data.ToJSON Monitor where+ toJSON Monitor' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AlarmRoleArn" Data..=) Prelude.<$> alarmRoleArn,+ Prelude.Just ("AlarmArn" Data..= alarmArn)+ ]+ )
+ gen/Amazonka/AppConfig/Types/Parameter.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.Parameter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.Parameter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A value such as an Amazon Resource Name (ARN) or an Amazon Simple+-- Notification Service topic entered in an extension when invoked.+-- Parameter values are specified in an extension association. For more+-- information about extensions, see+-- <https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html Working with AppConfig extensions>+-- in the /AppConfig User Guide/.+--+-- /See:/ 'newParameter' smart constructor.+data Parameter = Parameter'+ { -- | Information about the parameter.+ description :: Prelude.Maybe Prelude.Text,+ -- | A parameter value must be specified in the extension association.+ required :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Parameter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'parameter_description' - Information about the parameter.+--+-- 'required', 'parameter_required' - A parameter value must be specified in the extension association.+newParameter ::+ Parameter+newParameter =+ Parameter'+ { description = Prelude.Nothing,+ required = Prelude.Nothing+ }++-- | Information about the parameter.+parameter_description :: Lens.Lens' Parameter (Prelude.Maybe Prelude.Text)+parameter_description = Lens.lens (\Parameter' {description} -> description) (\s@Parameter' {} a -> s {description = a} :: Parameter)++-- | A parameter value must be specified in the extension association.+parameter_required :: Lens.Lens' Parameter (Prelude.Maybe Prelude.Bool)+parameter_required = Lens.lens (\Parameter' {required} -> required) (\s@Parameter' {} a -> s {required = a} :: Parameter)++instance Data.FromJSON Parameter where+ parseJSON =+ Data.withObject+ "Parameter"+ ( \x ->+ Parameter'+ Prelude.<$> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "Required")+ )++instance Prelude.Hashable Parameter where+ hashWithSalt _salt Parameter' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` required++instance Prelude.NFData Parameter where+ rnf Parameter' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf required++instance Data.ToJSON Parameter where+ toJSON Parameter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("Required" Data..=) Prelude.<$> required+ ]+ )
+ gen/Amazonka/AppConfig/Types/ReplicateTo.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.ReplicateTo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.ReplicateTo+ ( ReplicateTo+ ( ..,+ ReplicateTo_NONE,+ ReplicateTo_SSM_DOCUMENT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReplicateTo = ReplicateTo'+ { fromReplicateTo ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ReplicateTo_NONE :: ReplicateTo+pattern ReplicateTo_NONE = ReplicateTo' "NONE"++pattern ReplicateTo_SSM_DOCUMENT :: ReplicateTo+pattern ReplicateTo_SSM_DOCUMENT = ReplicateTo' "SSM_DOCUMENT"++{-# COMPLETE+ ReplicateTo_NONE,+ ReplicateTo_SSM_DOCUMENT,+ ReplicateTo'+ #-}
+ gen/Amazonka/AppConfig/Types/TriggeredBy.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.TriggeredBy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.TriggeredBy+ ( TriggeredBy+ ( ..,+ TriggeredBy_APPCONFIG,+ TriggeredBy_CLOUDWATCH_ALARM,+ TriggeredBy_INTERNAL_ERROR,+ TriggeredBy_USER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TriggeredBy = TriggeredBy'+ { fromTriggeredBy ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern TriggeredBy_APPCONFIG :: TriggeredBy+pattern TriggeredBy_APPCONFIG = TriggeredBy' "APPCONFIG"++pattern TriggeredBy_CLOUDWATCH_ALARM :: TriggeredBy+pattern TriggeredBy_CLOUDWATCH_ALARM = TriggeredBy' "CLOUDWATCH_ALARM"++pattern TriggeredBy_INTERNAL_ERROR :: TriggeredBy+pattern TriggeredBy_INTERNAL_ERROR = TriggeredBy' "INTERNAL_ERROR"++pattern TriggeredBy_USER :: TriggeredBy+pattern TriggeredBy_USER = TriggeredBy' "USER"++{-# COMPLETE+ TriggeredBy_APPCONFIG,+ TriggeredBy_CLOUDWATCH_ALARM,+ TriggeredBy_INTERNAL_ERROR,+ TriggeredBy_USER,+ TriggeredBy'+ #-}
+ gen/Amazonka/AppConfig/Types/Validator.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.Validator+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.Validator where++import Amazonka.AppConfig.Types.ValidatorType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A validator provides a syntactic or semantic check to ensure the+-- configuration that you want to deploy functions as intended. To validate+-- your application configuration data, you provide a schema or an Amazon+-- Web Services Lambda function that runs against the configuration. The+-- configuration deployment or update can only proceed when the+-- configuration data is valid.+--+-- /See:/ 'newValidator' smart constructor.+data Validator = Validator'+ { -- | AppConfig supports validators of type @JSON_SCHEMA@ and @LAMBDA@+ type' :: ValidatorType,+ -- | Either the JSON Schema content or the Amazon Resource Name (ARN) of an+ -- Lambda function.+ content :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Validator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'validator_type' - AppConfig supports validators of type @JSON_SCHEMA@ and @LAMBDA@+--+-- 'content', 'validator_content' - Either the JSON Schema content or the Amazon Resource Name (ARN) of an+-- Lambda function.+newValidator ::+ -- | 'type''+ ValidatorType ->+ -- | 'content'+ Prelude.Text ->+ Validator+newValidator pType_ pContent_ =+ Validator'+ { type' = pType_,+ content = Data._Sensitive Lens.# pContent_+ }++-- | AppConfig supports validators of type @JSON_SCHEMA@ and @LAMBDA@+validator_type :: Lens.Lens' Validator ValidatorType+validator_type = Lens.lens (\Validator' {type'} -> type') (\s@Validator' {} a -> s {type' = a} :: Validator)++-- | Either the JSON Schema content or the Amazon Resource Name (ARN) of an+-- Lambda function.+validator_content :: Lens.Lens' Validator Prelude.Text+validator_content = Lens.lens (\Validator' {content} -> content) (\s@Validator' {} a -> s {content = a} :: Validator) Prelude.. Data._Sensitive++instance Data.FromJSON Validator where+ parseJSON =+ Data.withObject+ "Validator"+ ( \x ->+ Validator'+ Prelude.<$> (x Data..: "Type")+ Prelude.<*> (x Data..: "Content")+ )++instance Prelude.Hashable Validator where+ hashWithSalt _salt Validator' {..} =+ _salt+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` content++instance Prelude.NFData Validator where+ rnf Validator' {..} =+ Prelude.rnf type' `Prelude.seq` Prelude.rnf content++instance Data.ToJSON Validator where+ toJSON Validator' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Type" Data..= type'),+ Prelude.Just ("Content" Data..= content)+ ]+ )
+ gen/Amazonka/AppConfig/Types/ValidatorType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Types.ValidatorType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Types.ValidatorType+ ( ValidatorType+ ( ..,+ ValidatorType_JSON_SCHEMA,+ ValidatorType_LAMBDA+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ValidatorType = ValidatorType'+ { fromValidatorType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ValidatorType_JSON_SCHEMA :: ValidatorType+pattern ValidatorType_JSON_SCHEMA = ValidatorType' "JSON_SCHEMA"++pattern ValidatorType_LAMBDA :: ValidatorType+pattern ValidatorType_LAMBDA = ValidatorType' "LAMBDA"++{-# COMPLETE+ ValidatorType_JSON_SCHEMA,+ ValidatorType_LAMBDA,+ ValidatorType'+ #-}
+ gen/Amazonka/AppConfig/UntagResource.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a tag key and value from an AppConfig resource.+module Amazonka.AppConfig.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The ARN of the resource for which to remove tags.+ resourceArn :: Prelude.Text,+ -- | The tag keys to delete.+ tagKeys :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The ARN of the resource for which to remove tags.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys to delete.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | The ARN of the resource for which to remove tags.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tag keys to delete.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull UntagResourceResponse'++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath UntagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newUntagResourceResponse ::+ UntagResourceResponse+newUntagResourceResponse = UntagResourceResponse'++instance Prelude.NFData UntagResourceResponse where+ rnf _ = ()
+ gen/Amazonka/AppConfig/UpdateApplication.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.UpdateApplication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an application.+module Amazonka.AppConfig.UpdateApplication+ ( -- * Creating a Request+ UpdateApplication (..),+ newUpdateApplication,++ -- * Request Lenses+ updateApplication_description,+ updateApplication_name,+ updateApplication_applicationId,++ -- * Destructuring the Response+ Application (..),+ newApplication,++ -- * Response Lenses+ application_description,+ application_id,+ application_name,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateApplication' smart constructor.+data UpdateApplication = UpdateApplication'+ { -- | A description of the application.+ description :: Prelude.Maybe Prelude.Text,+ -- | The name of the application.+ name :: Prelude.Maybe Prelude.Text,+ -- | The application ID.+ applicationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateApplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateApplication_description' - A description of the application.+--+-- 'name', 'updateApplication_name' - The name of the application.+--+-- 'applicationId', 'updateApplication_applicationId' - The application ID.+newUpdateApplication ::+ -- | 'applicationId'+ Prelude.Text ->+ UpdateApplication+newUpdateApplication pApplicationId_ =+ UpdateApplication'+ { description = Prelude.Nothing,+ name = Prelude.Nothing,+ applicationId = pApplicationId_+ }++-- | A description of the application.+updateApplication_description :: Lens.Lens' UpdateApplication (Prelude.Maybe Prelude.Text)+updateApplication_description = Lens.lens (\UpdateApplication' {description} -> description) (\s@UpdateApplication' {} a -> s {description = a} :: UpdateApplication)++-- | The name of the application.+updateApplication_name :: Lens.Lens' UpdateApplication (Prelude.Maybe Prelude.Text)+updateApplication_name = Lens.lens (\UpdateApplication' {name} -> name) (\s@UpdateApplication' {} a -> s {name = a} :: UpdateApplication)++-- | The application ID.+updateApplication_applicationId :: Lens.Lens' UpdateApplication Prelude.Text+updateApplication_applicationId = Lens.lens (\UpdateApplication' {applicationId} -> applicationId) (\s@UpdateApplication' {} a -> s {applicationId = a} :: UpdateApplication)++instance Core.AWSRequest UpdateApplication where+ type AWSResponse UpdateApplication = Application+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable UpdateApplication where+ hashWithSalt _salt UpdateApplication' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` applicationId++instance Prelude.NFData UpdateApplication where+ rnf UpdateApplication' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf applicationId++instance Data.ToHeaders UpdateApplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateApplication where+ toJSON UpdateApplication' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("Name" Data..=) Prelude.<$> name+ ]+ )++instance Data.ToPath UpdateApplication where+ toPath UpdateApplication' {..} =+ Prelude.mconcat+ ["/applications/", Data.toBS applicationId]++instance Data.ToQuery UpdateApplication where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/UpdateConfigurationProfile.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.UpdateConfigurationProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a configuration profile.+module Amazonka.AppConfig.UpdateConfigurationProfile+ ( -- * Creating a Request+ UpdateConfigurationProfile (..),+ newUpdateConfigurationProfile,++ -- * Request Lenses+ updateConfigurationProfile_description,+ updateConfigurationProfile_name,+ updateConfigurationProfile_retrievalRoleArn,+ updateConfigurationProfile_validators,+ updateConfigurationProfile_applicationId,+ updateConfigurationProfile_configurationProfileId,++ -- * Destructuring the Response+ ConfigurationProfile (..),+ newConfigurationProfile,++ -- * Response Lenses+ configurationProfile_applicationId,+ configurationProfile_description,+ configurationProfile_id,+ configurationProfile_locationUri,+ configurationProfile_name,+ configurationProfile_retrievalRoleArn,+ configurationProfile_type,+ configurationProfile_validators,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateConfigurationProfile' smart constructor.+data UpdateConfigurationProfile = UpdateConfigurationProfile'+ { -- | A description of the configuration profile.+ description :: Prelude.Maybe Prelude.Text,+ -- | The name of the configuration profile.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ARN of an IAM role with permission to access the configuration at+ -- the specified @LocationUri@.+ retrievalRoleArn :: Prelude.Maybe Prelude.Text,+ -- | A list of methods for validating the configuration.+ validators :: Prelude.Maybe [Validator],+ -- | The application ID.+ applicationId :: Prelude.Text,+ -- | The ID of the configuration profile.+ configurationProfileId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateConfigurationProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateConfigurationProfile_description' - A description of the configuration profile.+--+-- 'name', 'updateConfigurationProfile_name' - The name of the configuration profile.+--+-- 'retrievalRoleArn', 'updateConfigurationProfile_retrievalRoleArn' - The ARN of an IAM role with permission to access the configuration at+-- the specified @LocationUri@.+--+-- 'validators', 'updateConfigurationProfile_validators' - A list of methods for validating the configuration.+--+-- 'applicationId', 'updateConfigurationProfile_applicationId' - The application ID.+--+-- 'configurationProfileId', 'updateConfigurationProfile_configurationProfileId' - The ID of the configuration profile.+newUpdateConfigurationProfile ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'configurationProfileId'+ Prelude.Text ->+ UpdateConfigurationProfile+newUpdateConfigurationProfile+ pApplicationId_+ pConfigurationProfileId_ =+ UpdateConfigurationProfile'+ { description =+ Prelude.Nothing,+ name = Prelude.Nothing,+ retrievalRoleArn = Prelude.Nothing,+ validators = Prelude.Nothing,+ applicationId = pApplicationId_,+ configurationProfileId =+ pConfigurationProfileId_+ }++-- | A description of the configuration profile.+updateConfigurationProfile_description :: Lens.Lens' UpdateConfigurationProfile (Prelude.Maybe Prelude.Text)+updateConfigurationProfile_description = Lens.lens (\UpdateConfigurationProfile' {description} -> description) (\s@UpdateConfigurationProfile' {} a -> s {description = a} :: UpdateConfigurationProfile)++-- | The name of the configuration profile.+updateConfigurationProfile_name :: Lens.Lens' UpdateConfigurationProfile (Prelude.Maybe Prelude.Text)+updateConfigurationProfile_name = Lens.lens (\UpdateConfigurationProfile' {name} -> name) (\s@UpdateConfigurationProfile' {} a -> s {name = a} :: UpdateConfigurationProfile)++-- | The ARN of an IAM role with permission to access the configuration at+-- the specified @LocationUri@.+updateConfigurationProfile_retrievalRoleArn :: Lens.Lens' UpdateConfigurationProfile (Prelude.Maybe Prelude.Text)+updateConfigurationProfile_retrievalRoleArn = Lens.lens (\UpdateConfigurationProfile' {retrievalRoleArn} -> retrievalRoleArn) (\s@UpdateConfigurationProfile' {} a -> s {retrievalRoleArn = a} :: UpdateConfigurationProfile)++-- | A list of methods for validating the configuration.+updateConfigurationProfile_validators :: Lens.Lens' UpdateConfigurationProfile (Prelude.Maybe [Validator])+updateConfigurationProfile_validators = Lens.lens (\UpdateConfigurationProfile' {validators} -> validators) (\s@UpdateConfigurationProfile' {} a -> s {validators = a} :: UpdateConfigurationProfile) Prelude.. Lens.mapping Lens.coerced++-- | The application ID.+updateConfigurationProfile_applicationId :: Lens.Lens' UpdateConfigurationProfile Prelude.Text+updateConfigurationProfile_applicationId = Lens.lens (\UpdateConfigurationProfile' {applicationId} -> applicationId) (\s@UpdateConfigurationProfile' {} a -> s {applicationId = a} :: UpdateConfigurationProfile)++-- | The ID of the configuration profile.+updateConfigurationProfile_configurationProfileId :: Lens.Lens' UpdateConfigurationProfile Prelude.Text+updateConfigurationProfile_configurationProfileId = Lens.lens (\UpdateConfigurationProfile' {configurationProfileId} -> configurationProfileId) (\s@UpdateConfigurationProfile' {} a -> s {configurationProfileId = a} :: UpdateConfigurationProfile)++instance Core.AWSRequest UpdateConfigurationProfile where+ type+ AWSResponse UpdateConfigurationProfile =+ ConfigurationProfile+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable UpdateConfigurationProfile where+ hashWithSalt _salt UpdateConfigurationProfile' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` retrievalRoleArn+ `Prelude.hashWithSalt` validators+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` configurationProfileId++instance Prelude.NFData UpdateConfigurationProfile where+ rnf UpdateConfigurationProfile' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf retrievalRoleArn+ `Prelude.seq` Prelude.rnf validators+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf configurationProfileId++instance Data.ToHeaders UpdateConfigurationProfile where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateConfigurationProfile where+ toJSON UpdateConfigurationProfile' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("Name" Data..=) Prelude.<$> name,+ ("RetrievalRoleArn" Data..=)+ Prelude.<$> retrievalRoleArn,+ ("Validators" Data..=) Prelude.<$> validators+ ]+ )++instance Data.ToPath UpdateConfigurationProfile where+ toPath UpdateConfigurationProfile' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/configurationprofiles/",+ Data.toBS configurationProfileId+ ]++instance Data.ToQuery UpdateConfigurationProfile where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/UpdateDeploymentStrategy.hs view
@@ -0,0 +1,285 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.UpdateDeploymentStrategy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a deployment strategy.+module Amazonka.AppConfig.UpdateDeploymentStrategy+ ( -- * Creating a Request+ UpdateDeploymentStrategy (..),+ newUpdateDeploymentStrategy,++ -- * Request Lenses+ updateDeploymentStrategy_deploymentDurationInMinutes,+ updateDeploymentStrategy_description,+ updateDeploymentStrategy_finalBakeTimeInMinutes,+ updateDeploymentStrategy_growthFactor,+ updateDeploymentStrategy_growthType,+ updateDeploymentStrategy_deploymentStrategyId,++ -- * Destructuring the Response+ DeploymentStrategy (..),+ newDeploymentStrategy,++ -- * Response Lenses+ deploymentStrategy_deploymentDurationInMinutes,+ deploymentStrategy_description,+ deploymentStrategy_finalBakeTimeInMinutes,+ deploymentStrategy_growthFactor,+ deploymentStrategy_growthType,+ deploymentStrategy_id,+ deploymentStrategy_name,+ deploymentStrategy_replicateTo,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDeploymentStrategy' smart constructor.+data UpdateDeploymentStrategy = UpdateDeploymentStrategy'+ { -- | Total amount of time for a deployment to last.+ deploymentDurationInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | A description of the deployment strategy.+ description :: Prelude.Maybe Prelude.Text,+ -- | The amount of time that AppConfig monitors for alarms before considering+ -- the deployment to be complete and no longer eligible for automatic+ -- rollback.+ finalBakeTimeInMinutes :: Prelude.Maybe Prelude.Natural,+ -- | The percentage of targets to receive a deployed configuration during+ -- each interval.+ growthFactor :: Prelude.Maybe Prelude.Double,+ -- | The algorithm used to define how percentage grows over time. AppConfig+ -- supports the following growth types:+ --+ -- __Linear__: For this type, AppConfig processes the deployment by+ -- increments of the growth factor evenly distributed over the deployment+ -- time. For example, a linear deployment that uses a growth factor of 20+ -- initially makes the configuration available to 20 percent of the+ -- targets. After 1\/5th of the deployment time has passed, the system+ -- updates the percentage to 40 percent. This continues until 100% of the+ -- targets are set to receive the deployed configuration.+ --+ -- __Exponential__: For this type, AppConfig processes the deployment+ -- exponentially using the following formula: @G*(2^N)@. In this formula,+ -- @G@ is the growth factor specified by the user and @N@ is the number of+ -- steps until the configuration is deployed to all targets. For example,+ -- if you specify a growth factor of 2, then the system rolls out the+ -- configuration as follows:+ --+ -- @2*(2^0)@+ --+ -- @2*(2^1)@+ --+ -- @2*(2^2)@+ --+ -- Expressed numerically, the deployment rolls out as follows: 2% of the+ -- targets, 4% of the targets, 8% of the targets, and continues until the+ -- configuration has been deployed to all targets.+ growthType :: Prelude.Maybe GrowthType,+ -- | The deployment strategy ID.+ deploymentStrategyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDeploymentStrategy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deploymentDurationInMinutes', 'updateDeploymentStrategy_deploymentDurationInMinutes' - Total amount of time for a deployment to last.+--+-- 'description', 'updateDeploymentStrategy_description' - A description of the deployment strategy.+--+-- 'finalBakeTimeInMinutes', 'updateDeploymentStrategy_finalBakeTimeInMinutes' - The amount of time that AppConfig monitors for alarms before considering+-- the deployment to be complete and no longer eligible for automatic+-- rollback.+--+-- 'growthFactor', 'updateDeploymentStrategy_growthFactor' - The percentage of targets to receive a deployed configuration during+-- each interval.+--+-- 'growthType', 'updateDeploymentStrategy_growthType' - The algorithm used to define how percentage grows over time. AppConfig+-- supports the following growth types:+--+-- __Linear__: For this type, AppConfig processes the deployment by+-- increments of the growth factor evenly distributed over the deployment+-- time. For example, a linear deployment that uses a growth factor of 20+-- initially makes the configuration available to 20 percent of the+-- targets. After 1\/5th of the deployment time has passed, the system+-- updates the percentage to 40 percent. This continues until 100% of the+-- targets are set to receive the deployed configuration.+--+-- __Exponential__: For this type, AppConfig processes the deployment+-- exponentially using the following formula: @G*(2^N)@. In this formula,+-- @G@ is the growth factor specified by the user and @N@ is the number of+-- steps until the configuration is deployed to all targets. For example,+-- if you specify a growth factor of 2, then the system rolls out the+-- configuration as follows:+--+-- @2*(2^0)@+--+-- @2*(2^1)@+--+-- @2*(2^2)@+--+-- Expressed numerically, the deployment rolls out as follows: 2% of the+-- targets, 4% of the targets, 8% of the targets, and continues until the+-- configuration has been deployed to all targets.+--+-- 'deploymentStrategyId', 'updateDeploymentStrategy_deploymentStrategyId' - The deployment strategy ID.+newUpdateDeploymentStrategy ::+ -- | 'deploymentStrategyId'+ Prelude.Text ->+ UpdateDeploymentStrategy+newUpdateDeploymentStrategy pDeploymentStrategyId_ =+ UpdateDeploymentStrategy'+ { deploymentDurationInMinutes =+ Prelude.Nothing,+ description = Prelude.Nothing,+ finalBakeTimeInMinutes = Prelude.Nothing,+ growthFactor = Prelude.Nothing,+ growthType = Prelude.Nothing,+ deploymentStrategyId = pDeploymentStrategyId_+ }++-- | Total amount of time for a deployment to last.+updateDeploymentStrategy_deploymentDurationInMinutes :: Lens.Lens' UpdateDeploymentStrategy (Prelude.Maybe Prelude.Natural)+updateDeploymentStrategy_deploymentDurationInMinutes = Lens.lens (\UpdateDeploymentStrategy' {deploymentDurationInMinutes} -> deploymentDurationInMinutes) (\s@UpdateDeploymentStrategy' {} a -> s {deploymentDurationInMinutes = a} :: UpdateDeploymentStrategy)++-- | A description of the deployment strategy.+updateDeploymentStrategy_description :: Lens.Lens' UpdateDeploymentStrategy (Prelude.Maybe Prelude.Text)+updateDeploymentStrategy_description = Lens.lens (\UpdateDeploymentStrategy' {description} -> description) (\s@UpdateDeploymentStrategy' {} a -> s {description = a} :: UpdateDeploymentStrategy)++-- | The amount of time that AppConfig monitors for alarms before considering+-- the deployment to be complete and no longer eligible for automatic+-- rollback.+updateDeploymentStrategy_finalBakeTimeInMinutes :: Lens.Lens' UpdateDeploymentStrategy (Prelude.Maybe Prelude.Natural)+updateDeploymentStrategy_finalBakeTimeInMinutes = Lens.lens (\UpdateDeploymentStrategy' {finalBakeTimeInMinutes} -> finalBakeTimeInMinutes) (\s@UpdateDeploymentStrategy' {} a -> s {finalBakeTimeInMinutes = a} :: UpdateDeploymentStrategy)++-- | The percentage of targets to receive a deployed configuration during+-- each interval.+updateDeploymentStrategy_growthFactor :: Lens.Lens' UpdateDeploymentStrategy (Prelude.Maybe Prelude.Double)+updateDeploymentStrategy_growthFactor = Lens.lens (\UpdateDeploymentStrategy' {growthFactor} -> growthFactor) (\s@UpdateDeploymentStrategy' {} a -> s {growthFactor = a} :: UpdateDeploymentStrategy)++-- | The algorithm used to define how percentage grows over time. AppConfig+-- supports the following growth types:+--+-- __Linear__: For this type, AppConfig processes the deployment by+-- increments of the growth factor evenly distributed over the deployment+-- time. For example, a linear deployment that uses a growth factor of 20+-- initially makes the configuration available to 20 percent of the+-- targets. After 1\/5th of the deployment time has passed, the system+-- updates the percentage to 40 percent. This continues until 100% of the+-- targets are set to receive the deployed configuration.+--+-- __Exponential__: For this type, AppConfig processes the deployment+-- exponentially using the following formula: @G*(2^N)@. In this formula,+-- @G@ is the growth factor specified by the user and @N@ is the number of+-- steps until the configuration is deployed to all targets. For example,+-- if you specify a growth factor of 2, then the system rolls out the+-- configuration as follows:+--+-- @2*(2^0)@+--+-- @2*(2^1)@+--+-- @2*(2^2)@+--+-- Expressed numerically, the deployment rolls out as follows: 2% of the+-- targets, 4% of the targets, 8% of the targets, and continues until the+-- configuration has been deployed to all targets.+updateDeploymentStrategy_growthType :: Lens.Lens' UpdateDeploymentStrategy (Prelude.Maybe GrowthType)+updateDeploymentStrategy_growthType = Lens.lens (\UpdateDeploymentStrategy' {growthType} -> growthType) (\s@UpdateDeploymentStrategy' {} a -> s {growthType = a} :: UpdateDeploymentStrategy)++-- | The deployment strategy ID.+updateDeploymentStrategy_deploymentStrategyId :: Lens.Lens' UpdateDeploymentStrategy Prelude.Text+updateDeploymentStrategy_deploymentStrategyId = Lens.lens (\UpdateDeploymentStrategy' {deploymentStrategyId} -> deploymentStrategyId) (\s@UpdateDeploymentStrategy' {} a -> s {deploymentStrategyId = a} :: UpdateDeploymentStrategy)++instance Core.AWSRequest UpdateDeploymentStrategy where+ type+ AWSResponse UpdateDeploymentStrategy =+ DeploymentStrategy+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable UpdateDeploymentStrategy where+ hashWithSalt _salt UpdateDeploymentStrategy' {..} =+ _salt+ `Prelude.hashWithSalt` deploymentDurationInMinutes+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` finalBakeTimeInMinutes+ `Prelude.hashWithSalt` growthFactor+ `Prelude.hashWithSalt` growthType+ `Prelude.hashWithSalt` deploymentStrategyId++instance Prelude.NFData UpdateDeploymentStrategy where+ rnf UpdateDeploymentStrategy' {..} =+ Prelude.rnf deploymentDurationInMinutes+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf finalBakeTimeInMinutes+ `Prelude.seq` Prelude.rnf growthFactor+ `Prelude.seq` Prelude.rnf growthType+ `Prelude.seq` Prelude.rnf deploymentStrategyId++instance Data.ToHeaders UpdateDeploymentStrategy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateDeploymentStrategy where+ toJSON UpdateDeploymentStrategy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DeploymentDurationInMinutes" Data..=)+ Prelude.<$> deploymentDurationInMinutes,+ ("Description" Data..=) Prelude.<$> description,+ ("FinalBakeTimeInMinutes" Data..=)+ Prelude.<$> finalBakeTimeInMinutes,+ ("GrowthFactor" Data..=) Prelude.<$> growthFactor,+ ("GrowthType" Data..=) Prelude.<$> growthType+ ]+ )++instance Data.ToPath UpdateDeploymentStrategy where+ toPath UpdateDeploymentStrategy' {..} =+ Prelude.mconcat+ [ "/deploymentstrategies/",+ Data.toBS deploymentStrategyId+ ]++instance Data.ToQuery UpdateDeploymentStrategy where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/UpdateEnvironment.hs view
@@ -0,0 +1,181 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.UpdateEnvironment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an environment.+module Amazonka.AppConfig.UpdateEnvironment+ ( -- * Creating a Request+ UpdateEnvironment (..),+ newUpdateEnvironment,++ -- * Request Lenses+ updateEnvironment_description,+ updateEnvironment_monitors,+ updateEnvironment_name,+ updateEnvironment_applicationId,+ updateEnvironment_environmentId,++ -- * Destructuring the Response+ Environment (..),+ newEnvironment,++ -- * Response Lenses+ environment_applicationId,+ environment_description,+ environment_id,+ environment_monitors,+ environment_name,+ environment_state,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateEnvironment' smart constructor.+data UpdateEnvironment = UpdateEnvironment'+ { -- | A description of the environment.+ description :: Prelude.Maybe Prelude.Text,+ -- | Amazon CloudWatch alarms to monitor during the deployment process.+ monitors :: Prelude.Maybe [Monitor],+ -- | The name of the environment.+ name :: Prelude.Maybe Prelude.Text,+ -- | The application ID.+ applicationId :: Prelude.Text,+ -- | The environment ID.+ environmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateEnvironment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateEnvironment_description' - A description of the environment.+--+-- 'monitors', 'updateEnvironment_monitors' - Amazon CloudWatch alarms to monitor during the deployment process.+--+-- 'name', 'updateEnvironment_name' - The name of the environment.+--+-- 'applicationId', 'updateEnvironment_applicationId' - The application ID.+--+-- 'environmentId', 'updateEnvironment_environmentId' - The environment ID.+newUpdateEnvironment ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'environmentId'+ Prelude.Text ->+ UpdateEnvironment+newUpdateEnvironment pApplicationId_ pEnvironmentId_ =+ UpdateEnvironment'+ { description = Prelude.Nothing,+ monitors = Prelude.Nothing,+ name = Prelude.Nothing,+ applicationId = pApplicationId_,+ environmentId = pEnvironmentId_+ }++-- | A description of the environment.+updateEnvironment_description :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)+updateEnvironment_description = Lens.lens (\UpdateEnvironment' {description} -> description) (\s@UpdateEnvironment' {} a -> s {description = a} :: UpdateEnvironment)++-- | Amazon CloudWatch alarms to monitor during the deployment process.+updateEnvironment_monitors :: Lens.Lens' UpdateEnvironment (Prelude.Maybe [Monitor])+updateEnvironment_monitors = Lens.lens (\UpdateEnvironment' {monitors} -> monitors) (\s@UpdateEnvironment' {} a -> s {monitors = a} :: UpdateEnvironment) Prelude.. Lens.mapping Lens.coerced++-- | The name of the environment.+updateEnvironment_name :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)+updateEnvironment_name = Lens.lens (\UpdateEnvironment' {name} -> name) (\s@UpdateEnvironment' {} a -> s {name = a} :: UpdateEnvironment)++-- | The application ID.+updateEnvironment_applicationId :: Lens.Lens' UpdateEnvironment Prelude.Text+updateEnvironment_applicationId = Lens.lens (\UpdateEnvironment' {applicationId} -> applicationId) (\s@UpdateEnvironment' {} a -> s {applicationId = a} :: UpdateEnvironment)++-- | The environment ID.+updateEnvironment_environmentId :: Lens.Lens' UpdateEnvironment Prelude.Text+updateEnvironment_environmentId = Lens.lens (\UpdateEnvironment' {environmentId} -> environmentId) (\s@UpdateEnvironment' {} a -> s {environmentId = a} :: UpdateEnvironment)++instance Core.AWSRequest UpdateEnvironment where+ type AWSResponse UpdateEnvironment = Environment+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable UpdateEnvironment where+ hashWithSalt _salt UpdateEnvironment' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` monitors+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` environmentId++instance Prelude.NFData UpdateEnvironment where+ rnf UpdateEnvironment' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf monitors+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf environmentId++instance Data.ToHeaders UpdateEnvironment where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateEnvironment where+ toJSON UpdateEnvironment' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("Monitors" Data..=) Prelude.<$> monitors,+ ("Name" Data..=) Prelude.<$> name+ ]+ )++instance Data.ToPath UpdateEnvironment where+ toPath UpdateEnvironment' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/environments/",+ Data.toBS environmentId+ ]++instance Data.ToQuery UpdateEnvironment where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/UpdateExtension.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.UpdateExtension+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an AppConfig extension. For more information about extensions,+-- see+-- <https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html Working with AppConfig extensions>+-- in the /AppConfig User Guide/.+module Amazonka.AppConfig.UpdateExtension+ ( -- * Creating a Request+ UpdateExtension (..),+ newUpdateExtension,++ -- * Request Lenses+ updateExtension_actions,+ updateExtension_description,+ updateExtension_parameters,+ updateExtension_versionNumber,+ updateExtension_extensionIdentifier,++ -- * Destructuring the Response+ Extension (..),+ newExtension,++ -- * Response Lenses+ extension_actions,+ extension_arn,+ extension_description,+ extension_id,+ extension_name,+ extension_parameters,+ extension_versionNumber,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateExtension' smart constructor.+data UpdateExtension = UpdateExtension'+ { -- | The actions defined in the extension.+ actions :: Prelude.Maybe (Prelude.HashMap ActionPoint (Prelude.NonEmpty Action)),+ -- | Information about the extension.+ description :: Prelude.Maybe Prelude.Text,+ -- | One or more parameters for the actions called by the extension.+ parameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Parameter),+ -- | The extension version number.+ versionNumber :: Prelude.Maybe Prelude.Int,+ -- | The name, the ID, or the Amazon Resource Name (ARN) of the extension.+ extensionIdentifier :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateExtension' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'updateExtension_actions' - The actions defined in the extension.+--+-- 'description', 'updateExtension_description' - Information about the extension.+--+-- 'parameters', 'updateExtension_parameters' - One or more parameters for the actions called by the extension.+--+-- 'versionNumber', 'updateExtension_versionNumber' - The extension version number.+--+-- 'extensionIdentifier', 'updateExtension_extensionIdentifier' - The name, the ID, or the Amazon Resource Name (ARN) of the extension.+newUpdateExtension ::+ -- | 'extensionIdentifier'+ Prelude.Text ->+ UpdateExtension+newUpdateExtension pExtensionIdentifier_ =+ UpdateExtension'+ { actions = Prelude.Nothing,+ description = Prelude.Nothing,+ parameters = Prelude.Nothing,+ versionNumber = Prelude.Nothing,+ extensionIdentifier = pExtensionIdentifier_+ }++-- | The actions defined in the extension.+updateExtension_actions :: Lens.Lens' UpdateExtension (Prelude.Maybe (Prelude.HashMap ActionPoint (Prelude.NonEmpty Action)))+updateExtension_actions = Lens.lens (\UpdateExtension' {actions} -> actions) (\s@UpdateExtension' {} a -> s {actions = a} :: UpdateExtension) Prelude.. Lens.mapping Lens.coerced++-- | Information about the extension.+updateExtension_description :: Lens.Lens' UpdateExtension (Prelude.Maybe Prelude.Text)+updateExtension_description = Lens.lens (\UpdateExtension' {description} -> description) (\s@UpdateExtension' {} a -> s {description = a} :: UpdateExtension)++-- | One or more parameters for the actions called by the extension.+updateExtension_parameters :: Lens.Lens' UpdateExtension (Prelude.Maybe (Prelude.HashMap Prelude.Text Parameter))+updateExtension_parameters = Lens.lens (\UpdateExtension' {parameters} -> parameters) (\s@UpdateExtension' {} a -> s {parameters = a} :: UpdateExtension) Prelude.. Lens.mapping Lens.coerced++-- | The extension version number.+updateExtension_versionNumber :: Lens.Lens' UpdateExtension (Prelude.Maybe Prelude.Int)+updateExtension_versionNumber = Lens.lens (\UpdateExtension' {versionNumber} -> versionNumber) (\s@UpdateExtension' {} a -> s {versionNumber = a} :: UpdateExtension)++-- | The name, the ID, or the Amazon Resource Name (ARN) of the extension.+updateExtension_extensionIdentifier :: Lens.Lens' UpdateExtension Prelude.Text+updateExtension_extensionIdentifier = Lens.lens (\UpdateExtension' {extensionIdentifier} -> extensionIdentifier) (\s@UpdateExtension' {} a -> s {extensionIdentifier = a} :: UpdateExtension)++instance Core.AWSRequest UpdateExtension where+ type AWSResponse UpdateExtension = Extension+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable UpdateExtension where+ hashWithSalt _salt UpdateExtension' {..} =+ _salt+ `Prelude.hashWithSalt` actions+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` parameters+ `Prelude.hashWithSalt` versionNumber+ `Prelude.hashWithSalt` extensionIdentifier++instance Prelude.NFData UpdateExtension where+ rnf UpdateExtension' {..} =+ Prelude.rnf actions+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf parameters+ `Prelude.seq` Prelude.rnf versionNumber+ `Prelude.seq` Prelude.rnf extensionIdentifier++instance Data.ToHeaders UpdateExtension where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateExtension where+ toJSON UpdateExtension' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Actions" Data..=) Prelude.<$> actions,+ ("Description" Data..=) Prelude.<$> description,+ ("Parameters" Data..=) Prelude.<$> parameters,+ ("VersionNumber" Data..=) Prelude.<$> versionNumber+ ]+ )++instance Data.ToPath UpdateExtension where+ toPath UpdateExtension' {..} =+ Prelude.mconcat+ ["/extensions/", Data.toBS extensionIdentifier]++instance Data.ToQuery UpdateExtension where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/UpdateExtensionAssociation.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.UpdateExtensionAssociation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an association. For more information about extensions and+-- associations, see+-- <https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html Working with AppConfig extensions>+-- in the /AppConfig User Guide/.+module Amazonka.AppConfig.UpdateExtensionAssociation+ ( -- * Creating a Request+ UpdateExtensionAssociation (..),+ newUpdateExtensionAssociation,++ -- * Request Lenses+ updateExtensionAssociation_parameters,+ updateExtensionAssociation_extensionAssociationId,++ -- * Destructuring the Response+ ExtensionAssociation (..),+ newExtensionAssociation,++ -- * Response Lenses+ extensionAssociation_arn,+ extensionAssociation_extensionArn,+ extensionAssociation_extensionVersionNumber,+ extensionAssociation_id,+ extensionAssociation_parameters,+ extensionAssociation_resourceArn,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateExtensionAssociation' smart constructor.+data UpdateExtensionAssociation = UpdateExtensionAssociation'+ { -- | The parameter names and values defined in the extension.+ parameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The system-generated ID for the association.+ extensionAssociationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateExtensionAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'parameters', 'updateExtensionAssociation_parameters' - The parameter names and values defined in the extension.+--+-- 'extensionAssociationId', 'updateExtensionAssociation_extensionAssociationId' - The system-generated ID for the association.+newUpdateExtensionAssociation ::+ -- | 'extensionAssociationId'+ Prelude.Text ->+ UpdateExtensionAssociation+newUpdateExtensionAssociation+ pExtensionAssociationId_ =+ UpdateExtensionAssociation'+ { parameters =+ Prelude.Nothing,+ extensionAssociationId =+ pExtensionAssociationId_+ }++-- | The parameter names and values defined in the extension.+updateExtensionAssociation_parameters :: Lens.Lens' UpdateExtensionAssociation (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateExtensionAssociation_parameters = Lens.lens (\UpdateExtensionAssociation' {parameters} -> parameters) (\s@UpdateExtensionAssociation' {} a -> s {parameters = a} :: UpdateExtensionAssociation) Prelude.. Lens.mapping Lens.coerced++-- | The system-generated ID for the association.+updateExtensionAssociation_extensionAssociationId :: Lens.Lens' UpdateExtensionAssociation Prelude.Text+updateExtensionAssociation_extensionAssociationId = Lens.lens (\UpdateExtensionAssociation' {extensionAssociationId} -> extensionAssociationId) (\s@UpdateExtensionAssociation' {} a -> s {extensionAssociationId = a} :: UpdateExtensionAssociation)++instance Core.AWSRequest UpdateExtensionAssociation where+ type+ AWSResponse UpdateExtensionAssociation =+ ExtensionAssociation+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable UpdateExtensionAssociation where+ hashWithSalt _salt UpdateExtensionAssociation' {..} =+ _salt+ `Prelude.hashWithSalt` parameters+ `Prelude.hashWithSalt` extensionAssociationId++instance Prelude.NFData UpdateExtensionAssociation where+ rnf UpdateExtensionAssociation' {..} =+ Prelude.rnf parameters+ `Prelude.seq` Prelude.rnf extensionAssociationId++instance Data.ToHeaders UpdateExtensionAssociation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateExtensionAssociation where+ toJSON UpdateExtensionAssociation' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Parameters" Data..=) Prelude.<$> parameters]+ )++instance Data.ToPath UpdateExtensionAssociation where+ toPath UpdateExtensionAssociation' {..} =+ Prelude.mconcat+ [ "/extensionassociations/",+ Data.toBS extensionAssociationId+ ]++instance Data.ToQuery UpdateExtensionAssociation where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/AppConfig/ValidateConfiguration.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.ValidateConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Uses the validators in a configuration profile to validate a+-- configuration.+module Amazonka.AppConfig.ValidateConfiguration+ ( -- * Creating a Request+ ValidateConfiguration (..),+ newValidateConfiguration,++ -- * Request Lenses+ validateConfiguration_applicationId,+ validateConfiguration_configurationProfileId,+ validateConfiguration_configurationVersion,++ -- * Destructuring the Response+ ValidateConfigurationResponse (..),+ newValidateConfigurationResponse,+ )+where++import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newValidateConfiguration' smart constructor.+data ValidateConfiguration = ValidateConfiguration'+ { -- | The application ID.+ applicationId :: Prelude.Text,+ -- | The configuration profile ID.+ configurationProfileId :: Prelude.Text,+ -- | The version of the configuration to validate.+ configurationVersion :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ValidateConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationId', 'validateConfiguration_applicationId' - The application ID.+--+-- 'configurationProfileId', 'validateConfiguration_configurationProfileId' - The configuration profile ID.+--+-- 'configurationVersion', 'validateConfiguration_configurationVersion' - The version of the configuration to validate.+newValidateConfiguration ::+ -- | 'applicationId'+ Prelude.Text ->+ -- | 'configurationProfileId'+ Prelude.Text ->+ -- | 'configurationVersion'+ Prelude.Text ->+ ValidateConfiguration+newValidateConfiguration+ pApplicationId_+ pConfigurationProfileId_+ pConfigurationVersion_ =+ ValidateConfiguration'+ { applicationId =+ pApplicationId_,+ configurationProfileId = pConfigurationProfileId_,+ configurationVersion = pConfigurationVersion_+ }++-- | The application ID.+validateConfiguration_applicationId :: Lens.Lens' ValidateConfiguration Prelude.Text+validateConfiguration_applicationId = Lens.lens (\ValidateConfiguration' {applicationId} -> applicationId) (\s@ValidateConfiguration' {} a -> s {applicationId = a} :: ValidateConfiguration)++-- | The configuration profile ID.+validateConfiguration_configurationProfileId :: Lens.Lens' ValidateConfiguration Prelude.Text+validateConfiguration_configurationProfileId = Lens.lens (\ValidateConfiguration' {configurationProfileId} -> configurationProfileId) (\s@ValidateConfiguration' {} a -> s {configurationProfileId = a} :: ValidateConfiguration)++-- | The version of the configuration to validate.+validateConfiguration_configurationVersion :: Lens.Lens' ValidateConfiguration Prelude.Text+validateConfiguration_configurationVersion = Lens.lens (\ValidateConfiguration' {configurationVersion} -> configurationVersion) (\s@ValidateConfiguration' {} a -> s {configurationVersion = a} :: ValidateConfiguration)++instance Core.AWSRequest ValidateConfiguration where+ type+ AWSResponse ValidateConfiguration =+ ValidateConfigurationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveNull ValidateConfigurationResponse'++instance Prelude.Hashable ValidateConfiguration where+ hashWithSalt _salt ValidateConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` applicationId+ `Prelude.hashWithSalt` configurationProfileId+ `Prelude.hashWithSalt` configurationVersion++instance Prelude.NFData ValidateConfiguration where+ rnf ValidateConfiguration' {..} =+ Prelude.rnf applicationId+ `Prelude.seq` Prelude.rnf configurationProfileId+ `Prelude.seq` Prelude.rnf configurationVersion++instance Data.ToHeaders ValidateConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ValidateConfiguration where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath ValidateConfiguration where+ toPath ValidateConfiguration' {..} =+ Prelude.mconcat+ [ "/applications/",+ Data.toBS applicationId,+ "/configurationprofiles/",+ Data.toBS configurationProfileId,+ "/validators"+ ]++instance Data.ToQuery ValidateConfiguration where+ toQuery ValidateConfiguration' {..} =+ Prelude.mconcat+ [ "configuration_version"+ Data.=: configurationVersion+ ]++-- | /See:/ 'newValidateConfigurationResponse' smart constructor.+data ValidateConfigurationResponse = ValidateConfigurationResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ValidateConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newValidateConfigurationResponse ::+ ValidateConfigurationResponse+newValidateConfigurationResponse =+ ValidateConfigurationResponse'++instance Prelude.NFData ValidateConfigurationResponse where+ rnf _ = ()
+ gen/Amazonka/AppConfig/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.AppConfig.Waiters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.AppConfig.Waiters where++import Amazonka.AppConfig.Lens+import Amazonka.AppConfig.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.AppConfig+import Test.Amazonka.AppConfig.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "AppConfig"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/AppConfig.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.AppConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.AppConfig+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/AppConfig/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.AppConfig.Internal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.AppConfig.Internal where
+ test/Test/Amazonka/Gen/AppConfig.hs view
@@ -0,0 +1,878 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.Amazonka.Gen.AppConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.AppConfig where++import Amazonka.AppConfig+import qualified Data.Proxy as Proxy+import Test.Amazonka.AppConfig.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- 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"+-- [ requestCreateApplication $+-- newCreateApplication+--+-- , requestCreateConfigurationProfile $+-- newCreateConfigurationProfile+--+-- , requestCreateDeploymentStrategy $+-- newCreateDeploymentStrategy+--+-- , requestCreateEnvironment $+-- newCreateEnvironment+--+-- , requestCreateExtension $+-- newCreateExtension+--+-- , requestCreateExtensionAssociation $+-- newCreateExtensionAssociation+--+-- , requestCreateHostedConfigurationVersion $+-- newCreateHostedConfigurationVersion+--+-- , requestDeleteApplication $+-- newDeleteApplication+--+-- , requestDeleteConfigurationProfile $+-- newDeleteConfigurationProfile+--+-- , requestDeleteDeploymentStrategy $+-- newDeleteDeploymentStrategy+--+-- , requestDeleteEnvironment $+-- newDeleteEnvironment+--+-- , requestDeleteExtension $+-- newDeleteExtension+--+-- , requestDeleteExtensionAssociation $+-- newDeleteExtensionAssociation+--+-- , requestDeleteHostedConfigurationVersion $+-- newDeleteHostedConfigurationVersion+--+-- , requestGetApplication $+-- newGetApplication+--+-- , requestGetConfigurationProfile $+-- newGetConfigurationProfile+--+-- , requestGetDeployment $+-- newGetDeployment+--+-- , requestGetDeploymentStrategy $+-- newGetDeploymentStrategy+--+-- , requestGetEnvironment $+-- newGetEnvironment+--+-- , requestGetExtension $+-- newGetExtension+--+-- , requestGetExtensionAssociation $+-- newGetExtensionAssociation+--+-- , requestGetHostedConfigurationVersion $+-- newGetHostedConfigurationVersion+--+-- , requestListApplications $+-- newListApplications+--+-- , requestListConfigurationProfiles $+-- newListConfigurationProfiles+--+-- , requestListDeploymentStrategies $+-- newListDeploymentStrategies+--+-- , requestListDeployments $+-- newListDeployments+--+-- , requestListEnvironments $+-- newListEnvironments+--+-- , requestListExtensionAssociations $+-- newListExtensionAssociations+--+-- , requestListExtensions $+-- newListExtensions+--+-- , requestListHostedConfigurationVersions $+-- newListHostedConfigurationVersions+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestStartDeployment $+-- newStartDeployment+--+-- , requestStopDeployment $+-- newStopDeployment+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateApplication $+-- newUpdateApplication+--+-- , requestUpdateConfigurationProfile $+-- newUpdateConfigurationProfile+--+-- , requestUpdateDeploymentStrategy $+-- newUpdateDeploymentStrategy+--+-- , requestUpdateEnvironment $+-- newUpdateEnvironment+--+-- , requestUpdateExtension $+-- newUpdateExtension+--+-- , requestUpdateExtensionAssociation $+-- newUpdateExtensionAssociation+--+-- , requestValidateConfiguration $+-- newValidateConfiguration+--+-- ]++-- , testGroup "response"+-- [ responseCreateApplication $+-- newApplication+--+-- , responseCreateConfigurationProfile $+-- newConfigurationProfile+--+-- , responseCreateDeploymentStrategy $+-- newDeploymentStrategy+--+-- , responseCreateEnvironment $+-- newEnvironment+--+-- , responseCreateExtension $+-- newExtension+--+-- , responseCreateExtensionAssociation $+-- newExtensionAssociation+--+-- , responseCreateHostedConfigurationVersion $+-- newHostedConfigurationVersion+--+-- , responseDeleteApplication $+-- newDeleteApplicationResponse+--+-- , responseDeleteConfigurationProfile $+-- newDeleteConfigurationProfileResponse+--+-- , responseDeleteDeploymentStrategy $+-- newDeleteDeploymentStrategyResponse+--+-- , responseDeleteEnvironment $+-- newDeleteEnvironmentResponse+--+-- , responseDeleteExtension $+-- newDeleteExtensionResponse+--+-- , responseDeleteExtensionAssociation $+-- newDeleteExtensionAssociationResponse+--+-- , responseDeleteHostedConfigurationVersion $+-- newDeleteHostedConfigurationVersionResponse+--+-- , responseGetApplication $+-- newApplication+--+-- , responseGetConfigurationProfile $+-- newConfigurationProfile+--+-- , responseGetDeployment $+-- newDeployment+--+-- , responseGetDeploymentStrategy $+-- newDeploymentStrategy+--+-- , responseGetEnvironment $+-- newEnvironment+--+-- , responseGetExtension $+-- newExtension+--+-- , responseGetExtensionAssociation $+-- newExtensionAssociation+--+-- , responseGetHostedConfigurationVersion $+-- newHostedConfigurationVersion+--+-- , responseListApplications $+-- newListApplicationsResponse+--+-- , responseListConfigurationProfiles $+-- newListConfigurationProfilesResponse+--+-- , responseListDeploymentStrategies $+-- newListDeploymentStrategiesResponse+--+-- , responseListDeployments $+-- newListDeploymentsResponse+--+-- , responseListEnvironments $+-- newListEnvironmentsResponse+--+-- , responseListExtensionAssociations $+-- newListExtensionAssociationsResponse+--+-- , responseListExtensions $+-- newListExtensionsResponse+--+-- , responseListHostedConfigurationVersions $+-- newListHostedConfigurationVersionsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseStartDeployment $+-- newDeployment+--+-- , responseStopDeployment $+-- newDeployment+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateApplication $+-- newApplication+--+-- , responseUpdateConfigurationProfile $+-- newConfigurationProfile+--+-- , responseUpdateDeploymentStrategy $+-- newDeploymentStrategy+--+-- , responseUpdateEnvironment $+-- newEnvironment+--+-- , responseUpdateExtension $+-- newExtension+--+-- , responseUpdateExtensionAssociation $+-- newExtensionAssociation+--+-- , responseValidateConfiguration $+-- newValidateConfigurationResponse+--+-- ]+-- ]++-- Requests++requestCreateApplication :: CreateApplication -> TestTree+requestCreateApplication =+ req+ "CreateApplication"+ "fixture/CreateApplication.yaml"++requestCreateConfigurationProfile :: CreateConfigurationProfile -> TestTree+requestCreateConfigurationProfile =+ req+ "CreateConfigurationProfile"+ "fixture/CreateConfigurationProfile.yaml"++requestCreateDeploymentStrategy :: CreateDeploymentStrategy -> TestTree+requestCreateDeploymentStrategy =+ req+ "CreateDeploymentStrategy"+ "fixture/CreateDeploymentStrategy.yaml"++requestCreateEnvironment :: CreateEnvironment -> TestTree+requestCreateEnvironment =+ req+ "CreateEnvironment"+ "fixture/CreateEnvironment.yaml"++requestCreateExtension :: CreateExtension -> TestTree+requestCreateExtension =+ req+ "CreateExtension"+ "fixture/CreateExtension.yaml"++requestCreateExtensionAssociation :: CreateExtensionAssociation -> TestTree+requestCreateExtensionAssociation =+ req+ "CreateExtensionAssociation"+ "fixture/CreateExtensionAssociation.yaml"++requestCreateHostedConfigurationVersion :: CreateHostedConfigurationVersion -> TestTree+requestCreateHostedConfigurationVersion =+ req+ "CreateHostedConfigurationVersion"+ "fixture/CreateHostedConfigurationVersion.yaml"++requestDeleteApplication :: DeleteApplication -> TestTree+requestDeleteApplication =+ req+ "DeleteApplication"+ "fixture/DeleteApplication.yaml"++requestDeleteConfigurationProfile :: DeleteConfigurationProfile -> TestTree+requestDeleteConfigurationProfile =+ req+ "DeleteConfigurationProfile"+ "fixture/DeleteConfigurationProfile.yaml"++requestDeleteDeploymentStrategy :: DeleteDeploymentStrategy -> TestTree+requestDeleteDeploymentStrategy =+ req+ "DeleteDeploymentStrategy"+ "fixture/DeleteDeploymentStrategy.yaml"++requestDeleteEnvironment :: DeleteEnvironment -> TestTree+requestDeleteEnvironment =+ req+ "DeleteEnvironment"+ "fixture/DeleteEnvironment.yaml"++requestDeleteExtension :: DeleteExtension -> TestTree+requestDeleteExtension =+ req+ "DeleteExtension"+ "fixture/DeleteExtension.yaml"++requestDeleteExtensionAssociation :: DeleteExtensionAssociation -> TestTree+requestDeleteExtensionAssociation =+ req+ "DeleteExtensionAssociation"+ "fixture/DeleteExtensionAssociation.yaml"++requestDeleteHostedConfigurationVersion :: DeleteHostedConfigurationVersion -> TestTree+requestDeleteHostedConfigurationVersion =+ req+ "DeleteHostedConfigurationVersion"+ "fixture/DeleteHostedConfigurationVersion.yaml"++requestGetApplication :: GetApplication -> TestTree+requestGetApplication =+ req+ "GetApplication"+ "fixture/GetApplication.yaml"++requestGetConfigurationProfile :: GetConfigurationProfile -> TestTree+requestGetConfigurationProfile =+ req+ "GetConfigurationProfile"+ "fixture/GetConfigurationProfile.yaml"++requestGetDeployment :: GetDeployment -> TestTree+requestGetDeployment =+ req+ "GetDeployment"+ "fixture/GetDeployment.yaml"++requestGetDeploymentStrategy :: GetDeploymentStrategy -> TestTree+requestGetDeploymentStrategy =+ req+ "GetDeploymentStrategy"+ "fixture/GetDeploymentStrategy.yaml"++requestGetEnvironment :: GetEnvironment -> TestTree+requestGetEnvironment =+ req+ "GetEnvironment"+ "fixture/GetEnvironment.yaml"++requestGetExtension :: GetExtension -> TestTree+requestGetExtension =+ req+ "GetExtension"+ "fixture/GetExtension.yaml"++requestGetExtensionAssociation :: GetExtensionAssociation -> TestTree+requestGetExtensionAssociation =+ req+ "GetExtensionAssociation"+ "fixture/GetExtensionAssociation.yaml"++requestGetHostedConfigurationVersion :: GetHostedConfigurationVersion -> TestTree+requestGetHostedConfigurationVersion =+ req+ "GetHostedConfigurationVersion"+ "fixture/GetHostedConfigurationVersion.yaml"++requestListApplications :: ListApplications -> TestTree+requestListApplications =+ req+ "ListApplications"+ "fixture/ListApplications.yaml"++requestListConfigurationProfiles :: ListConfigurationProfiles -> TestTree+requestListConfigurationProfiles =+ req+ "ListConfigurationProfiles"+ "fixture/ListConfigurationProfiles.yaml"++requestListDeploymentStrategies :: ListDeploymentStrategies -> TestTree+requestListDeploymentStrategies =+ req+ "ListDeploymentStrategies"+ "fixture/ListDeploymentStrategies.yaml"++requestListDeployments :: ListDeployments -> TestTree+requestListDeployments =+ req+ "ListDeployments"+ "fixture/ListDeployments.yaml"++requestListEnvironments :: ListEnvironments -> TestTree+requestListEnvironments =+ req+ "ListEnvironments"+ "fixture/ListEnvironments.yaml"++requestListExtensionAssociations :: ListExtensionAssociations -> TestTree+requestListExtensionAssociations =+ req+ "ListExtensionAssociations"+ "fixture/ListExtensionAssociations.yaml"++requestListExtensions :: ListExtensions -> TestTree+requestListExtensions =+ req+ "ListExtensions"+ "fixture/ListExtensions.yaml"++requestListHostedConfigurationVersions :: ListHostedConfigurationVersions -> TestTree+requestListHostedConfigurationVersions =+ req+ "ListHostedConfigurationVersions"+ "fixture/ListHostedConfigurationVersions.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestStartDeployment :: StartDeployment -> TestTree+requestStartDeployment =+ req+ "StartDeployment"+ "fixture/StartDeployment.yaml"++requestStopDeployment :: StopDeployment -> TestTree+requestStopDeployment =+ req+ "StopDeployment"+ "fixture/StopDeployment.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateApplication :: UpdateApplication -> TestTree+requestUpdateApplication =+ req+ "UpdateApplication"+ "fixture/UpdateApplication.yaml"++requestUpdateConfigurationProfile :: UpdateConfigurationProfile -> TestTree+requestUpdateConfigurationProfile =+ req+ "UpdateConfigurationProfile"+ "fixture/UpdateConfigurationProfile.yaml"++requestUpdateDeploymentStrategy :: UpdateDeploymentStrategy -> TestTree+requestUpdateDeploymentStrategy =+ req+ "UpdateDeploymentStrategy"+ "fixture/UpdateDeploymentStrategy.yaml"++requestUpdateEnvironment :: UpdateEnvironment -> TestTree+requestUpdateEnvironment =+ req+ "UpdateEnvironment"+ "fixture/UpdateEnvironment.yaml"++requestUpdateExtension :: UpdateExtension -> TestTree+requestUpdateExtension =+ req+ "UpdateExtension"+ "fixture/UpdateExtension.yaml"++requestUpdateExtensionAssociation :: UpdateExtensionAssociation -> TestTree+requestUpdateExtensionAssociation =+ req+ "UpdateExtensionAssociation"+ "fixture/UpdateExtensionAssociation.yaml"++requestValidateConfiguration :: ValidateConfiguration -> TestTree+requestValidateConfiguration =+ req+ "ValidateConfiguration"+ "fixture/ValidateConfiguration.yaml"++-- Responses++responseCreateApplication :: Application -> TestTree+responseCreateApplication =+ res+ "CreateApplicationResponse"+ "fixture/CreateApplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateApplication)++responseCreateConfigurationProfile :: ConfigurationProfile -> TestTree+responseCreateConfigurationProfile =+ res+ "CreateConfigurationProfileResponse"+ "fixture/CreateConfigurationProfileResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateConfigurationProfile)++responseCreateDeploymentStrategy :: DeploymentStrategy -> TestTree+responseCreateDeploymentStrategy =+ res+ "CreateDeploymentStrategyResponse"+ "fixture/CreateDeploymentStrategyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDeploymentStrategy)++responseCreateEnvironment :: Environment -> TestTree+responseCreateEnvironment =+ res+ "CreateEnvironmentResponse"+ "fixture/CreateEnvironmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateEnvironment)++responseCreateExtension :: Extension -> TestTree+responseCreateExtension =+ res+ "CreateExtensionResponse"+ "fixture/CreateExtensionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateExtension)++responseCreateExtensionAssociation :: ExtensionAssociation -> TestTree+responseCreateExtensionAssociation =+ res+ "CreateExtensionAssociationResponse"+ "fixture/CreateExtensionAssociationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateExtensionAssociation)++responseCreateHostedConfigurationVersion :: HostedConfigurationVersion -> TestTree+responseCreateHostedConfigurationVersion =+ res+ "CreateHostedConfigurationVersionResponse"+ "fixture/CreateHostedConfigurationVersionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateHostedConfigurationVersion)++responseDeleteApplication :: DeleteApplicationResponse -> TestTree+responseDeleteApplication =+ res+ "DeleteApplicationResponse"+ "fixture/DeleteApplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteApplication)++responseDeleteConfigurationProfile :: DeleteConfigurationProfileResponse -> TestTree+responseDeleteConfigurationProfile =+ res+ "DeleteConfigurationProfileResponse"+ "fixture/DeleteConfigurationProfileResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteConfigurationProfile)++responseDeleteDeploymentStrategy :: DeleteDeploymentStrategyResponse -> TestTree+responseDeleteDeploymentStrategy =+ res+ "DeleteDeploymentStrategyResponse"+ "fixture/DeleteDeploymentStrategyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDeploymentStrategy)++responseDeleteEnvironment :: DeleteEnvironmentResponse -> TestTree+responseDeleteEnvironment =+ res+ "DeleteEnvironmentResponse"+ "fixture/DeleteEnvironmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteEnvironment)++responseDeleteExtension :: DeleteExtensionResponse -> TestTree+responseDeleteExtension =+ res+ "DeleteExtensionResponse"+ "fixture/DeleteExtensionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteExtension)++responseDeleteExtensionAssociation :: DeleteExtensionAssociationResponse -> TestTree+responseDeleteExtensionAssociation =+ res+ "DeleteExtensionAssociationResponse"+ "fixture/DeleteExtensionAssociationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteExtensionAssociation)++responseDeleteHostedConfigurationVersion :: DeleteHostedConfigurationVersionResponse -> TestTree+responseDeleteHostedConfigurationVersion =+ res+ "DeleteHostedConfigurationVersionResponse"+ "fixture/DeleteHostedConfigurationVersionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteHostedConfigurationVersion)++responseGetApplication :: Application -> TestTree+responseGetApplication =+ res+ "GetApplicationResponse"+ "fixture/GetApplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetApplication)++responseGetConfigurationProfile :: ConfigurationProfile -> TestTree+responseGetConfigurationProfile =+ res+ "GetConfigurationProfileResponse"+ "fixture/GetConfigurationProfileResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetConfigurationProfile)++responseGetDeployment :: Deployment -> TestTree+responseGetDeployment =+ res+ "GetDeploymentResponse"+ "fixture/GetDeploymentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDeployment)++responseGetDeploymentStrategy :: DeploymentStrategy -> TestTree+responseGetDeploymentStrategy =+ res+ "GetDeploymentStrategyResponse"+ "fixture/GetDeploymentStrategyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDeploymentStrategy)++responseGetEnvironment :: Environment -> TestTree+responseGetEnvironment =+ res+ "GetEnvironmentResponse"+ "fixture/GetEnvironmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetEnvironment)++responseGetExtension :: Extension -> TestTree+responseGetExtension =+ res+ "GetExtensionResponse"+ "fixture/GetExtensionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetExtension)++responseGetExtensionAssociation :: ExtensionAssociation -> TestTree+responseGetExtensionAssociation =+ res+ "GetExtensionAssociationResponse"+ "fixture/GetExtensionAssociationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetExtensionAssociation)++responseGetHostedConfigurationVersion :: HostedConfigurationVersion -> TestTree+responseGetHostedConfigurationVersion =+ res+ "GetHostedConfigurationVersionResponse"+ "fixture/GetHostedConfigurationVersionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetHostedConfigurationVersion)++responseListApplications :: ListApplicationsResponse -> TestTree+responseListApplications =+ res+ "ListApplicationsResponse"+ "fixture/ListApplicationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListApplications)++responseListConfigurationProfiles :: ListConfigurationProfilesResponse -> TestTree+responseListConfigurationProfiles =+ res+ "ListConfigurationProfilesResponse"+ "fixture/ListConfigurationProfilesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListConfigurationProfiles)++responseListDeploymentStrategies :: ListDeploymentStrategiesResponse -> TestTree+responseListDeploymentStrategies =+ res+ "ListDeploymentStrategiesResponse"+ "fixture/ListDeploymentStrategiesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDeploymentStrategies)++responseListDeployments :: ListDeploymentsResponse -> TestTree+responseListDeployments =+ res+ "ListDeploymentsResponse"+ "fixture/ListDeploymentsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDeployments)++responseListEnvironments :: ListEnvironmentsResponse -> TestTree+responseListEnvironments =+ res+ "ListEnvironmentsResponse"+ "fixture/ListEnvironmentsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListEnvironments)++responseListExtensionAssociations :: ListExtensionAssociationsResponse -> TestTree+responseListExtensionAssociations =+ res+ "ListExtensionAssociationsResponse"+ "fixture/ListExtensionAssociationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListExtensionAssociations)++responseListExtensions :: ListExtensionsResponse -> TestTree+responseListExtensions =+ res+ "ListExtensionsResponse"+ "fixture/ListExtensionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListExtensions)++responseListHostedConfigurationVersions :: ListHostedConfigurationVersionsResponse -> TestTree+responseListHostedConfigurationVersions =+ res+ "ListHostedConfigurationVersionsResponse"+ "fixture/ListHostedConfigurationVersionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListHostedConfigurationVersions)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseStartDeployment :: Deployment -> TestTree+responseStartDeployment =+ res+ "StartDeploymentResponse"+ "fixture/StartDeploymentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartDeployment)++responseStopDeployment :: Deployment -> TestTree+responseStopDeployment =+ res+ "StopDeploymentResponse"+ "fixture/StopDeploymentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StopDeployment)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateApplication :: Application -> TestTree+responseUpdateApplication =+ res+ "UpdateApplicationResponse"+ "fixture/UpdateApplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateApplication)++responseUpdateConfigurationProfile :: ConfigurationProfile -> TestTree+responseUpdateConfigurationProfile =+ res+ "UpdateConfigurationProfileResponse"+ "fixture/UpdateConfigurationProfileResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateConfigurationProfile)++responseUpdateDeploymentStrategy :: DeploymentStrategy -> TestTree+responseUpdateDeploymentStrategy =+ res+ "UpdateDeploymentStrategyResponse"+ "fixture/UpdateDeploymentStrategyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateDeploymentStrategy)++responseUpdateEnvironment :: Environment -> TestTree+responseUpdateEnvironment =+ res+ "UpdateEnvironmentResponse"+ "fixture/UpdateEnvironmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateEnvironment)++responseUpdateExtension :: Extension -> TestTree+responseUpdateExtension =+ res+ "UpdateExtensionResponse"+ "fixture/UpdateExtensionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateExtension)++responseUpdateExtensionAssociation :: ExtensionAssociation -> TestTree+responseUpdateExtensionAssociation =+ res+ "UpdateExtensionAssociationResponse"+ "fixture/UpdateExtensionAssociationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateExtensionAssociation)++responseValidateConfiguration :: ValidateConfigurationResponse -> TestTree+responseValidateConfiguration =+ res+ "ValidateConfigurationResponse"+ "fixture/ValidateConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ValidateConfiguration)