amazonka-opsworks (empty) → 0.0.0
raw patch · 66 files changed
+13064/−0 lines, 66 filesdep +amazonka-coredep +basesetup-changed
Dependencies added: amazonka-core, base
Files
- LICENSE +373/−0
- README.md +26/−0
- Setup.hs +2/−0
- amazonka-opsworks.cabal +104/−0
- gen/Network/AWS/OpsWorks.hs +139/−0
- gen/Network/AWS/OpsWorks/AssignVolume.hs +107/−0
- gen/Network/AWS/OpsWorks/AssociateElasticIp.hs +107/−0
- gen/Network/AWS/OpsWorks/AttachElasticLoadBalancer.hs +109/−0
- gen/Network/AWS/OpsWorks/CloneStack.hs +396/−0
- gen/Network/AWS/OpsWorks/CreateApp.hs +221/−0
- gen/Network/AWS/OpsWorks/CreateDeployment.hs +175/−0
- gen/Network/AWS/OpsWorks/CreateInstance.hs +289/−0
- gen/Network/AWS/OpsWorks/CreateLayer.hs +289/−0
- gen/Network/AWS/OpsWorks/CreateStack.hs +363/−0
- gen/Network/AWS/OpsWorks/CreateUserProfile.hs +148/−0
- gen/Network/AWS/OpsWorks/DeleteApp.hs +94/−0
- gen/Network/AWS/OpsWorks/DeleteInstance.hs +117/−0
- gen/Network/AWS/OpsWorks/DeleteLayer.hs +96/−0
- gen/Network/AWS/OpsWorks/DeleteStack.hs +95/−0
- gen/Network/AWS/OpsWorks/DeleteUserProfile.hs +93/−0
- gen/Network/AWS/OpsWorks/DeregisterElasticIp.hs +96/−0
- gen/Network/AWS/OpsWorks/DeregisterRdsDbInstance.hs +92/−0
- gen/Network/AWS/OpsWorks/DeregisterVolume.hs +96/−0
- gen/Network/AWS/OpsWorks/DescribeApps.hs +131/−0
- gen/Network/AWS/OpsWorks/DescribeCommands.hs +143/−0
- gen/Network/AWS/OpsWorks/DescribeDeployments.hs +142/−0
- gen/Network/AWS/OpsWorks/DescribeElasticIps.hs +144/−0
- gen/Network/AWS/OpsWorks/DescribeElasticLoadBalancers.hs +134/−0
- gen/Network/AWS/OpsWorks/DescribeInstances.hs +142/−0
- gen/Network/AWS/OpsWorks/DescribeLayers.hs +130/−0
- gen/Network/AWS/OpsWorks/DescribeLoadBasedAutoScaling.hs +128/−0
- gen/Network/AWS/OpsWorks/DescribeMyUserProfile.hs +95/−0
- gen/Network/AWS/OpsWorks/DescribePermissions.hs +134/−0
- gen/Network/AWS/OpsWorks/DescribeRaidArrays.hs +130/−0
- gen/Network/AWS/OpsWorks/DescribeRdsDbInstances.hs +130/−0
- gen/Network/AWS/OpsWorks/DescribeServiceErrors.hs +146/−0
- gen/Network/AWS/OpsWorks/DescribeStackSummary.hs +114/−0
- gen/Network/AWS/OpsWorks/DescribeStacks.hs +125/−0
- gen/Network/AWS/OpsWorks/DescribeTimeBasedAutoScaling.hs +128/−0
- gen/Network/AWS/OpsWorks/DescribeUserProfiles.hs +122/−0
- gen/Network/AWS/OpsWorks/DescribeVolumes.hs +153/−0
- gen/Network/AWS/OpsWorks/DetachElasticLoadBalancer.hs +109/−0
- gen/Network/AWS/OpsWorks/DisassociateElasticIp.hs +96/−0
- gen/Network/AWS/OpsWorks/GetHostnameSuggestion.hs +123/−0
- gen/Network/AWS/OpsWorks/RebootInstance.hs +95/−0
- gen/Network/AWS/OpsWorks/RegisterElasticIp.hs +126/−0
- gen/Network/AWS/OpsWorks/RegisterRdsDbInstance.hs +125/−0
- gen/Network/AWS/OpsWorks/RegisterVolume.hs +125/−0
- gen/Network/AWS/OpsWorks/SetLoadBasedAutoScaling.hs +130/−0
- gen/Network/AWS/OpsWorks/SetPermission.hs +139/−0
- gen/Network/AWS/OpsWorks/SetTimeBasedAutoScaling.hs +108/−0
- gen/Network/AWS/OpsWorks/StartInstance.hs +95/−0
- gen/Network/AWS/OpsWorks/StartStack.hs +94/−0
- gen/Network/AWS/OpsWorks/StopInstance.hs +98/−0
- gen/Network/AWS/OpsWorks/StopStack.hs +94/−0
- gen/Network/AWS/OpsWorks/Types.hs +3889/−0
- gen/Network/AWS/OpsWorks/UnassignVolume.hs +96/−0
- gen/Network/AWS/OpsWorks/UpdateApp.hs +187/−0
- gen/Network/AWS/OpsWorks/UpdateElasticIp.hs +105/−0
- gen/Network/AWS/OpsWorks/UpdateInstance.hs +219/−0
- gen/Network/AWS/OpsWorks/UpdateLayer.hs +250/−0
- gen/Network/AWS/OpsWorks/UpdateMyUserProfile.hs +93/−0
- gen/Network/AWS/OpsWorks/UpdateRdsDbInstance.hs +112/−0
- gen/Network/AWS/OpsWorks/UpdateStack.hs +313/−0
- gen/Network/AWS/OpsWorks/UpdateUserProfile.hs +130/−0
- gen/Network/AWS/OpsWorks/UpdateVolume.hs +115/−0
+ LICENSE view
@@ -0,0 +1,373 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.++Exhibit B - "Incompatible With Secondary Licenses" Notice+---------------------------------------------------------++ This Source Code Form is "Incompatible With Secondary Licenses", as+ defined by the Mozilla Public License, v. 2.0.
+ README.md view
@@ -0,0 +1,26 @@+# Amazon OpsWorks SDK++> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!++* [description](#description)+* [Contribute](#contribute)+* [Licence](#licence)++## Description++AWS OpsWorks provides a simple and flexible way to create and manage stacks and applications. With AWS OpsWorks, you can provision AWS resources, manage their configuration, deploy applications to those resources, and monitor their health.++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-opsworks)+and [AWS API Reference](http://docs.aws.amazon.com/opsworks/latest/APIReference/Welcome.html).+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-opsworks` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ amazonka-opsworks.cabal view
@@ -0,0 +1,104 @@+name: amazonka-opsworks+version: 0.0.0+synopsis: Amazon OpsWorks SDK.+homepage: https://github.com/brendanhay/amazonka+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2013-2014 Brendan Hay+category: Network, AWS, Cloud+build-type: Simple+extra-source-files: README.md+cabal-version: >= 1.10++description:+ AWS OpsWorks provides a simple and flexible way to create and manage+ stacks and applications. With AWS OpsWorks, you can provision AWS+ resources, manage their configuration, deploy applications to those+ resources, and monitor their health.+ .+ /See:/ <http://docs.aws.amazon.com/opsworks/latest/APIReference/Welcome.html AWS API Reference>+ .+ /Warning:/ This is an experimental preview release which is still under+ heavy development and not intended for public consumption, caveat emptor!++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.AWS.OpsWorks+ , Network.AWS.OpsWorks.AssignVolume+ , Network.AWS.OpsWorks.AssociateElasticIp+ , Network.AWS.OpsWorks.AttachElasticLoadBalancer+ , Network.AWS.OpsWorks.CloneStack+ , Network.AWS.OpsWorks.CreateApp+ , Network.AWS.OpsWorks.CreateDeployment+ , Network.AWS.OpsWorks.CreateInstance+ , Network.AWS.OpsWorks.CreateLayer+ , Network.AWS.OpsWorks.CreateStack+ , Network.AWS.OpsWorks.CreateUserProfile+ , Network.AWS.OpsWorks.DeleteApp+ , Network.AWS.OpsWorks.DeleteInstance+ , Network.AWS.OpsWorks.DeleteLayer+ , Network.AWS.OpsWorks.DeleteStack+ , Network.AWS.OpsWorks.DeleteUserProfile+ , Network.AWS.OpsWorks.DeregisterElasticIp+ , Network.AWS.OpsWorks.DeregisterRdsDbInstance+ , Network.AWS.OpsWorks.DeregisterVolume+ , Network.AWS.OpsWorks.DescribeApps+ , Network.AWS.OpsWorks.DescribeCommands+ , Network.AWS.OpsWorks.DescribeDeployments+ , Network.AWS.OpsWorks.DescribeElasticIps+ , Network.AWS.OpsWorks.DescribeElasticLoadBalancers+ , Network.AWS.OpsWorks.DescribeInstances+ , Network.AWS.OpsWorks.DescribeLayers+ , Network.AWS.OpsWorks.DescribeLoadBasedAutoScaling+ , Network.AWS.OpsWorks.DescribeMyUserProfile+ , Network.AWS.OpsWorks.DescribePermissions+ , Network.AWS.OpsWorks.DescribeRaidArrays+ , Network.AWS.OpsWorks.DescribeRdsDbInstances+ , Network.AWS.OpsWorks.DescribeServiceErrors+ , Network.AWS.OpsWorks.DescribeStackSummary+ , Network.AWS.OpsWorks.DescribeStacks+ , Network.AWS.OpsWorks.DescribeTimeBasedAutoScaling+ , Network.AWS.OpsWorks.DescribeUserProfiles+ , Network.AWS.OpsWorks.DescribeVolumes+ , Network.AWS.OpsWorks.DetachElasticLoadBalancer+ , Network.AWS.OpsWorks.DisassociateElasticIp+ , Network.AWS.OpsWorks.GetHostnameSuggestion+ , Network.AWS.OpsWorks.RebootInstance+ , Network.AWS.OpsWorks.RegisterElasticIp+ , Network.AWS.OpsWorks.RegisterRdsDbInstance+ , Network.AWS.OpsWorks.RegisterVolume+ , Network.AWS.OpsWorks.SetLoadBasedAutoScaling+ , Network.AWS.OpsWorks.SetPermission+ , Network.AWS.OpsWorks.SetTimeBasedAutoScaling+ , Network.AWS.OpsWorks.StartInstance+ , Network.AWS.OpsWorks.StartStack+ , Network.AWS.OpsWorks.StopInstance+ , Network.AWS.OpsWorks.StopStack+ , Network.AWS.OpsWorks.Types+ , Network.AWS.OpsWorks.UnassignVolume+ , Network.AWS.OpsWorks.UpdateApp+ , Network.AWS.OpsWorks.UpdateElasticIp+ , Network.AWS.OpsWorks.UpdateInstance+ , Network.AWS.OpsWorks.UpdateLayer+ , Network.AWS.OpsWorks.UpdateMyUserProfile+ , Network.AWS.OpsWorks.UpdateRdsDbInstance+ , Network.AWS.OpsWorks.UpdateStack+ , Network.AWS.OpsWorks.UpdateUserProfile+ , Network.AWS.OpsWorks.UpdateVolume++ other-modules:++ build-depends:+ amazonka-core+ , base >= 4.7 && < 5
+ gen/Network/AWS/OpsWorks.hs view
@@ -0,0 +1,139 @@+-- Module : Network.AWS.OpsWorks+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | AWS OpsWorks provides a simple and flexible way to create and manage stacks+-- and applications. With AWS OpsWorks, you can provision AWS resources,+-- manage their configuration, deploy applications to those resources, and+-- monitor their health.+module Network.AWS.OpsWorks+ ( module Network.AWS.OpsWorks.AssignVolume+ , module Network.AWS.OpsWorks.AssociateElasticIp+ , module Network.AWS.OpsWorks.AttachElasticLoadBalancer+ , module Network.AWS.OpsWorks.CloneStack+ , module Network.AWS.OpsWorks.CreateApp+ , module Network.AWS.OpsWorks.CreateDeployment+ , module Network.AWS.OpsWorks.CreateInstance+ , module Network.AWS.OpsWorks.CreateLayer+ , module Network.AWS.OpsWorks.CreateStack+ , module Network.AWS.OpsWorks.CreateUserProfile+ , module Network.AWS.OpsWorks.DeleteApp+ , module Network.AWS.OpsWorks.DeleteInstance+ , module Network.AWS.OpsWorks.DeleteLayer+ , module Network.AWS.OpsWorks.DeleteStack+ , module Network.AWS.OpsWorks.DeleteUserProfile+ , module Network.AWS.OpsWorks.DeregisterElasticIp+ , module Network.AWS.OpsWorks.DeregisterRdsDbInstance+ , module Network.AWS.OpsWorks.DeregisterVolume+ , module Network.AWS.OpsWorks.DescribeApps+ , module Network.AWS.OpsWorks.DescribeCommands+ , module Network.AWS.OpsWorks.DescribeDeployments+ , module Network.AWS.OpsWorks.DescribeElasticIps+ , module Network.AWS.OpsWorks.DescribeElasticLoadBalancers+ , module Network.AWS.OpsWorks.DescribeInstances+ , module Network.AWS.OpsWorks.DescribeLayers+ , module Network.AWS.OpsWorks.DescribeLoadBasedAutoScaling+ , module Network.AWS.OpsWorks.DescribeMyUserProfile+ , module Network.AWS.OpsWorks.DescribePermissions+ , module Network.AWS.OpsWorks.DescribeRaidArrays+ , module Network.AWS.OpsWorks.DescribeRdsDbInstances+ , module Network.AWS.OpsWorks.DescribeServiceErrors+ , module Network.AWS.OpsWorks.DescribeStackSummary+ , module Network.AWS.OpsWorks.DescribeStacks+ , module Network.AWS.OpsWorks.DescribeTimeBasedAutoScaling+ , module Network.AWS.OpsWorks.DescribeUserProfiles+ , module Network.AWS.OpsWorks.DescribeVolumes+ , module Network.AWS.OpsWorks.DetachElasticLoadBalancer+ , module Network.AWS.OpsWorks.DisassociateElasticIp+ , module Network.AWS.OpsWorks.GetHostnameSuggestion+ , module Network.AWS.OpsWorks.RebootInstance+ , module Network.AWS.OpsWorks.RegisterElasticIp+ , module Network.AWS.OpsWorks.RegisterRdsDbInstance+ , module Network.AWS.OpsWorks.RegisterVolume+ , module Network.AWS.OpsWorks.SetLoadBasedAutoScaling+ , module Network.AWS.OpsWorks.SetPermission+ , module Network.AWS.OpsWorks.SetTimeBasedAutoScaling+ , module Network.AWS.OpsWorks.StartInstance+ , module Network.AWS.OpsWorks.StartStack+ , module Network.AWS.OpsWorks.StopInstance+ , module Network.AWS.OpsWorks.StopStack+ , module Network.AWS.OpsWorks.Types+ , module Network.AWS.OpsWorks.UnassignVolume+ , module Network.AWS.OpsWorks.UpdateApp+ , module Network.AWS.OpsWorks.UpdateElasticIp+ , module Network.AWS.OpsWorks.UpdateInstance+ , module Network.AWS.OpsWorks.UpdateLayer+ , module Network.AWS.OpsWorks.UpdateMyUserProfile+ , module Network.AWS.OpsWorks.UpdateRdsDbInstance+ , module Network.AWS.OpsWorks.UpdateStack+ , module Network.AWS.OpsWorks.UpdateUserProfile+ , module Network.AWS.OpsWorks.UpdateVolume+ ) where++import Network.AWS.OpsWorks.AssignVolume+import Network.AWS.OpsWorks.AssociateElasticIp+import Network.AWS.OpsWorks.AttachElasticLoadBalancer+import Network.AWS.OpsWorks.CloneStack+import Network.AWS.OpsWorks.CreateApp+import Network.AWS.OpsWorks.CreateDeployment+import Network.AWS.OpsWorks.CreateInstance+import Network.AWS.OpsWorks.CreateLayer+import Network.AWS.OpsWorks.CreateStack+import Network.AWS.OpsWorks.CreateUserProfile+import Network.AWS.OpsWorks.DeleteApp+import Network.AWS.OpsWorks.DeleteInstance+import Network.AWS.OpsWorks.DeleteLayer+import Network.AWS.OpsWorks.DeleteStack+import Network.AWS.OpsWorks.DeleteUserProfile+import Network.AWS.OpsWorks.DeregisterElasticIp+import Network.AWS.OpsWorks.DeregisterRdsDbInstance+import Network.AWS.OpsWorks.DeregisterVolume+import Network.AWS.OpsWorks.DescribeApps+import Network.AWS.OpsWorks.DescribeCommands+import Network.AWS.OpsWorks.DescribeDeployments+import Network.AWS.OpsWorks.DescribeElasticIps+import Network.AWS.OpsWorks.DescribeElasticLoadBalancers+import Network.AWS.OpsWorks.DescribeInstances+import Network.AWS.OpsWorks.DescribeLayers+import Network.AWS.OpsWorks.DescribeLoadBasedAutoScaling+import Network.AWS.OpsWorks.DescribeMyUserProfile+import Network.AWS.OpsWorks.DescribePermissions+import Network.AWS.OpsWorks.DescribeRaidArrays+import Network.AWS.OpsWorks.DescribeRdsDbInstances+import Network.AWS.OpsWorks.DescribeServiceErrors+import Network.AWS.OpsWorks.DescribeStackSummary+import Network.AWS.OpsWorks.DescribeStacks+import Network.AWS.OpsWorks.DescribeTimeBasedAutoScaling+import Network.AWS.OpsWorks.DescribeUserProfiles+import Network.AWS.OpsWorks.DescribeVolumes+import Network.AWS.OpsWorks.DetachElasticLoadBalancer+import Network.AWS.OpsWorks.DisassociateElasticIp+import Network.AWS.OpsWorks.GetHostnameSuggestion+import Network.AWS.OpsWorks.RebootInstance+import Network.AWS.OpsWorks.RegisterElasticIp+import Network.AWS.OpsWorks.RegisterRdsDbInstance+import Network.AWS.OpsWorks.RegisterVolume+import Network.AWS.OpsWorks.SetLoadBasedAutoScaling+import Network.AWS.OpsWorks.SetPermission+import Network.AWS.OpsWorks.SetTimeBasedAutoScaling+import Network.AWS.OpsWorks.StartInstance+import Network.AWS.OpsWorks.StartStack+import Network.AWS.OpsWorks.StopInstance+import Network.AWS.OpsWorks.StopStack+import Network.AWS.OpsWorks.Types+import Network.AWS.OpsWorks.UnassignVolume+import Network.AWS.OpsWorks.UpdateApp+import Network.AWS.OpsWorks.UpdateElasticIp+import Network.AWS.OpsWorks.UpdateInstance+import Network.AWS.OpsWorks.UpdateLayer+import Network.AWS.OpsWorks.UpdateMyUserProfile+import Network.AWS.OpsWorks.UpdateRdsDbInstance+import Network.AWS.OpsWorks.UpdateStack+import Network.AWS.OpsWorks.UpdateUserProfile+import Network.AWS.OpsWorks.UpdateVolume
+ gen/Network/AWS/OpsWorks/AssignVolume.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.AssignVolume+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Assigns one of the stack's registered Amazon EBS volumes to a specified+-- instance. The volume must first be registered with the stack by calling+-- RegisterVolume. For more information, see Resource Management. Required+-- Permissions: To use this action, an IAM user must have a Manage permissions+-- level for the stack, or an attached policy that explicitly grants+-- permissions. For more information on user permissions, see Managing User+-- Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_AssignVolume.html>+module Network.AWS.OpsWorks.AssignVolume+ (+ -- * Request+ AssignVolume+ -- ** Request constructor+ , assignVolume+ -- ** Request lenses+ , avInstanceId+ , avVolumeId++ -- * Response+ , AssignVolumeResponse+ -- ** Response constructor+ , assignVolumeResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data AssignVolume = AssignVolume+ { _avInstanceId :: Maybe Text+ , _avVolumeId :: Text+ } deriving (Eq, Ord, Show)++-- | 'AssignVolume' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'avInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'avVolumeId' @::@ 'Text'+--+assignVolume :: Text -- ^ 'avVolumeId'+ -> AssignVolume+assignVolume p1 = AssignVolume+ { _avVolumeId = p1+ , _avInstanceId = Nothing+ }++-- | The instance ID.+avInstanceId :: Lens' AssignVolume (Maybe Text)+avInstanceId = lens _avInstanceId (\s a -> s { _avInstanceId = a })++-- | The volume ID.+avVolumeId :: Lens' AssignVolume Text+avVolumeId = lens _avVolumeId (\s a -> s { _avVolumeId = a })++data AssignVolumeResponse = AssignVolumeResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'AssignVolumeResponse' constructor.+assignVolumeResponse :: AssignVolumeResponse+assignVolumeResponse = AssignVolumeResponse++instance ToPath AssignVolume where+ toPath = const "/"++instance ToQuery AssignVolume where+ toQuery = const mempty++instance ToHeaders AssignVolume++instance ToJSON AssignVolume where+ toJSON AssignVolume{..} = object+ [ "VolumeId" .= _avVolumeId+ , "InstanceId" .= _avInstanceId+ ]++instance AWSRequest AssignVolume where+ type Sv AssignVolume = OpsWorks+ type Rs AssignVolume = AssignVolumeResponse++ request = post "AssignVolume"+ response = nullResponse AssignVolumeResponse
+ gen/Network/AWS/OpsWorks/AssociateElasticIp.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.AssociateElasticIp+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Associates one of the stack's registered Elastic IP addresses with a+-- specified instance. The address must first be registered with the stack by+-- calling RegisterElasticIp. For more information, see Resource Management.+-- Required Permissions: To use this action, an IAM user must have a Manage+-- permissions level for the stack, or an attached policy that explicitly+-- grants permissions. For more information on user permissions, see Managing+-- User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_AssociateElasticIp.html>+module Network.AWS.OpsWorks.AssociateElasticIp+ (+ -- * Request+ AssociateElasticIp+ -- ** Request constructor+ , associateElasticIp+ -- ** Request lenses+ , aeiElasticIp+ , aeiInstanceId++ -- * Response+ , AssociateElasticIpResponse+ -- ** Response constructor+ , associateElasticIpResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data AssociateElasticIp = AssociateElasticIp+ { _aeiElasticIp :: Text+ , _aeiInstanceId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'AssociateElasticIp' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'aeiElasticIp' @::@ 'Text'+--+-- * 'aeiInstanceId' @::@ 'Maybe' 'Text'+--+associateElasticIp :: Text -- ^ 'aeiElasticIp'+ -> AssociateElasticIp+associateElasticIp p1 = AssociateElasticIp+ { _aeiElasticIp = p1+ , _aeiInstanceId = Nothing+ }++-- | The Elastic IP address.+aeiElasticIp :: Lens' AssociateElasticIp Text+aeiElasticIp = lens _aeiElasticIp (\s a -> s { _aeiElasticIp = a })++-- | The instance ID.+aeiInstanceId :: Lens' AssociateElasticIp (Maybe Text)+aeiInstanceId = lens _aeiInstanceId (\s a -> s { _aeiInstanceId = a })++data AssociateElasticIpResponse = AssociateElasticIpResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'AssociateElasticIpResponse' constructor.+associateElasticIpResponse :: AssociateElasticIpResponse+associateElasticIpResponse = AssociateElasticIpResponse++instance ToPath AssociateElasticIp where+ toPath = const "/"++instance ToQuery AssociateElasticIp where+ toQuery = const mempty++instance ToHeaders AssociateElasticIp++instance ToJSON AssociateElasticIp where+ toJSON AssociateElasticIp{..} = object+ [ "ElasticIp" .= _aeiElasticIp+ , "InstanceId" .= _aeiInstanceId+ ]++instance AWSRequest AssociateElasticIp where+ type Sv AssociateElasticIp = OpsWorks+ type Rs AssociateElasticIp = AssociateElasticIpResponse++ request = post "AssociateElasticIp"+ response = nullResponse AssociateElasticIpResponse
+ gen/Network/AWS/OpsWorks/AttachElasticLoadBalancer.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.AttachElasticLoadBalancer+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Attaches an Elastic Load Balancing load balancer to a specified layer. For+-- more information, see Elastic Load Balancing. Required Permissions: To use+-- this action, an IAM user must have a Manage permissions level for the+-- stack, or an attached policy that explicitly grants permissions. For more+-- information on user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_AttachElasticLoadBalancer.html>+module Network.AWS.OpsWorks.AttachElasticLoadBalancer+ (+ -- * Request+ AttachElasticLoadBalancer+ -- ** Request constructor+ , attachElasticLoadBalancer+ -- ** Request lenses+ , aelbElasticLoadBalancerName+ , aelbLayerId++ -- * Response+ , AttachElasticLoadBalancerResponse+ -- ** Response constructor+ , attachElasticLoadBalancerResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data AttachElasticLoadBalancer = AttachElasticLoadBalancer+ { _aelbElasticLoadBalancerName :: Text+ , _aelbLayerId :: Text+ } deriving (Eq, Ord, Show)++-- | 'AttachElasticLoadBalancer' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'aelbElasticLoadBalancerName' @::@ 'Text'+--+-- * 'aelbLayerId' @::@ 'Text'+--+attachElasticLoadBalancer :: Text -- ^ 'aelbElasticLoadBalancerName'+ -> Text -- ^ 'aelbLayerId'+ -> AttachElasticLoadBalancer+attachElasticLoadBalancer p1 p2 = AttachElasticLoadBalancer+ { _aelbElasticLoadBalancerName = p1+ , _aelbLayerId = p2+ }++-- | The Elastic Load Balancing instance's name.+aelbElasticLoadBalancerName :: Lens' AttachElasticLoadBalancer Text+aelbElasticLoadBalancerName =+ lens _aelbElasticLoadBalancerName+ (\s a -> s { _aelbElasticLoadBalancerName = a })++-- | The ID of the layer that the Elastic Load Balancing instance is to be+-- attached to.+aelbLayerId :: Lens' AttachElasticLoadBalancer Text+aelbLayerId = lens _aelbLayerId (\s a -> s { _aelbLayerId = a })++data AttachElasticLoadBalancerResponse = AttachElasticLoadBalancerResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'AttachElasticLoadBalancerResponse' constructor.+attachElasticLoadBalancerResponse :: AttachElasticLoadBalancerResponse+attachElasticLoadBalancerResponse = AttachElasticLoadBalancerResponse++instance ToPath AttachElasticLoadBalancer where+ toPath = const "/"++instance ToQuery AttachElasticLoadBalancer where+ toQuery = const mempty++instance ToHeaders AttachElasticLoadBalancer++instance ToJSON AttachElasticLoadBalancer where+ toJSON AttachElasticLoadBalancer{..} = object+ [ "ElasticLoadBalancerName" .= _aelbElasticLoadBalancerName+ , "LayerId" .= _aelbLayerId+ ]++instance AWSRequest AttachElasticLoadBalancer where+ type Sv AttachElasticLoadBalancer = OpsWorks+ type Rs AttachElasticLoadBalancer = AttachElasticLoadBalancerResponse++ request = post "AttachElasticLoadBalancer"+ response = nullResponse AttachElasticLoadBalancerResponse
+ gen/Network/AWS/OpsWorks/CloneStack.hs view
@@ -0,0 +1,396 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.CloneStack+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Creates a clone of a specified stack. For more information, see Clone a+-- Stack. Required Permissions: To use this action, an IAM user must have an+-- attached policy that explicitly grants permissions. For more information on+-- user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_CloneStack.html>+module Network.AWS.OpsWorks.CloneStack+ (+ -- * Request+ CloneStack+ -- ** Request constructor+ , cloneStack+ -- ** Request lenses+ , cs1Attributes+ , cs1ChefConfiguration+ , cs1CloneAppIds+ , cs1ClonePermissions+ , cs1ConfigurationManager+ , cs1CustomCookbooksSource+ , cs1CustomJson+ , cs1DefaultAvailabilityZone+ , cs1DefaultInstanceProfileArn+ , cs1DefaultOs+ , cs1DefaultRootDeviceType+ , cs1DefaultSshKeyName+ , cs1DefaultSubnetId+ , cs1HostnameTheme+ , cs1Name+ , cs1Region+ , cs1ServiceRoleArn+ , cs1SourceStackId+ , cs1UseCustomCookbooks+ , cs1UseOpsworksSecurityGroups+ , cs1VpcId++ -- * Response+ , CloneStackResponse+ -- ** Response constructor+ , cloneStackResponse+ -- ** Response lenses+ , csrStackId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data CloneStack = CloneStack+ { _cs1Attributes :: Map Text Text+ , _cs1ChefConfiguration :: Maybe ChefConfiguration+ , _cs1CloneAppIds :: List "InstanceIds" Text+ , _cs1ClonePermissions :: Maybe Bool+ , _cs1ConfigurationManager :: Maybe StackConfigurationManager+ , _cs1CustomCookbooksSource :: Maybe Source+ , _cs1CustomJson :: Maybe Text+ , _cs1DefaultAvailabilityZone :: Maybe Text+ , _cs1DefaultInstanceProfileArn :: Maybe Text+ , _cs1DefaultOs :: Maybe Text+ , _cs1DefaultRootDeviceType :: Maybe Text+ , _cs1DefaultSshKeyName :: Maybe Text+ , _cs1DefaultSubnetId :: Maybe Text+ , _cs1HostnameTheme :: Maybe Text+ , _cs1Name :: Maybe Text+ , _cs1Region :: Maybe Text+ , _cs1ServiceRoleArn :: Text+ , _cs1SourceStackId :: Text+ , _cs1UseCustomCookbooks :: Maybe Bool+ , _cs1UseOpsworksSecurityGroups :: Maybe Bool+ , _cs1VpcId :: Maybe Text+ } deriving (Eq, Show)++-- | 'CloneStack' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cs1Attributes' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'cs1ChefConfiguration' @::@ 'Maybe' 'ChefConfiguration'+--+-- * 'cs1CloneAppIds' @::@ ['Text']+--+-- * 'cs1ClonePermissions' @::@ 'Maybe' 'Bool'+--+-- * 'cs1ConfigurationManager' @::@ 'Maybe' 'StackConfigurationManager'+--+-- * 'cs1CustomCookbooksSource' @::@ 'Maybe' 'Source'+--+-- * 'cs1CustomJson' @::@ 'Maybe' 'Text'+--+-- * 'cs1DefaultAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'cs1DefaultInstanceProfileArn' @::@ 'Maybe' 'Text'+--+-- * 'cs1DefaultOs' @::@ 'Maybe' 'Text'+--+-- * 'cs1DefaultRootDeviceType' @::@ 'Maybe' 'Text'+--+-- * 'cs1DefaultSshKeyName' @::@ 'Maybe' 'Text'+--+-- * 'cs1DefaultSubnetId' @::@ 'Maybe' 'Text'+--+-- * 'cs1HostnameTheme' @::@ 'Maybe' 'Text'+--+-- * 'cs1Name' @::@ 'Maybe' 'Text'+--+-- * 'cs1Region' @::@ 'Maybe' 'Text'+--+-- * 'cs1ServiceRoleArn' @::@ 'Text'+--+-- * 'cs1SourceStackId' @::@ 'Text'+--+-- * 'cs1UseCustomCookbooks' @::@ 'Maybe' 'Bool'+--+-- * 'cs1UseOpsworksSecurityGroups' @::@ 'Maybe' 'Bool'+--+-- * 'cs1VpcId' @::@ 'Maybe' 'Text'+--+cloneStack :: Text -- ^ 'cs1SourceStackId'+ -> Text -- ^ 'cs1ServiceRoleArn'+ -> CloneStack+cloneStack p1 p2 = CloneStack+ { _cs1SourceStackId = p1+ , _cs1ServiceRoleArn = p2+ , _cs1Name = Nothing+ , _cs1Region = Nothing+ , _cs1VpcId = Nothing+ , _cs1Attributes = mempty+ , _cs1DefaultInstanceProfileArn = Nothing+ , _cs1DefaultOs = Nothing+ , _cs1HostnameTheme = Nothing+ , _cs1DefaultAvailabilityZone = Nothing+ , _cs1DefaultSubnetId = Nothing+ , _cs1CustomJson = Nothing+ , _cs1ConfigurationManager = Nothing+ , _cs1ChefConfiguration = Nothing+ , _cs1UseCustomCookbooks = Nothing+ , _cs1UseOpsworksSecurityGroups = Nothing+ , _cs1CustomCookbooksSource = Nothing+ , _cs1DefaultSshKeyName = Nothing+ , _cs1ClonePermissions = Nothing+ , _cs1CloneAppIds = mempty+ , _cs1DefaultRootDeviceType = Nothing+ }++-- | A list of stack attributes and values as key/value pairs to be added to+-- the cloned stack.+cs1Attributes :: Lens' CloneStack (HashMap Text Text)+cs1Attributes = lens _cs1Attributes (\s a -> s { _cs1Attributes = a }) . _Map++-- | A ChefConfiguration object that specifies whether to enable Berkshelf and+-- the Berkshelf version on Chef 11.10 stacks. For more information, see+-- Create a New Stack.+cs1ChefConfiguration :: Lens' CloneStack (Maybe ChefConfiguration)+cs1ChefConfiguration =+ lens _cs1ChefConfiguration (\s a -> s { _cs1ChefConfiguration = a })++-- | A list of source stack app IDs to be included in the cloned stack.+cs1CloneAppIds :: Lens' CloneStack [Text]+cs1CloneAppIds = lens _cs1CloneAppIds (\s a -> s { _cs1CloneAppIds = a }) . _List++-- | Whether to clone the source stack's permissions.+cs1ClonePermissions :: Lens' CloneStack (Maybe Bool)+cs1ClonePermissions =+ lens _cs1ClonePermissions (\s a -> s { _cs1ClonePermissions = a })++-- | The configuration manager. When you clone a stack we recommend that you+-- use the configuration manager to specify the Chef version, 0.9, 11.4, or+-- 11.10. The default value is currently 11.4.+cs1ConfigurationManager :: Lens' CloneStack (Maybe StackConfigurationManager)+cs1ConfigurationManager =+ lens _cs1ConfigurationManager (\s a -> s { _cs1ConfigurationManager = a })++cs1CustomCookbooksSource :: Lens' CloneStack (Maybe Source)+cs1CustomCookbooksSource =+ lens _cs1CustomCookbooksSource+ (\s a -> s { _cs1CustomCookbooksSource = a })++-- | A string that contains user-defined, custom JSON. It is used to override+-- the corresponding default stack configuration JSON values. The string+-- should be in the following format and must escape characters such as+-- '"'.: "{\"key1\": \"value1\", \"key2\": \"value2\",...}" For more+-- information on custom JSON, see Use Custom JSON to Modify the Stack+-- Configuration JSON.+cs1CustomJson :: Lens' CloneStack (Maybe Text)+cs1CustomJson = lens _cs1CustomJson (\s a -> s { _cs1CustomJson = a })++-- | The cloned stack's default Availability Zone, which must be in the+-- specified region. For more information, see Regions and Endpoints. If you+-- also specify a value for DefaultSubnetId, the subnet must be in the same+-- zone. For more information, see the VpcId parameter description.+cs1DefaultAvailabilityZone :: Lens' CloneStack (Maybe Text)+cs1DefaultAvailabilityZone =+ lens _cs1DefaultAvailabilityZone+ (\s a -> s { _cs1DefaultAvailabilityZone = a })++-- | The ARN of an IAM profile that is the default profile for all of the+-- stack's EC2 instances. For more information about IAM ARNs, see Using+-- Identifiers.+cs1DefaultInstanceProfileArn :: Lens' CloneStack (Maybe Text)+cs1DefaultInstanceProfileArn =+ lens _cs1DefaultInstanceProfileArn+ (\s a -> s { _cs1DefaultInstanceProfileArn = a })++-- | The cloned stack's default operating system, which must be set to Amazon+-- Linux or Ubuntu 12.04 LTS. The default option is Amazon Linux.+cs1DefaultOs :: Lens' CloneStack (Maybe Text)+cs1DefaultOs = lens _cs1DefaultOs (\s a -> s { _cs1DefaultOs = a })++-- | The default root device type. This value is used by default for all+-- instances in the cloned stack, but you can override it when you create an+-- instance. For more information, see Storage for the Root Device.+cs1DefaultRootDeviceType :: Lens' CloneStack (Maybe Text)+cs1DefaultRootDeviceType =+ lens _cs1DefaultRootDeviceType+ (\s a -> s { _cs1DefaultRootDeviceType = a })++-- | A default SSH key for the stack instances. You can override this value+-- when you create or update an instance.+cs1DefaultSshKeyName :: Lens' CloneStack (Maybe Text)+cs1DefaultSshKeyName =+ lens _cs1DefaultSshKeyName (\s a -> s { _cs1DefaultSshKeyName = a })++-- | The stack's default subnet ID. All instances will be launched into this+-- subnet unless you specify otherwise when you create the instance. If you+-- also specify a value for DefaultAvailabilityZone, the subnet must be in+-- the same zone. For information on default values and when this parameter+-- is required, see the VpcId parameter description.+cs1DefaultSubnetId :: Lens' CloneStack (Maybe Text)+cs1DefaultSubnetId =+ lens _cs1DefaultSubnetId (\s a -> s { _cs1DefaultSubnetId = a })++-- | The stack's host name theme, with spaces are replaced by underscores. The+-- theme is used to generate host names for the stack's instances. By+-- default, HostnameTheme is set to Layer_Dependent, which creates host+-- names by appending integers to the layer's short name. The other themes+-- are: Baked_Goods Clouds European_Cities Fruits Greek_Deities+-- Legendary_Creatures_from_Japan Planets_and_Moons Roman_Deities+-- Scottish_Islands US_Cities Wild_Cats To obtain a generated host name,+-- call GetHostNameSuggestion, which returns a host name based on the+-- current theme.+cs1HostnameTheme :: Lens' CloneStack (Maybe Text)+cs1HostnameTheme = lens _cs1HostnameTheme (\s a -> s { _cs1HostnameTheme = a })++-- | The cloned stack name.+cs1Name :: Lens' CloneStack (Maybe Text)+cs1Name = lens _cs1Name (\s a -> s { _cs1Name = a })++-- | The cloned stack AWS region, such as "us-east-1". For more information+-- about AWS regions, see Regions and Endpoints.+cs1Region :: Lens' CloneStack (Maybe Text)+cs1Region = lens _cs1Region (\s a -> s { _cs1Region = a })++-- | The stack AWS Identity and Access Management (IAM) role, which allows AWS+-- OpsWorks to work with AWS resources on your behalf. You must set this+-- parameter to the Amazon Resource Name (ARN) for an existing IAM role. If+-- you create a stack by using the AWS OpsWorks console, it creates the role+-- for you. You can obtain an existing stack's IAM ARN programmatically by+-- calling DescribePermissions. For more information about IAM ARNs, see+-- Using Identifiers.+cs1ServiceRoleArn :: Lens' CloneStack Text+cs1ServiceRoleArn =+ lens _cs1ServiceRoleArn (\s a -> s { _cs1ServiceRoleArn = a })++-- | The source stack ID.+cs1SourceStackId :: Lens' CloneStack Text+cs1SourceStackId = lens _cs1SourceStackId (\s a -> s { _cs1SourceStackId = a })++-- | Whether to use custom cookbooks.+cs1UseCustomCookbooks :: Lens' CloneStack (Maybe Bool)+cs1UseCustomCookbooks =+ lens _cs1UseCustomCookbooks (\s a -> s { _cs1UseCustomCookbooks = a })++-- | Whether to associate the AWS OpsWorks built-in security groups with the+-- stack's layers. AWS OpsWorks provides a standard set of built-in security+-- groups, one for each layer, which are associated with layers by default.+-- With UseOpsworksSecurityGroups you can instead provide your own custom+-- security groups. UseOpsworksSecurityGroups has the following settings:+-- True - AWS OpsWorks automatically associates the appropriate built-in+-- security group with each layer (default setting). You can associate+-- additional security groups with a layer after you create it but you+-- cannot delete the built-in security group. False - AWS OpsWorks does not+-- associate built-in security groups with layers. You must create+-- appropriate EC2 security groups and associate a security group with each+-- layer that you create. However, you can still manually associate a+-- built-in security group with a layer on creation; custom security groups+-- are required only for those layers that need custom settings. For more+-- information, see Create a New Stack.+cs1UseOpsworksSecurityGroups :: Lens' CloneStack (Maybe Bool)+cs1UseOpsworksSecurityGroups =+ lens _cs1UseOpsworksSecurityGroups+ (\s a -> s { _cs1UseOpsworksSecurityGroups = a })++-- | The ID of the VPC that the cloned stack is to be launched into. It must+-- be in the specified region. All instances will be launched into this VPC,+-- and you cannot change the ID later. If your account supports EC2 Classic,+-- the default value is no VPC. If your account does not support EC2+-- Classic, the default value is the default VPC for the specified region.+-- If the VPC ID corresponds to a default VPC and you have specified either+-- the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS+-- OpsWorks infers the value of the other parameter. If you specify neither+-- parameter, AWS OpsWorks sets these parameters to the first valid+-- Availability Zone for the specified region and the corresponding default+-- VPC subnet ID, respectively. If you specify a nondefault VPC ID, note the+-- following: It must belong to a VPC in your account that is in the+-- specified region. You must specify a value for DefaultSubnetId. For more+-- information on how to use AWS OpsWorks with a VPC, see Running a Stack in+-- a VPC. For more information on default VPC and EC2 Classic, see Supported+-- Platforms.+cs1VpcId :: Lens' CloneStack (Maybe Text)+cs1VpcId = lens _cs1VpcId (\s a -> s { _cs1VpcId = a })++newtype CloneStackResponse = CloneStackResponse+ { _csrStackId :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'CloneStackResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'csrStackId' @::@ 'Maybe' 'Text'+--+cloneStackResponse :: CloneStackResponse+cloneStackResponse = CloneStackResponse+ { _csrStackId = Nothing+ }++-- | The cloned stack ID.+csrStackId :: Lens' CloneStackResponse (Maybe Text)+csrStackId = lens _csrStackId (\s a -> s { _csrStackId = a })++instance ToPath CloneStack where+ toPath = const "/"++instance ToQuery CloneStack where+ toQuery = const mempty++instance ToHeaders CloneStack++instance ToJSON CloneStack where+ toJSON CloneStack{..} = object+ [ "SourceStackId" .= _cs1SourceStackId+ , "Name" .= _cs1Name+ , "Region" .= _cs1Region+ , "VpcId" .= _cs1VpcId+ , "Attributes" .= _cs1Attributes+ , "ServiceRoleArn" .= _cs1ServiceRoleArn+ , "DefaultInstanceProfileArn" .= _cs1DefaultInstanceProfileArn+ , "DefaultOs" .= _cs1DefaultOs+ , "HostnameTheme" .= _cs1HostnameTheme+ , "DefaultAvailabilityZone" .= _cs1DefaultAvailabilityZone+ , "DefaultSubnetId" .= _cs1DefaultSubnetId+ , "CustomJson" .= _cs1CustomJson+ , "ConfigurationManager" .= _cs1ConfigurationManager+ , "ChefConfiguration" .= _cs1ChefConfiguration+ , "UseCustomCookbooks" .= _cs1UseCustomCookbooks+ , "UseOpsworksSecurityGroups" .= _cs1UseOpsworksSecurityGroups+ , "CustomCookbooksSource" .= _cs1CustomCookbooksSource+ , "DefaultSshKeyName" .= _cs1DefaultSshKeyName+ , "ClonePermissions" .= _cs1ClonePermissions+ , "CloneAppIds" .= _cs1CloneAppIds+ , "DefaultRootDeviceType" .= _cs1DefaultRootDeviceType+ ]++instance AWSRequest CloneStack where+ type Sv CloneStack = OpsWorks+ type Rs CloneStack = CloneStackResponse++ request = post "CloneStack"+ response = jsonResponse++instance FromJSON CloneStackResponse where+ parseJSON = withObject "CloneStackResponse" $ \o -> CloneStackResponse+ <$> o .:? "StackId"
+ gen/Network/AWS/OpsWorks/CreateApp.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.CreateApp+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Creates an app for a specified stack. For more information, see Creating+-- Apps. Required Permissions: To use this action, an IAM user must have a+-- Manage permissions level for the stack, or an attached policy that+-- explicitly grants permissions. For more information on user permissions,+-- see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateApp.html>+module Network.AWS.OpsWorks.CreateApp+ (+ -- * Request+ CreateApp+ -- ** Request constructor+ , createApp+ -- ** Request lenses+ , caAppSource+ , caAttributes+ , caDataSources+ , caDescription+ , caDomains+ , caEnableSsl+ , caName+ , caShortname+ , caSslConfiguration+ , caStackId+ , caType++ -- * Response+ , CreateAppResponse+ -- ** Response constructor+ , createAppResponse+ -- ** Response lenses+ , carAppId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data CreateApp = CreateApp+ { _caAppSource :: Maybe Source+ , _caAttributes :: Map Text Text+ , _caDataSources :: List "DataSources" DataSource+ , _caDescription :: Maybe Text+ , _caDomains :: List "InstanceIds" Text+ , _caEnableSsl :: Maybe Bool+ , _caName :: Text+ , _caShortname :: Maybe Text+ , _caSslConfiguration :: Maybe SslConfiguration+ , _caStackId :: Text+ , _caType :: Text+ } deriving (Eq, Show)++-- | 'CreateApp' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'caAppSource' @::@ 'Maybe' 'Source'+--+-- * 'caAttributes' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'caDataSources' @::@ ['DataSource']+--+-- * 'caDescription' @::@ 'Maybe' 'Text'+--+-- * 'caDomains' @::@ ['Text']+--+-- * 'caEnableSsl' @::@ 'Maybe' 'Bool'+--+-- * 'caName' @::@ 'Text'+--+-- * 'caShortname' @::@ 'Maybe' 'Text'+--+-- * 'caSslConfiguration' @::@ 'Maybe' 'SslConfiguration'+--+-- * 'caStackId' @::@ 'Text'+--+-- * 'caType' @::@ 'Text'+--+createApp :: Text -- ^ 'caStackId'+ -> Text -- ^ 'caName'+ -> Text -- ^ 'caType'+ -> CreateApp+createApp p1 p2 p3 = CreateApp+ { _caStackId = p1+ , _caName = p2+ , _caType = p3+ , _caShortname = Nothing+ , _caDescription = Nothing+ , _caDataSources = mempty+ , _caAppSource = Nothing+ , _caDomains = mempty+ , _caEnableSsl = Nothing+ , _caSslConfiguration = Nothing+ , _caAttributes = mempty+ }++-- | A Source object that specifies the app repository.+caAppSource :: Lens' CreateApp (Maybe Source)+caAppSource = lens _caAppSource (\s a -> s { _caAppSource = a })++-- | One or more user-defined key/value pairs to be added to the stack+-- attributes.+caAttributes :: Lens' CreateApp (HashMap Text Text)+caAttributes = lens _caAttributes (\s a -> s { _caAttributes = a }) . _Map++-- | The app's data source.+caDataSources :: Lens' CreateApp [DataSource]+caDataSources = lens _caDataSources (\s a -> s { _caDataSources = a }) . _List++-- | A description of the app.+caDescription :: Lens' CreateApp (Maybe Text)+caDescription = lens _caDescription (\s a -> s { _caDescription = a })++-- | The app virtual host settings, with multiple domains separated by commas.+-- For example: 'www.example.com, example.com'.+caDomains :: Lens' CreateApp [Text]+caDomains = lens _caDomains (\s a -> s { _caDomains = a }) . _List++-- | Whether to enable SSL for the app.+caEnableSsl :: Lens' CreateApp (Maybe Bool)+caEnableSsl = lens _caEnableSsl (\s a -> s { _caEnableSsl = a })++-- | The app name.+caName :: Lens' CreateApp Text+caName = lens _caName (\s a -> s { _caName = a })++-- | The app's short name.+caShortname :: Lens' CreateApp (Maybe Text)+caShortname = lens _caShortname (\s a -> s { _caShortname = a })++-- | An SslConfiguration object with the SSL configuration.+caSslConfiguration :: Lens' CreateApp (Maybe SslConfiguration)+caSslConfiguration =+ lens _caSslConfiguration (\s a -> s { _caSslConfiguration = a })++-- | The stack ID.+caStackId :: Lens' CreateApp Text+caStackId = lens _caStackId (\s a -> s { _caStackId = a })++-- | The app type. Each supported type is associated with a particular layer.+-- For example, PHP applications are associated with a PHP layer. AWS+-- OpsWorks deploys an application to those instances that are members of+-- the corresponding layer.+caType :: Lens' CreateApp Text+caType = lens _caType (\s a -> s { _caType = a })++newtype CreateAppResponse = CreateAppResponse+ { _carAppId :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'CreateAppResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'carAppId' @::@ 'Maybe' 'Text'+--+createAppResponse :: CreateAppResponse+createAppResponse = CreateAppResponse+ { _carAppId = Nothing+ }++-- | The app ID.+carAppId :: Lens' CreateAppResponse (Maybe Text)+carAppId = lens _carAppId (\s a -> s { _carAppId = a })++instance ToPath CreateApp where+ toPath = const "/"++instance ToQuery CreateApp where+ toQuery = const mempty++instance ToHeaders CreateApp++instance ToJSON CreateApp where+ toJSON CreateApp{..} = object+ [ "StackId" .= _caStackId+ , "Shortname" .= _caShortname+ , "Name" .= _caName+ , "Description" .= _caDescription+ , "DataSources" .= _caDataSources+ , "Type" .= _caType+ , "AppSource" .= _caAppSource+ , "Domains" .= _caDomains+ , "EnableSsl" .= _caEnableSsl+ , "SslConfiguration" .= _caSslConfiguration+ , "Attributes" .= _caAttributes+ ]++instance AWSRequest CreateApp where+ type Sv CreateApp = OpsWorks+ type Rs CreateApp = CreateAppResponse++ request = post "CreateApp"+ response = jsonResponse++instance FromJSON CreateAppResponse where+ parseJSON = withObject "CreateAppResponse" $ \o -> CreateAppResponse+ <$> o .:? "AppId"
+ gen/Network/AWS/OpsWorks/CreateDeployment.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.CreateDeployment+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Deploys a stack or app. App deployment generates a deploy event, which runs+-- the associated recipes and passes them a JSON stack configuration object+-- that includes information about the app. Stack deployment runs the deploy+-- recipes but does not raise an event. For more information, see Deploying+-- Apps and Run Stack Commands. Required Permissions: To use this action, an+-- IAM user must have a Deploy or Manage permissions level for the stack, or+-- an attached policy that explicitly grants permissions. For more information+-- on user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateDeployment.html>+module Network.AWS.OpsWorks.CreateDeployment+ (+ -- * Request+ CreateDeployment+ -- ** Request constructor+ , createDeployment+ -- ** Request lenses+ , cdAppId+ , cdCommand+ , cdComment+ , cdCustomJson+ , cdInstanceIds+ , cdStackId++ -- * Response+ , CreateDeploymentResponse+ -- ** Response constructor+ , createDeploymentResponse+ -- ** Response lenses+ , cdrDeploymentId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data CreateDeployment = CreateDeployment+ { _cdAppId :: Maybe Text+ , _cdCommand :: DeploymentCommand+ , _cdComment :: Maybe Text+ , _cdCustomJson :: Maybe Text+ , _cdInstanceIds :: List "InstanceIds" Text+ , _cdStackId :: Text+ } deriving (Eq, Show)++-- | 'CreateDeployment' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdAppId' @::@ 'Maybe' 'Text'+--+-- * 'cdCommand' @::@ 'DeploymentCommand'+--+-- * 'cdComment' @::@ 'Maybe' 'Text'+--+-- * 'cdCustomJson' @::@ 'Maybe' 'Text'+--+-- * 'cdInstanceIds' @::@ ['Text']+--+-- * 'cdStackId' @::@ 'Text'+--+createDeployment :: Text -- ^ 'cdStackId'+ -> DeploymentCommand -- ^ 'cdCommand'+ -> CreateDeployment+createDeployment p1 p2 = CreateDeployment+ { _cdStackId = p1+ , _cdCommand = p2+ , _cdAppId = Nothing+ , _cdInstanceIds = mempty+ , _cdComment = Nothing+ , _cdCustomJson = Nothing+ }++-- | The app ID. This parameter is required for app deployments, but not for+-- other deployment commands.+cdAppId :: Lens' CreateDeployment (Maybe Text)+cdAppId = lens _cdAppId (\s a -> s { _cdAppId = a })++-- | A DeploymentCommand object that specifies the deployment command and any+-- associated arguments.+cdCommand :: Lens' CreateDeployment DeploymentCommand+cdCommand = lens _cdCommand (\s a -> s { _cdCommand = a })++-- | A user-defined comment.+cdComment :: Lens' CreateDeployment (Maybe Text)+cdComment = lens _cdComment (\s a -> s { _cdComment = a })++-- | A string that contains user-defined, custom JSON. It is used to override+-- the corresponding default stack configuration JSON values. The string+-- should be in the following format and must escape characters such as+-- '"'.: "{\"key1\": \"value1\", \"key2\": \"value2\",...}" For more+-- information on custom JSON, see Use Custom JSON to Modify the Stack+-- Configuration JSON.+cdCustomJson :: Lens' CreateDeployment (Maybe Text)+cdCustomJson = lens _cdCustomJson (\s a -> s { _cdCustomJson = a })++-- | The instance IDs for the deployment targets.+cdInstanceIds :: Lens' CreateDeployment [Text]+cdInstanceIds = lens _cdInstanceIds (\s a -> s { _cdInstanceIds = a }) . _List++-- | The stack ID.+cdStackId :: Lens' CreateDeployment Text+cdStackId = lens _cdStackId (\s a -> s { _cdStackId = a })++newtype CreateDeploymentResponse = CreateDeploymentResponse+ { _cdrDeploymentId :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'CreateDeploymentResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdrDeploymentId' @::@ 'Maybe' 'Text'+--+createDeploymentResponse :: CreateDeploymentResponse+createDeploymentResponse = CreateDeploymentResponse+ { _cdrDeploymentId = Nothing+ }++-- | The deployment ID, which can be used with other requests to identify the+-- deployment.+cdrDeploymentId :: Lens' CreateDeploymentResponse (Maybe Text)+cdrDeploymentId = lens _cdrDeploymentId (\s a -> s { _cdrDeploymentId = a })++instance ToPath CreateDeployment where+ toPath = const "/"++instance ToQuery CreateDeployment where+ toQuery = const mempty++instance ToHeaders CreateDeployment++instance ToJSON CreateDeployment where+ toJSON CreateDeployment{..} = object+ [ "StackId" .= _cdStackId+ , "AppId" .= _cdAppId+ , "InstanceIds" .= _cdInstanceIds+ , "Command" .= _cdCommand+ , "Comment" .= _cdComment+ , "CustomJson" .= _cdCustomJson+ ]++instance AWSRequest CreateDeployment where+ type Sv CreateDeployment = OpsWorks+ type Rs CreateDeployment = CreateDeploymentResponse++ request = post "CreateDeployment"+ response = jsonResponse++instance FromJSON CreateDeploymentResponse where+ parseJSON = withObject "CreateDeploymentResponse" $ \o -> CreateDeploymentResponse+ <$> o .:? "DeploymentId"
+ gen/Network/AWS/OpsWorks/CreateInstance.hs view
@@ -0,0 +1,289 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.CreateInstance+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Creates an instance in a specified stack. For more information, see Adding+-- an Instance to a Layer. Required Permissions: To use this action, an IAM+-- user must have a Manage permissions level for the stack, or an attached+-- policy that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateInstance.html>+module Network.AWS.OpsWorks.CreateInstance+ (+ -- * Request+ CreateInstance+ -- ** Request constructor+ , createInstance+ -- ** Request lenses+ , ciAmiId+ , ciArchitecture+ , ciAutoScalingType+ , ciAvailabilityZone+ , ciEbsOptimized+ , ciHostname+ , ciInstallUpdatesOnBoot+ , ciInstanceType+ , ciLayerIds+ , ciOs+ , ciRootDeviceType+ , ciSshKeyName+ , ciStackId+ , ciSubnetId+ , ciVirtualizationType++ -- * Response+ , CreateInstanceResponse+ -- ** Response constructor+ , createInstanceResponse+ -- ** Response lenses+ , cirInstanceId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data CreateInstance = CreateInstance+ { _ciAmiId :: Maybe Text+ , _ciArchitecture :: Maybe Text+ , _ciAutoScalingType :: Maybe Text+ , _ciAvailabilityZone :: Maybe Text+ , _ciEbsOptimized :: Maybe Bool+ , _ciHostname :: Maybe Text+ , _ciInstallUpdatesOnBoot :: Maybe Bool+ , _ciInstanceType :: Text+ , _ciLayerIds :: List "InstanceIds" Text+ , _ciOs :: Maybe Text+ , _ciRootDeviceType :: Maybe Text+ , _ciSshKeyName :: Maybe Text+ , _ciStackId :: Text+ , _ciSubnetId :: Maybe Text+ , _ciVirtualizationType :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'CreateInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ciAmiId' @::@ 'Maybe' 'Text'+--+-- * 'ciArchitecture' @::@ 'Maybe' 'Text'+--+-- * 'ciAutoScalingType' @::@ 'Maybe' 'Text'+--+-- * 'ciAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'ciEbsOptimized' @::@ 'Maybe' 'Bool'+--+-- * 'ciHostname' @::@ 'Maybe' 'Text'+--+-- * 'ciInstallUpdatesOnBoot' @::@ 'Maybe' 'Bool'+--+-- * 'ciInstanceType' @::@ 'Text'+--+-- * 'ciLayerIds' @::@ ['Text']+--+-- * 'ciOs' @::@ 'Maybe' 'Text'+--+-- * 'ciRootDeviceType' @::@ 'Maybe' 'Text'+--+-- * 'ciSshKeyName' @::@ 'Maybe' 'Text'+--+-- * 'ciStackId' @::@ 'Text'+--+-- * 'ciSubnetId' @::@ 'Maybe' 'Text'+--+-- * 'ciVirtualizationType' @::@ 'Maybe' 'Text'+--+createInstance :: Text -- ^ 'ciStackId'+ -> Text -- ^ 'ciInstanceType'+ -> CreateInstance+createInstance p1 p2 = CreateInstance+ { _ciStackId = p1+ , _ciInstanceType = p2+ , _ciLayerIds = mempty+ , _ciAutoScalingType = Nothing+ , _ciHostname = Nothing+ , _ciOs = Nothing+ , _ciAmiId = Nothing+ , _ciSshKeyName = Nothing+ , _ciAvailabilityZone = Nothing+ , _ciVirtualizationType = Nothing+ , _ciSubnetId = Nothing+ , _ciArchitecture = Nothing+ , _ciRootDeviceType = Nothing+ , _ciInstallUpdatesOnBoot = Nothing+ , _ciEbsOptimized = Nothing+ }++-- | A custom AMI ID to be used to create the instance. The AMI should be+-- based on one of the standard AWS OpsWorks APIs: Amazon Linux or Ubuntu+-- 12.04 LTS. For more information, see Instances.+ciAmiId :: Lens' CreateInstance (Maybe Text)+ciAmiId = lens _ciAmiId (\s a -> s { _ciAmiId = a })++-- | The instance architecture. The default option is x86_64. Instance types+-- do not necessarily support both architectures. For a list of the+-- architectures that are supported by the different instance types, see+-- Instance Families and Types.+ciArchitecture :: Lens' CreateInstance (Maybe Text)+ciArchitecture = lens _ciArchitecture (\s a -> s { _ciArchitecture = a })++-- | The instance auto scaling type, which has three possible values:+-- AlwaysRunning: A 24/7 instance, which is not affected by auto scaling.+-- TimeBasedAutoScaling: A time-based auto scaling instance, which is+-- started and stopped based on a specified schedule. To specify the+-- schedule, call SetTimeBasedAutoScaling. LoadBasedAutoScaling: A+-- load-based auto scaling instance, which is started and stopped based on+-- load metrics. To use load-based auto scaling, you must enable it for the+-- instance layer and configure the thresholds by calling+-- SetLoadBasedAutoScaling.+ciAutoScalingType :: Lens' CreateInstance (Maybe Text)+ciAutoScalingType =+ lens _ciAutoScalingType (\s a -> s { _ciAutoScalingType = a })++-- | The instance Availability Zone. For more information, see Regions and+-- Endpoints.+ciAvailabilityZone :: Lens' CreateInstance (Maybe Text)+ciAvailabilityZone =+ lens _ciAvailabilityZone (\s a -> s { _ciAvailabilityZone = a })++-- | Whether to create an Amazon EBS-optimized instance.+ciEbsOptimized :: Lens' CreateInstance (Maybe Bool)+ciEbsOptimized = lens _ciEbsOptimized (\s a -> s { _ciEbsOptimized = a })++-- | The instance host name.+ciHostname :: Lens' CreateInstance (Maybe Text)+ciHostname = lens _ciHostname (\s a -> s { _ciHostname = a })++-- | Whether to install operating system and package updates when the instance+-- boots. The default value is true. To control when updates are installed,+-- set this value to false. You must then update your instances manually by+-- using CreateDeployment to run the update_dependencies stack command or+-- manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.+ciInstallUpdatesOnBoot :: Lens' CreateInstance (Maybe Bool)+ciInstallUpdatesOnBoot =+ lens _ciInstallUpdatesOnBoot (\s a -> s { _ciInstallUpdatesOnBoot = a })++-- | The instance type. AWS OpsWorks supports all instance types except+-- Cluster Compute, Cluster GPU, and High Memory Cluster. For more+-- information, see Instance Families and Types. The parameter values that+-- you use to specify the various types are in the API Name column of the+-- Available Instance Types table.+ciInstanceType :: Lens' CreateInstance Text+ciInstanceType = lens _ciInstanceType (\s a -> s { _ciInstanceType = a })++-- | An array that contains the instance layer IDs.+ciLayerIds :: Lens' CreateInstance [Text]+ciLayerIds = lens _ciLayerIds (\s a -> s { _ciLayerIds = a }) . _List++-- | The instance operating system, which must be set to one of the following.+-- Standard operating systems: Amazon Linux or Ubuntu 12.04 LTS Custom AMIs:+-- Custom The default option is Amazon Linux. If you set this parameter to+-- Custom, you must use the CreateInstance action's AmiId parameter to+-- specify the custom AMI that you want to use. For more information on the+-- standard operating systems, see Operating SystemsFor more information on+-- how to use custom AMIs with OpsWorks, see Using Custom AMIs.+ciOs :: Lens' CreateInstance (Maybe Text)+ciOs = lens _ciOs (\s a -> s { _ciOs = a })++-- | The instance root device type. For more information, see Storage for the+-- Root Device.+ciRootDeviceType :: Lens' CreateInstance (Maybe Text)+ciRootDeviceType = lens _ciRootDeviceType (\s a -> s { _ciRootDeviceType = a })++-- | The instance SSH key name.+ciSshKeyName :: Lens' CreateInstance (Maybe Text)+ciSshKeyName = lens _ciSshKeyName (\s a -> s { _ciSshKeyName = a })++-- | The stack ID.+ciStackId :: Lens' CreateInstance Text+ciStackId = lens _ciStackId (\s a -> s { _ciStackId = a })++-- | The ID of the instance's subnet. If the stack is running in a VPC, you+-- can use this parameter to override the stack's default subnet ID value+-- and direct AWS OpsWorks to launch the instance in a different subnet.+ciSubnetId :: Lens' CreateInstance (Maybe Text)+ciSubnetId = lens _ciSubnetId (\s a -> s { _ciSubnetId = a })++-- | The instance's virtualization type, paravirtual or hvm.+ciVirtualizationType :: Lens' CreateInstance (Maybe Text)+ciVirtualizationType =+ lens _ciVirtualizationType (\s a -> s { _ciVirtualizationType = a })++newtype CreateInstanceResponse = CreateInstanceResponse+ { _cirInstanceId :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'CreateInstanceResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cirInstanceId' @::@ 'Maybe' 'Text'+--+createInstanceResponse :: CreateInstanceResponse+createInstanceResponse = CreateInstanceResponse+ { _cirInstanceId = Nothing+ }++-- | The instance ID.+cirInstanceId :: Lens' CreateInstanceResponse (Maybe Text)+cirInstanceId = lens _cirInstanceId (\s a -> s { _cirInstanceId = a })++instance ToPath CreateInstance where+ toPath = const "/"++instance ToQuery CreateInstance where+ toQuery = const mempty++instance ToHeaders CreateInstance++instance ToJSON CreateInstance where+ toJSON CreateInstance{..} = object+ [ "StackId" .= _ciStackId+ , "LayerIds" .= _ciLayerIds+ , "InstanceType" .= _ciInstanceType+ , "AutoScalingType" .= _ciAutoScalingType+ , "Hostname" .= _ciHostname+ , "Os" .= _ciOs+ , "AmiId" .= _ciAmiId+ , "SshKeyName" .= _ciSshKeyName+ , "AvailabilityZone" .= _ciAvailabilityZone+ , "VirtualizationType" .= _ciVirtualizationType+ , "SubnetId" .= _ciSubnetId+ , "Architecture" .= _ciArchitecture+ , "RootDeviceType" .= _ciRootDeviceType+ , "InstallUpdatesOnBoot" .= _ciInstallUpdatesOnBoot+ , "EbsOptimized" .= _ciEbsOptimized+ ]++instance AWSRequest CreateInstance where+ type Sv CreateInstance = OpsWorks+ type Rs CreateInstance = CreateInstanceResponse++ request = post "CreateInstance"+ response = jsonResponse++instance FromJSON CreateInstanceResponse where+ parseJSON = withObject "CreateInstanceResponse" $ \o -> CreateInstanceResponse+ <$> o .:? "InstanceId"
+ gen/Network/AWS/OpsWorks/CreateLayer.hs view
@@ -0,0 +1,289 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.CreateLayer+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Creates a layer. For more information, see How to Create a Layer. Required+-- Permissions: To use this action, an IAM user must have a Manage permissions+-- level for the stack, or an attached policy that explicitly grants+-- permissions. For more information on user permissions, see Managing User+-- Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateLayer.html>+module Network.AWS.OpsWorks.CreateLayer+ (+ -- * Request+ CreateLayer+ -- ** Request constructor+ , createLayer+ -- ** Request lenses+ , clAttributes+ , clAutoAssignElasticIps+ , clAutoAssignPublicIps+ , clCustomInstanceProfileArn+ , clCustomRecipes+ , clCustomSecurityGroupIds+ , clEnableAutoHealing+ , clInstallUpdatesOnBoot+ , clName+ , clPackages+ , clShortname+ , clStackId+ , clType+ , clUseEbsOptimizedInstances+ , clVolumeConfigurations++ -- * Response+ , CreateLayerResponse+ -- ** Response constructor+ , createLayerResponse+ -- ** Response lenses+ , clrLayerId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data CreateLayer = CreateLayer+ { _clAttributes :: Map Text Text+ , _clAutoAssignElasticIps :: Maybe Bool+ , _clAutoAssignPublicIps :: Maybe Bool+ , _clCustomInstanceProfileArn :: Maybe Text+ , _clCustomRecipes :: Maybe Recipes+ , _clCustomSecurityGroupIds :: List "InstanceIds" Text+ , _clEnableAutoHealing :: Maybe Bool+ , _clInstallUpdatesOnBoot :: Maybe Bool+ , _clName :: Text+ , _clPackages :: List "InstanceIds" Text+ , _clShortname :: Text+ , _clStackId :: Text+ , _clType :: Text+ , _clUseEbsOptimizedInstances :: Maybe Bool+ , _clVolumeConfigurations :: List "VolumeConfigurations" VolumeConfiguration+ } deriving (Eq, Show)++-- | 'CreateLayer' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'clAttributes' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'clAutoAssignElasticIps' @::@ 'Maybe' 'Bool'+--+-- * 'clAutoAssignPublicIps' @::@ 'Maybe' 'Bool'+--+-- * 'clCustomInstanceProfileArn' @::@ 'Maybe' 'Text'+--+-- * 'clCustomRecipes' @::@ 'Maybe' 'Recipes'+--+-- * 'clCustomSecurityGroupIds' @::@ ['Text']+--+-- * 'clEnableAutoHealing' @::@ 'Maybe' 'Bool'+--+-- * 'clInstallUpdatesOnBoot' @::@ 'Maybe' 'Bool'+--+-- * 'clName' @::@ 'Text'+--+-- * 'clPackages' @::@ ['Text']+--+-- * 'clShortname' @::@ 'Text'+--+-- * 'clStackId' @::@ 'Text'+--+-- * 'clType' @::@ 'Text'+--+-- * 'clUseEbsOptimizedInstances' @::@ 'Maybe' 'Bool'+--+-- * 'clVolumeConfigurations' @::@ ['VolumeConfiguration']+--+createLayer :: Text -- ^ 'clStackId'+ -> Text -- ^ 'clType'+ -> Text -- ^ 'clName'+ -> Text -- ^ 'clShortname'+ -> CreateLayer+createLayer p1 p2 p3 p4 = CreateLayer+ { _clStackId = p1+ , _clType = p2+ , _clName = p3+ , _clShortname = p4+ , _clAttributes = mempty+ , _clCustomInstanceProfileArn = Nothing+ , _clCustomSecurityGroupIds = mempty+ , _clPackages = mempty+ , _clVolumeConfigurations = mempty+ , _clEnableAutoHealing = Nothing+ , _clAutoAssignElasticIps = Nothing+ , _clAutoAssignPublicIps = Nothing+ , _clCustomRecipes = Nothing+ , _clInstallUpdatesOnBoot = Nothing+ , _clUseEbsOptimizedInstances = Nothing+ }++-- | One or more user-defined key/value pairs to be added to the stack+-- attributes.+clAttributes :: Lens' CreateLayer (HashMap Text Text)+clAttributes = lens _clAttributes (\s a -> s { _clAttributes = a }) . _Map++-- | Whether to automatically assign an Elastic IP address to the layer's+-- instances. For more information, see How to Edit a Layer.+clAutoAssignElasticIps :: Lens' CreateLayer (Maybe Bool)+clAutoAssignElasticIps =+ lens _clAutoAssignElasticIps (\s a -> s { _clAutoAssignElasticIps = a })++-- | For stacks that are running in a VPC, whether to automatically assign a+-- public IP address to the layer's instances. For more information, see How+-- to Edit a Layer.+clAutoAssignPublicIps :: Lens' CreateLayer (Maybe Bool)+clAutoAssignPublicIps =+ lens _clAutoAssignPublicIps (\s a -> s { _clAutoAssignPublicIps = a })++-- | The ARN of an IAM profile that to be used for the layer's EC2 instances.+-- For more information about IAM ARNs, see Using Identifiers.+clCustomInstanceProfileArn :: Lens' CreateLayer (Maybe Text)+clCustomInstanceProfileArn =+ lens _clCustomInstanceProfileArn+ (\s a -> s { _clCustomInstanceProfileArn = a })++-- | A LayerCustomRecipes object that specifies the layer custom recipes.+clCustomRecipes :: Lens' CreateLayer (Maybe Recipes)+clCustomRecipes = lens _clCustomRecipes (\s a -> s { _clCustomRecipes = a })++-- | An array containing the layer custom security group IDs.+clCustomSecurityGroupIds :: Lens' CreateLayer [Text]+clCustomSecurityGroupIds =+ lens _clCustomSecurityGroupIds+ (\s a -> s { _clCustomSecurityGroupIds = a })+ . _List++-- | Whether to disable auto healing for the layer.+clEnableAutoHealing :: Lens' CreateLayer (Maybe Bool)+clEnableAutoHealing =+ lens _clEnableAutoHealing (\s a -> s { _clEnableAutoHealing = a })++-- | Whether to install operating system and package updates when the instance+-- boots. The default value is true. To control when updates are installed,+-- set this value to false. You must then update your instances manually by+-- using CreateDeployment to run the update_dependencies stack command or+-- manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.+clInstallUpdatesOnBoot :: Lens' CreateLayer (Maybe Bool)+clInstallUpdatesOnBoot =+ lens _clInstallUpdatesOnBoot (\s a -> s { _clInstallUpdatesOnBoot = a })++-- | The layer name, which is used by the console.+clName :: Lens' CreateLayer Text+clName = lens _clName (\s a -> s { _clName = a })++-- | An array of Package objects that describe the layer packages.+clPackages :: Lens' CreateLayer [Text]+clPackages = lens _clPackages (\s a -> s { _clPackages = a }) . _List++-- | The layer short name, which is used internally by AWS OpsWorks and by+-- Chef recipes. The short name is also used as the name for the directory+-- where your app files are installed. It can have a maximum of 200+-- characters, which are limited to the alphanumeric characters, '-', '_',+-- and '.'.+clShortname :: Lens' CreateLayer Text+clShortname = lens _clShortname (\s a -> s { _clShortname = a })++-- | The layer stack ID.+clStackId :: Lens' CreateLayer Text+clStackId = lens _clStackId (\s a -> s { _clStackId = a })++-- | The layer type. A stack cannot have more than one built-in layer of the+-- same type. It can have any number of custom layers. This parameter must+-- be set to one of the following: custom: A custom layer db-master: A MySQL+-- layer java-app: A Java App Server layer rails-app: A Rails App Server+-- layer lb: An HAProxy layer memcached: A Memcached layer+-- monitoring-master: A Ganglia layer nodejs-app: A Node.js App Server layer+-- php-app: A PHP App Server layer web: A Static Web Server layer.+clType :: Lens' CreateLayer Text+clType = lens _clType (\s a -> s { _clType = a })++-- | Whether to use Amazon EBS-optimized instances.+clUseEbsOptimizedInstances :: Lens' CreateLayer (Maybe Bool)+clUseEbsOptimizedInstances =+ lens _clUseEbsOptimizedInstances+ (\s a -> s { _clUseEbsOptimizedInstances = a })++-- | A VolumeConfigurations object that describes the layer's Amazon EBS+-- volumes.+clVolumeConfigurations :: Lens' CreateLayer [VolumeConfiguration]+clVolumeConfigurations =+ lens _clVolumeConfigurations (\s a -> s { _clVolumeConfigurations = a })+ . _List++newtype CreateLayerResponse = CreateLayerResponse+ { _clrLayerId :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'CreateLayerResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'clrLayerId' @::@ 'Maybe' 'Text'+--+createLayerResponse :: CreateLayerResponse+createLayerResponse = CreateLayerResponse+ { _clrLayerId = Nothing+ }++-- | The layer ID.+clrLayerId :: Lens' CreateLayerResponse (Maybe Text)+clrLayerId = lens _clrLayerId (\s a -> s { _clrLayerId = a })++instance ToPath CreateLayer where+ toPath = const "/"++instance ToQuery CreateLayer where+ toQuery = const mempty++instance ToHeaders CreateLayer++instance ToJSON CreateLayer where+ toJSON CreateLayer{..} = object+ [ "StackId" .= _clStackId+ , "Type" .= _clType+ , "Name" .= _clName+ , "Shortname" .= _clShortname+ , "Attributes" .= _clAttributes+ , "CustomInstanceProfileArn" .= _clCustomInstanceProfileArn+ , "CustomSecurityGroupIds" .= _clCustomSecurityGroupIds+ , "Packages" .= _clPackages+ , "VolumeConfigurations" .= _clVolumeConfigurations+ , "EnableAutoHealing" .= _clEnableAutoHealing+ , "AutoAssignElasticIps" .= _clAutoAssignElasticIps+ , "AutoAssignPublicIps" .= _clAutoAssignPublicIps+ , "CustomRecipes" .= _clCustomRecipes+ , "InstallUpdatesOnBoot" .= _clInstallUpdatesOnBoot+ , "UseEbsOptimizedInstances" .= _clUseEbsOptimizedInstances+ ]++instance AWSRequest CreateLayer where+ type Sv CreateLayer = OpsWorks+ type Rs CreateLayer = CreateLayerResponse++ request = post "CreateLayer"+ response = jsonResponse++instance FromJSON CreateLayerResponse where+ parseJSON = withObject "CreateLayerResponse" $ \o -> CreateLayerResponse+ <$> o .:? "LayerId"
+ gen/Network/AWS/OpsWorks/CreateStack.hs view
@@ -0,0 +1,363 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.CreateStack+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Creates a new stack. For more information, see Create a New Stack. Required+-- Permissions: To use this action, an IAM user must have an attached policy+-- that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateStack.html>+module Network.AWS.OpsWorks.CreateStack+ (+ -- * Request+ CreateStack+ -- ** Request constructor+ , createStack+ -- ** Request lenses+ , csAttributes+ , csChefConfiguration+ , csConfigurationManager+ , csCustomCookbooksSource+ , csCustomJson+ , csDefaultAvailabilityZone+ , csDefaultInstanceProfileArn+ , csDefaultOs+ , csDefaultRootDeviceType+ , csDefaultSshKeyName+ , csDefaultSubnetId+ , csHostnameTheme+ , csName+ , csRegion+ , csServiceRoleArn+ , csUseCustomCookbooks+ , csUseOpsworksSecurityGroups+ , csVpcId++ -- * Response+ , CreateStackResponse+ -- ** Response constructor+ , createStackResponse+ -- ** Response lenses+ , csr1StackId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data CreateStack = CreateStack+ { _csAttributes :: Map Text Text+ , _csChefConfiguration :: Maybe ChefConfiguration+ , _csConfigurationManager :: Maybe StackConfigurationManager+ , _csCustomCookbooksSource :: Maybe Source+ , _csCustomJson :: Maybe Text+ , _csDefaultAvailabilityZone :: Maybe Text+ , _csDefaultInstanceProfileArn :: Text+ , _csDefaultOs :: Maybe Text+ , _csDefaultRootDeviceType :: Maybe Text+ , _csDefaultSshKeyName :: Maybe Text+ , _csDefaultSubnetId :: Maybe Text+ , _csHostnameTheme :: Maybe Text+ , _csName :: Text+ , _csRegion :: Text+ , _csServiceRoleArn :: Text+ , _csUseCustomCookbooks :: Maybe Bool+ , _csUseOpsworksSecurityGroups :: Maybe Bool+ , _csVpcId :: Maybe Text+ } deriving (Eq, Show)++-- | 'CreateStack' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'csAttributes' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'csChefConfiguration' @::@ 'Maybe' 'ChefConfiguration'+--+-- * 'csConfigurationManager' @::@ 'Maybe' 'StackConfigurationManager'+--+-- * 'csCustomCookbooksSource' @::@ 'Maybe' 'Source'+--+-- * 'csCustomJson' @::@ 'Maybe' 'Text'+--+-- * 'csDefaultAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'csDefaultInstanceProfileArn' @::@ 'Text'+--+-- * 'csDefaultOs' @::@ 'Maybe' 'Text'+--+-- * 'csDefaultRootDeviceType' @::@ 'Maybe' 'Text'+--+-- * 'csDefaultSshKeyName' @::@ 'Maybe' 'Text'+--+-- * 'csDefaultSubnetId' @::@ 'Maybe' 'Text'+--+-- * 'csHostnameTheme' @::@ 'Maybe' 'Text'+--+-- * 'csName' @::@ 'Text'+--+-- * 'csRegion' @::@ 'Text'+--+-- * 'csServiceRoleArn' @::@ 'Text'+--+-- * 'csUseCustomCookbooks' @::@ 'Maybe' 'Bool'+--+-- * 'csUseOpsworksSecurityGroups' @::@ 'Maybe' 'Bool'+--+-- * 'csVpcId' @::@ 'Maybe' 'Text'+--+createStack :: Text -- ^ 'csName'+ -> Text -- ^ 'csRegion'+ -> Text -- ^ 'csServiceRoleArn'+ -> Text -- ^ 'csDefaultInstanceProfileArn'+ -> CreateStack+createStack p1 p2 p3 p4 = CreateStack+ { _csName = p1+ , _csRegion = p2+ , _csServiceRoleArn = p3+ , _csDefaultInstanceProfileArn = p4+ , _csVpcId = Nothing+ , _csAttributes = mempty+ , _csDefaultOs = Nothing+ , _csHostnameTheme = Nothing+ , _csDefaultAvailabilityZone = Nothing+ , _csDefaultSubnetId = Nothing+ , _csCustomJson = Nothing+ , _csConfigurationManager = Nothing+ , _csChefConfiguration = Nothing+ , _csUseCustomCookbooks = Nothing+ , _csUseOpsworksSecurityGroups = Nothing+ , _csCustomCookbooksSource = Nothing+ , _csDefaultSshKeyName = Nothing+ , _csDefaultRootDeviceType = Nothing+ }++-- | One or more user-defined key/value pairs to be added to the stack+-- attributes.+csAttributes :: Lens' CreateStack (HashMap Text Text)+csAttributes = lens _csAttributes (\s a -> s { _csAttributes = a }) . _Map++-- | A ChefConfiguration object that specifies whether to enable Berkshelf and+-- the Berkshelf version on Chef 11.10 stacks. For more information, see+-- Create a New Stack.+csChefConfiguration :: Lens' CreateStack (Maybe ChefConfiguration)+csChefConfiguration =+ lens _csChefConfiguration (\s a -> s { _csChefConfiguration = a })++-- | The configuration manager. When you clone a stack we recommend that you+-- use the configuration manager to specify the Chef version, 0.9, 11.4, or+-- 11.10. The default value is currently 11.4.+csConfigurationManager :: Lens' CreateStack (Maybe StackConfigurationManager)+csConfigurationManager =+ lens _csConfigurationManager (\s a -> s { _csConfigurationManager = a })++csCustomCookbooksSource :: Lens' CreateStack (Maybe Source)+csCustomCookbooksSource =+ lens _csCustomCookbooksSource (\s a -> s { _csCustomCookbooksSource = a })++-- | A string that contains user-defined, custom JSON. It is used to override+-- the corresponding default stack configuration JSON values. The string+-- should be in the following format and must escape characters such as+-- '"'.: "{\"key1\": \"value1\", \"key2\": \"value2\",...}" For more+-- information on custom JSON, see Use Custom JSON to Modify the Stack+-- Configuration JSON.+csCustomJson :: Lens' CreateStack (Maybe Text)+csCustomJson = lens _csCustomJson (\s a -> s { _csCustomJson = a })++-- | The stack's default Availability Zone, which must be in the specified+-- region. For more information, see Regions and Endpoints. If you also+-- specify a value for DefaultSubnetId, the subnet must be in the same zone.+-- For more information, see the VpcId parameter description.+csDefaultAvailabilityZone :: Lens' CreateStack (Maybe Text)+csDefaultAvailabilityZone =+ lens _csDefaultAvailabilityZone+ (\s a -> s { _csDefaultAvailabilityZone = a })++-- | The ARN of an IAM profile that is the default profile for all of the+-- stack's EC2 instances. For more information about IAM ARNs, see Using+-- Identifiers.+csDefaultInstanceProfileArn :: Lens' CreateStack Text+csDefaultInstanceProfileArn =+ lens _csDefaultInstanceProfileArn+ (\s a -> s { _csDefaultInstanceProfileArn = a })++-- | The stack's default operating system, which must be set to Amazon Linux+-- or Ubuntu 12.04 LTS. The default option is Amazon Linux.+csDefaultOs :: Lens' CreateStack (Maybe Text)+csDefaultOs = lens _csDefaultOs (\s a -> s { _csDefaultOs = a })++-- | The default root device type. This value is used by default for all+-- instances in the stack, but you can override it when you create an+-- instance. The default option is instance-store. For more information, see+-- Storage for the Root Device.+csDefaultRootDeviceType :: Lens' CreateStack (Maybe Text)+csDefaultRootDeviceType =+ lens _csDefaultRootDeviceType (\s a -> s { _csDefaultRootDeviceType = a })++-- | A default SSH key for the stack instances. You can override this value+-- when you create or update an instance.+csDefaultSshKeyName :: Lens' CreateStack (Maybe Text)+csDefaultSshKeyName =+ lens _csDefaultSshKeyName (\s a -> s { _csDefaultSshKeyName = a })++-- | The stack's default subnet ID. All instances will be launched into this+-- subnet unless you specify otherwise when you create the instance. If you+-- also specify a value for DefaultAvailabilityZone, the subnet must be in+-- that zone. For information on default values and when this parameter is+-- required, see the VpcId parameter description.+csDefaultSubnetId :: Lens' CreateStack (Maybe Text)+csDefaultSubnetId =+ lens _csDefaultSubnetId (\s a -> s { _csDefaultSubnetId = a })++-- | The stack's host name theme, with spaces are replaced by underscores. The+-- theme is used to generate host names for the stack's instances. By+-- default, HostnameTheme is set to Layer_Dependent, which creates host+-- names by appending integers to the layer's short name. The other themes+-- are: Baked_Goods Clouds European_Cities Fruits Greek_Deities+-- Legendary_Creatures_from_Japan Planets_and_Moons Roman_Deities+-- Scottish_Islands US_Cities Wild_Cats To obtain a generated host name,+-- call GetHostNameSuggestion, which returns a host name based on the+-- current theme.+csHostnameTheme :: Lens' CreateStack (Maybe Text)+csHostnameTheme = lens _csHostnameTheme (\s a -> s { _csHostnameTheme = a })++-- | The stack name.+csName :: Lens' CreateStack Text+csName = lens _csName (\s a -> s { _csName = a })++-- | The stack AWS region, such as "us-east-1". For more information about+-- Amazon regions, see Regions and Endpoints.+csRegion :: Lens' CreateStack Text+csRegion = lens _csRegion (\s a -> s { _csRegion = a })++-- | The stack AWS Identity and Access Management (IAM) role, which allows AWS+-- OpsWorks to work with AWS resources on your behalf. You must set this+-- parameter to the Amazon Resource Name (ARN) for an existing IAM role. For+-- more information about IAM ARNs, see Using Identifiers.+csServiceRoleArn :: Lens' CreateStack Text+csServiceRoleArn = lens _csServiceRoleArn (\s a -> s { _csServiceRoleArn = a })++-- | Whether the stack uses custom cookbooks.+csUseCustomCookbooks :: Lens' CreateStack (Maybe Bool)+csUseCustomCookbooks =+ lens _csUseCustomCookbooks (\s a -> s { _csUseCustomCookbooks = a })++-- | Whether to associate the AWS OpsWorks built-in security groups with the+-- stack's layers. AWS OpsWorks provides a standard set of built-in security+-- groups, one for each layer, which are associated with layers by default.+-- With UseOpsworksSecurityGroups you can instead provide your own custom+-- security groups. UseOpsworksSecurityGroups has the following settings:+-- True - AWS OpsWorks automatically associates the appropriate built-in+-- security group with each layer (default setting). You can associate+-- additional security groups with a layer after you create it but you+-- cannot delete the built-in security group. False - AWS OpsWorks does not+-- associate built-in security groups with layers. You must create+-- appropriate EC2 security groups and associate a security group with each+-- layer that you create. However, you can still manually associate a+-- built-in security group with a layer on creation; custom security groups+-- are required only for those layers that need custom settings. For more+-- information, see Create a New Stack.+csUseOpsworksSecurityGroups :: Lens' CreateStack (Maybe Bool)+csUseOpsworksSecurityGroups =+ lens _csUseOpsworksSecurityGroups+ (\s a -> s { _csUseOpsworksSecurityGroups = a })++-- | The ID of the VPC that the stack is to be launched into. It must be in+-- the specified region. All instances will be launched into this VPC, and+-- you cannot change the ID later. If your account supports EC2 Classic, the+-- default value is no VPC. If your account does not support EC2 Classic,+-- the default value is the default VPC for the specified region. If the VPC+-- ID corresponds to a default VPC and you have specified either the+-- DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS+-- OpsWorks infers the value of the other parameter. If you specify neither+-- parameter, AWS OpsWorks sets these parameters to the first valid+-- Availability Zone for the specified region and the corresponding default+-- VPC subnet ID, respectively. If you specify a nondefault VPC ID, note the+-- following: It must belong to a VPC in your account that is in the+-- specified region. You must specify a value for DefaultSubnetId. For more+-- information on how to use AWS OpsWorks with a VPC, see Running a Stack in+-- a VPC. For more information on default VPC and EC2 Classic, see Supported+-- Platforms.+csVpcId :: Lens' CreateStack (Maybe Text)+csVpcId = lens _csVpcId (\s a -> s { _csVpcId = a })++newtype CreateStackResponse = CreateStackResponse+ { _csr1StackId :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'CreateStackResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'csr1StackId' @::@ 'Maybe' 'Text'+--+createStackResponse :: CreateStackResponse+createStackResponse = CreateStackResponse+ { _csr1StackId = Nothing+ }++-- | The stack ID, which is an opaque string that you use to identify the+-- stack when performing actions such as DescribeStacks.+csr1StackId :: Lens' CreateStackResponse (Maybe Text)+csr1StackId = lens _csr1StackId (\s a -> s { _csr1StackId = a })++instance ToPath CreateStack where+ toPath = const "/"++instance ToQuery CreateStack where+ toQuery = const mempty++instance ToHeaders CreateStack++instance ToJSON CreateStack where+ toJSON CreateStack{..} = object+ [ "Name" .= _csName+ , "Region" .= _csRegion+ , "VpcId" .= _csVpcId+ , "Attributes" .= _csAttributes+ , "ServiceRoleArn" .= _csServiceRoleArn+ , "DefaultInstanceProfileArn" .= _csDefaultInstanceProfileArn+ , "DefaultOs" .= _csDefaultOs+ , "HostnameTheme" .= _csHostnameTheme+ , "DefaultAvailabilityZone" .= _csDefaultAvailabilityZone+ , "DefaultSubnetId" .= _csDefaultSubnetId+ , "CustomJson" .= _csCustomJson+ , "ConfigurationManager" .= _csConfigurationManager+ , "ChefConfiguration" .= _csChefConfiguration+ , "UseCustomCookbooks" .= _csUseCustomCookbooks+ , "UseOpsworksSecurityGroups" .= _csUseOpsworksSecurityGroups+ , "CustomCookbooksSource" .= _csCustomCookbooksSource+ , "DefaultSshKeyName" .= _csDefaultSshKeyName+ , "DefaultRootDeviceType" .= _csDefaultRootDeviceType+ ]++instance AWSRequest CreateStack where+ type Sv CreateStack = OpsWorks+ type Rs CreateStack = CreateStackResponse++ request = post "CreateStack"+ response = jsonResponse++instance FromJSON CreateStackResponse where+ parseJSON = withObject "CreateStackResponse" $ \o -> CreateStackResponse+ <$> o .:? "StackId"
+ gen/Network/AWS/OpsWorks/CreateUserProfile.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.CreateUserProfile+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Creates a new user profile. Required Permissions: To use this action, an+-- IAM user must have an attached policy that explicitly grants permissions.+-- For more information on user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateUserProfile.html>+module Network.AWS.OpsWorks.CreateUserProfile+ (+ -- * Request+ CreateUserProfile+ -- ** Request constructor+ , createUserProfile+ -- ** Request lenses+ , cupAllowSelfManagement+ , cupIamUserArn+ , cupSshPublicKey+ , cupSshUsername++ -- * Response+ , CreateUserProfileResponse+ -- ** Response constructor+ , createUserProfileResponse+ -- ** Response lenses+ , cuprIamUserArn+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data CreateUserProfile = CreateUserProfile+ { _cupAllowSelfManagement :: Maybe Bool+ , _cupIamUserArn :: Text+ , _cupSshPublicKey :: Maybe Text+ , _cupSshUsername :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'CreateUserProfile' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cupAllowSelfManagement' @::@ 'Maybe' 'Bool'+--+-- * 'cupIamUserArn' @::@ 'Text'+--+-- * 'cupSshPublicKey' @::@ 'Maybe' 'Text'+--+-- * 'cupSshUsername' @::@ 'Maybe' 'Text'+--+createUserProfile :: Text -- ^ 'cupIamUserArn'+ -> CreateUserProfile+createUserProfile p1 = CreateUserProfile+ { _cupIamUserArn = p1+ , _cupSshUsername = Nothing+ , _cupSshPublicKey = Nothing+ , _cupAllowSelfManagement = Nothing+ }++-- | Whether users can specify their own SSH public key through the My+-- Settings page. For more information, see Setting an IAM User's Public SSH+-- Key.+cupAllowSelfManagement :: Lens' CreateUserProfile (Maybe Bool)+cupAllowSelfManagement =+ lens _cupAllowSelfManagement (\s a -> s { _cupAllowSelfManagement = a })++-- | The user's IAM ARN.+cupIamUserArn :: Lens' CreateUserProfile Text+cupIamUserArn = lens _cupIamUserArn (\s a -> s { _cupIamUserArn = a })++-- | The user's public SSH key.+cupSshPublicKey :: Lens' CreateUserProfile (Maybe Text)+cupSshPublicKey = lens _cupSshPublicKey (\s a -> s { _cupSshPublicKey = a })++-- | The user's SSH user name. The allowable characters are [a-z], [A-Z],+-- [0-9], '-', and '_'. If the specified name includes other punctuation+-- marks, AWS OpsWorks removes them. For example, my.name will be changed to+-- myname. If you do not specify an SSH user name, AWS OpsWorks generates+-- one from the IAM user name.+cupSshUsername :: Lens' CreateUserProfile (Maybe Text)+cupSshUsername = lens _cupSshUsername (\s a -> s { _cupSshUsername = a })++newtype CreateUserProfileResponse = CreateUserProfileResponse+ { _cuprIamUserArn :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'CreateUserProfileResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cuprIamUserArn' @::@ 'Maybe' 'Text'+--+createUserProfileResponse :: CreateUserProfileResponse+createUserProfileResponse = CreateUserProfileResponse+ { _cuprIamUserArn = Nothing+ }++-- | The user's IAM ARN.+cuprIamUserArn :: Lens' CreateUserProfileResponse (Maybe Text)+cuprIamUserArn = lens _cuprIamUserArn (\s a -> s { _cuprIamUserArn = a })++instance ToPath CreateUserProfile where+ toPath = const "/"++instance ToQuery CreateUserProfile where+ toQuery = const mempty++instance ToHeaders CreateUserProfile++instance ToJSON CreateUserProfile where+ toJSON CreateUserProfile{..} = object+ [ "IamUserArn" .= _cupIamUserArn+ , "SshUsername" .= _cupSshUsername+ , "SshPublicKey" .= _cupSshPublicKey+ , "AllowSelfManagement" .= _cupAllowSelfManagement+ ]++instance AWSRequest CreateUserProfile where+ type Sv CreateUserProfile = OpsWorks+ type Rs CreateUserProfile = CreateUserProfileResponse++ request = post "CreateUserProfile"+ response = jsonResponse++instance FromJSON CreateUserProfileResponse where+ parseJSON = withObject "CreateUserProfileResponse" $ \o -> CreateUserProfileResponse+ <$> o .:? "IamUserArn"
+ gen/Network/AWS/OpsWorks/DeleteApp.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DeleteApp+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Deletes a specified app. Required Permissions: To use this action, an IAM+-- user must have a Manage permissions level for the stack, or an attached+-- policy that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DeleteApp.html>+module Network.AWS.OpsWorks.DeleteApp+ (+ -- * Request+ DeleteApp+ -- ** Request constructor+ , deleteApp+ -- ** Request lenses+ , daAppId++ -- * Response+ , DeleteAppResponse+ -- ** Response constructor+ , deleteAppResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DeleteApp = DeleteApp+ { _daAppId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteApp' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'daAppId' @::@ 'Text'+--+deleteApp :: Text -- ^ 'daAppId'+ -> DeleteApp+deleteApp p1 = DeleteApp+ { _daAppId = p1+ }++-- | The app ID.+daAppId :: Lens' DeleteApp Text+daAppId = lens _daAppId (\s a -> s { _daAppId = a })++data DeleteAppResponse = DeleteAppResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'DeleteAppResponse' constructor.+deleteAppResponse :: DeleteAppResponse+deleteAppResponse = DeleteAppResponse++instance ToPath DeleteApp where+ toPath = const "/"++instance ToQuery DeleteApp where+ toQuery = const mempty++instance ToHeaders DeleteApp++instance ToJSON DeleteApp where+ toJSON DeleteApp{..} = object+ [ "AppId" .= _daAppId+ ]++instance AWSRequest DeleteApp where+ type Sv DeleteApp = OpsWorks+ type Rs DeleteApp = DeleteAppResponse++ request = post "DeleteApp"+ response = nullResponse DeleteAppResponse
+ gen/Network/AWS/OpsWorks/DeleteInstance.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DeleteInstance+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Deletes a specified instance. You must stop an instance before you can+-- delete it. For more information, see Deleting Instances. Required+-- Permissions: To use this action, an IAM user must have a Manage permissions+-- level for the stack, or an attached policy that explicitly grants+-- permissions. For more information on user permissions, see Managing User+-- Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DeleteInstance.html>+module Network.AWS.OpsWorks.DeleteInstance+ (+ -- * Request+ DeleteInstance+ -- ** Request constructor+ , deleteInstance+ -- ** Request lenses+ , diDeleteElasticIp+ , diDeleteVolumes+ , diInstanceId++ -- * Response+ , DeleteInstanceResponse+ -- ** Response constructor+ , deleteInstanceResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DeleteInstance = DeleteInstance+ { _diDeleteElasticIp :: Maybe Bool+ , _diDeleteVolumes :: Maybe Bool+ , _diInstanceId :: Text+ } deriving (Eq, Ord, Show)++-- | 'DeleteInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'diDeleteElasticIp' @::@ 'Maybe' 'Bool'+--+-- * 'diDeleteVolumes' @::@ 'Maybe' 'Bool'+--+-- * 'diInstanceId' @::@ 'Text'+--+deleteInstance :: Text -- ^ 'diInstanceId'+ -> DeleteInstance+deleteInstance p1 = DeleteInstance+ { _diInstanceId = p1+ , _diDeleteElasticIp = Nothing+ , _diDeleteVolumes = Nothing+ }++-- | Whether to delete the instance Elastic IP address.+diDeleteElasticIp :: Lens' DeleteInstance (Maybe Bool)+diDeleteElasticIp =+ lens _diDeleteElasticIp (\s a -> s { _diDeleteElasticIp = a })++-- | Whether to delete the instance's Amazon EBS volumes.+diDeleteVolumes :: Lens' DeleteInstance (Maybe Bool)+diDeleteVolumes = lens _diDeleteVolumes (\s a -> s { _diDeleteVolumes = a })++-- | The instance ID.+diInstanceId :: Lens' DeleteInstance Text+diInstanceId = lens _diInstanceId (\s a -> s { _diInstanceId = a })++data DeleteInstanceResponse = DeleteInstanceResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'DeleteInstanceResponse' constructor.+deleteInstanceResponse :: DeleteInstanceResponse+deleteInstanceResponse = DeleteInstanceResponse++instance ToPath DeleteInstance where+ toPath = const "/"++instance ToQuery DeleteInstance where+ toQuery = const mempty++instance ToHeaders DeleteInstance++instance ToJSON DeleteInstance where+ toJSON DeleteInstance{..} = object+ [ "InstanceId" .= _diInstanceId+ , "DeleteElasticIp" .= _diDeleteElasticIp+ , "DeleteVolumes" .= _diDeleteVolumes+ ]++instance AWSRequest DeleteInstance where+ type Sv DeleteInstance = OpsWorks+ type Rs DeleteInstance = DeleteInstanceResponse++ request = post "DeleteInstance"+ response = nullResponse DeleteInstanceResponse
+ gen/Network/AWS/OpsWorks/DeleteLayer.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DeleteLayer+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Deletes a specified layer. You must first stop and then delete all+-- associated instances. For more information, see How to Delete a Layer.+-- Required Permissions: To use this action, an IAM user must have a Manage+-- permissions level for the stack, or an attached policy that explicitly+-- grants permissions. For more information on user permissions, see Managing+-- User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DeleteLayer.html>+module Network.AWS.OpsWorks.DeleteLayer+ (+ -- * Request+ DeleteLayer+ -- ** Request constructor+ , deleteLayer+ -- ** Request lenses+ , dlLayerId++ -- * Response+ , DeleteLayerResponse+ -- ** Response constructor+ , deleteLayerResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DeleteLayer = DeleteLayer+ { _dlLayerId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteLayer' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dlLayerId' @::@ 'Text'+--+deleteLayer :: Text -- ^ 'dlLayerId'+ -> DeleteLayer+deleteLayer p1 = DeleteLayer+ { _dlLayerId = p1+ }++-- | The layer ID.+dlLayerId :: Lens' DeleteLayer Text+dlLayerId = lens _dlLayerId (\s a -> s { _dlLayerId = a })++data DeleteLayerResponse = DeleteLayerResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'DeleteLayerResponse' constructor.+deleteLayerResponse :: DeleteLayerResponse+deleteLayerResponse = DeleteLayerResponse++instance ToPath DeleteLayer where+ toPath = const "/"++instance ToQuery DeleteLayer where+ toQuery = const mempty++instance ToHeaders DeleteLayer++instance ToJSON DeleteLayer where+ toJSON DeleteLayer{..} = object+ [ "LayerId" .= _dlLayerId+ ]++instance AWSRequest DeleteLayer where+ type Sv DeleteLayer = OpsWorks+ type Rs DeleteLayer = DeleteLayerResponse++ request = post "DeleteLayer"+ response = nullResponse DeleteLayerResponse
+ gen/Network/AWS/OpsWorks/DeleteStack.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DeleteStack+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Deletes a specified stack. You must first delete all instances, layers, and+-- apps. For more information, see Shut Down a Stack. Required Permissions: To+-- use this action, an IAM user must have a Manage permissions level for the+-- stack, or an attached policy that explicitly grants permissions. For more+-- information on user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DeleteStack.html>+module Network.AWS.OpsWorks.DeleteStack+ (+ -- * Request+ DeleteStack+ -- ** Request constructor+ , deleteStack+ -- ** Request lenses+ , dsStackId++ -- * Response+ , DeleteStackResponse+ -- ** Response constructor+ , deleteStackResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DeleteStack = DeleteStack+ { _dsStackId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteStack' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsStackId' @::@ 'Text'+--+deleteStack :: Text -- ^ 'dsStackId'+ -> DeleteStack+deleteStack p1 = DeleteStack+ { _dsStackId = p1+ }++-- | The stack ID.+dsStackId :: Lens' DeleteStack Text+dsStackId = lens _dsStackId (\s a -> s { _dsStackId = a })++data DeleteStackResponse = DeleteStackResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'DeleteStackResponse' constructor.+deleteStackResponse :: DeleteStackResponse+deleteStackResponse = DeleteStackResponse++instance ToPath DeleteStack where+ toPath = const "/"++instance ToQuery DeleteStack where+ toQuery = const mempty++instance ToHeaders DeleteStack++instance ToJSON DeleteStack where+ toJSON DeleteStack{..} = object+ [ "StackId" .= _dsStackId+ ]++instance AWSRequest DeleteStack where+ type Sv DeleteStack = OpsWorks+ type Rs DeleteStack = DeleteStackResponse++ request = post "DeleteStack"+ response = nullResponse DeleteStackResponse
+ gen/Network/AWS/OpsWorks/DeleteUserProfile.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DeleteUserProfile+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Deletes a user profile. Required Permissions: To use this action, an IAM+-- user must have an attached policy that explicitly grants permissions. For+-- more information on user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DeleteUserProfile.html>+module Network.AWS.OpsWorks.DeleteUserProfile+ (+ -- * Request+ DeleteUserProfile+ -- ** Request constructor+ , deleteUserProfile+ -- ** Request lenses+ , dupIamUserArn++ -- * Response+ , DeleteUserProfileResponse+ -- ** Response constructor+ , deleteUserProfileResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DeleteUserProfile = DeleteUserProfile+ { _dupIamUserArn :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteUserProfile' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dupIamUserArn' @::@ 'Text'+--+deleteUserProfile :: Text -- ^ 'dupIamUserArn'+ -> DeleteUserProfile+deleteUserProfile p1 = DeleteUserProfile+ { _dupIamUserArn = p1+ }++-- | The user's IAM ARN.+dupIamUserArn :: Lens' DeleteUserProfile Text+dupIamUserArn = lens _dupIamUserArn (\s a -> s { _dupIamUserArn = a })++data DeleteUserProfileResponse = DeleteUserProfileResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'DeleteUserProfileResponse' constructor.+deleteUserProfileResponse :: DeleteUserProfileResponse+deleteUserProfileResponse = DeleteUserProfileResponse++instance ToPath DeleteUserProfile where+ toPath = const "/"++instance ToQuery DeleteUserProfile where+ toQuery = const mempty++instance ToHeaders DeleteUserProfile++instance ToJSON DeleteUserProfile where+ toJSON DeleteUserProfile{..} = object+ [ "IamUserArn" .= _dupIamUserArn+ ]++instance AWSRequest DeleteUserProfile where+ type Sv DeleteUserProfile = OpsWorks+ type Rs DeleteUserProfile = DeleteUserProfileResponse++ request = post "DeleteUserProfile"+ response = nullResponse DeleteUserProfileResponse
+ gen/Network/AWS/OpsWorks/DeregisterElasticIp.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DeregisterElasticIp+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Deregisters a specified Elastic IP address. The address can then be+-- registered by another stack. For more information, see Resource Management.+-- Required Permissions: To use this action, an IAM user must have a Manage+-- permissions level for the stack, or an attached policy that explicitly+-- grants permissions. For more information on user permissions, see Managing+-- User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DeregisterElasticIp.html>+module Network.AWS.OpsWorks.DeregisterElasticIp+ (+ -- * Request+ DeregisterElasticIp+ -- ** Request constructor+ , deregisterElasticIp+ -- ** Request lenses+ , dei1ElasticIp++ -- * Response+ , DeregisterElasticIpResponse+ -- ** Response constructor+ , deregisterElasticIpResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DeregisterElasticIp = DeregisterElasticIp+ { _dei1ElasticIp :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeregisterElasticIp' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dei1ElasticIp' @::@ 'Text'+--+deregisterElasticIp :: Text -- ^ 'dei1ElasticIp'+ -> DeregisterElasticIp+deregisterElasticIp p1 = DeregisterElasticIp+ { _dei1ElasticIp = p1+ }++-- | The Elastic IP address.+dei1ElasticIp :: Lens' DeregisterElasticIp Text+dei1ElasticIp = lens _dei1ElasticIp (\s a -> s { _dei1ElasticIp = a })++data DeregisterElasticIpResponse = DeregisterElasticIpResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'DeregisterElasticIpResponse' constructor.+deregisterElasticIpResponse :: DeregisterElasticIpResponse+deregisterElasticIpResponse = DeregisterElasticIpResponse++instance ToPath DeregisterElasticIp where+ toPath = const "/"++instance ToQuery DeregisterElasticIp where+ toQuery = const mempty++instance ToHeaders DeregisterElasticIp++instance ToJSON DeregisterElasticIp where+ toJSON DeregisterElasticIp{..} = object+ [ "ElasticIp" .= _dei1ElasticIp+ ]++instance AWSRequest DeregisterElasticIp where+ type Sv DeregisterElasticIp = OpsWorks+ type Rs DeregisterElasticIp = DeregisterElasticIpResponse++ request = post "DeregisterElasticIp"+ response = nullResponse DeregisterElasticIpResponse
+ gen/Network/AWS/OpsWorks/DeregisterRdsDbInstance.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DeregisterRdsDbInstance+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Deregisters an Amazon RDS instance.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DeregisterRdsDbInstance.html>+module Network.AWS.OpsWorks.DeregisterRdsDbInstance+ (+ -- * Request+ DeregisterRdsDbInstance+ -- ** Request constructor+ , deregisterRdsDbInstance+ -- ** Request lenses+ , drdiRdsDbInstanceArn++ -- * Response+ , DeregisterRdsDbInstanceResponse+ -- ** Response constructor+ , deregisterRdsDbInstanceResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DeregisterRdsDbInstance = DeregisterRdsDbInstance+ { _drdiRdsDbInstanceArn :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeregisterRdsDbInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'drdiRdsDbInstanceArn' @::@ 'Text'+--+deregisterRdsDbInstance :: Text -- ^ 'drdiRdsDbInstanceArn'+ -> DeregisterRdsDbInstance+deregisterRdsDbInstance p1 = DeregisterRdsDbInstance+ { _drdiRdsDbInstanceArn = p1+ }++-- | The Amazon RDS instance's ARN.+drdiRdsDbInstanceArn :: Lens' DeregisterRdsDbInstance Text+drdiRdsDbInstanceArn =+ lens _drdiRdsDbInstanceArn (\s a -> s { _drdiRdsDbInstanceArn = a })++data DeregisterRdsDbInstanceResponse = DeregisterRdsDbInstanceResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'DeregisterRdsDbInstanceResponse' constructor.+deregisterRdsDbInstanceResponse :: DeregisterRdsDbInstanceResponse+deregisterRdsDbInstanceResponse = DeregisterRdsDbInstanceResponse++instance ToPath DeregisterRdsDbInstance where+ toPath = const "/"++instance ToQuery DeregisterRdsDbInstance where+ toQuery = const mempty++instance ToHeaders DeregisterRdsDbInstance++instance ToJSON DeregisterRdsDbInstance where+ toJSON DeregisterRdsDbInstance{..} = object+ [ "RdsDbInstanceArn" .= _drdiRdsDbInstanceArn+ ]++instance AWSRequest DeregisterRdsDbInstance where+ type Sv DeregisterRdsDbInstance = OpsWorks+ type Rs DeregisterRdsDbInstance = DeregisterRdsDbInstanceResponse++ request = post "DeregisterRdsDbInstance"+ response = nullResponse DeregisterRdsDbInstanceResponse
+ gen/Network/AWS/OpsWorks/DeregisterVolume.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DeregisterVolume+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Deregisters an Amazon EBS volume. The volume can then be registered by+-- another stack. For more information, see Resource Management. Required+-- Permissions: To use this action, an IAM user must have a Manage permissions+-- level for the stack, or an attached policy that explicitly grants+-- permissions. For more information on user permissions, see Managing User+-- Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DeregisterVolume.html>+module Network.AWS.OpsWorks.DeregisterVolume+ (+ -- * Request+ DeregisterVolume+ -- ** Request constructor+ , deregisterVolume+ -- ** Request lenses+ , dvVolumeId++ -- * Response+ , DeregisterVolumeResponse+ -- ** Response constructor+ , deregisterVolumeResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DeregisterVolume = DeregisterVolume+ { _dvVolumeId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeregisterVolume' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dvVolumeId' @::@ 'Text'+--+deregisterVolume :: Text -- ^ 'dvVolumeId'+ -> DeregisterVolume+deregisterVolume p1 = DeregisterVolume+ { _dvVolumeId = p1+ }++-- | The volume ID.+dvVolumeId :: Lens' DeregisterVolume Text+dvVolumeId = lens _dvVolumeId (\s a -> s { _dvVolumeId = a })++data DeregisterVolumeResponse = DeregisterVolumeResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'DeregisterVolumeResponse' constructor.+deregisterVolumeResponse :: DeregisterVolumeResponse+deregisterVolumeResponse = DeregisterVolumeResponse++instance ToPath DeregisterVolume where+ toPath = const "/"++instance ToQuery DeregisterVolume where+ toQuery = const mempty++instance ToHeaders DeregisterVolume++instance ToJSON DeregisterVolume where+ toJSON DeregisterVolume{..} = object+ [ "VolumeId" .= _dvVolumeId+ ]++instance AWSRequest DeregisterVolume where+ type Sv DeregisterVolume = OpsWorks+ type Rs DeregisterVolume = DeregisterVolumeResponse++ request = post "DeregisterVolume"+ response = nullResponse DeregisterVolumeResponse
+ gen/Network/AWS/OpsWorks/DescribeApps.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeApps+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Requests a description of a specified set of apps. Required Permissions: To+-- use this action, an IAM user must have a Show, Deploy, or Manage+-- permissions level for the stack, or an attached policy that explicitly+-- grants permissions. For more information on user permissions, see Managing+-- User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeApps.html>+module Network.AWS.OpsWorks.DescribeApps+ (+ -- * Request+ DescribeApps+ -- ** Request constructor+ , describeApps+ -- ** Request lenses+ , daAppIds+ , daStackId++ -- * Response+ , DescribeAppsResponse+ -- ** Response constructor+ , describeAppsResponse+ -- ** Response lenses+ , darApps+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribeApps = DescribeApps+ { _daAppIds :: List "InstanceIds" Text+ , _daStackId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeApps' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'daAppIds' @::@ ['Text']+--+-- * 'daStackId' @::@ 'Maybe' 'Text'+--+describeApps :: DescribeApps+describeApps = DescribeApps+ { _daStackId = Nothing+ , _daAppIds = mempty+ }++-- | An array of app IDs for the apps to be described. If you use this+-- parameter, DescribeApps returns a description of the specified apps.+-- Otherwise, it returns a description of every app.+daAppIds :: Lens' DescribeApps [Text]+daAppIds = lens _daAppIds (\s a -> s { _daAppIds = a }) . _List++-- | The app stack ID. If you use this parameter, DescribeApps returns a+-- description of the apps in the specified stack.+daStackId :: Lens' DescribeApps (Maybe Text)+daStackId = lens _daStackId (\s a -> s { _daStackId = a })++newtype DescribeAppsResponse = DescribeAppsResponse+ { _darApps :: List "Apps" App+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeAppsResponse where+ type Item DescribeAppsResponse = App++ fromList = DescribeAppsResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _darApps++-- | 'DescribeAppsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'darApps' @::@ ['App']+--+describeAppsResponse :: DescribeAppsResponse+describeAppsResponse = DescribeAppsResponse+ { _darApps = mempty+ }++-- | An array of App objects that describe the specified apps.+darApps :: Lens' DescribeAppsResponse [App]+darApps = lens _darApps (\s a -> s { _darApps = a }) . _List++instance ToPath DescribeApps where+ toPath = const "/"++instance ToQuery DescribeApps where+ toQuery = const mempty++instance ToHeaders DescribeApps++instance ToJSON DescribeApps where+ toJSON DescribeApps{..} = object+ [ "StackId" .= _daStackId+ , "AppIds" .= _daAppIds+ ]++instance AWSRequest DescribeApps where+ type Sv DescribeApps = OpsWorks+ type Rs DescribeApps = DescribeAppsResponse++ request = post "DescribeApps"+ response = jsonResponse++instance FromJSON DescribeAppsResponse where+ parseJSON = withObject "DescribeAppsResponse" $ \o -> DescribeAppsResponse+ <$> o .: "Apps"
+ gen/Network/AWS/OpsWorks/DescribeCommands.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeCommands+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describes the results of specified commands. Required Permissions: To use+-- this action, an IAM user must have a Show, Deploy, or Manage permissions+-- level for the stack, or an attached policy that explicitly grants+-- permissions. For more information on user permissions, see Managing User+-- Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeCommands.html>+module Network.AWS.OpsWorks.DescribeCommands+ (+ -- * Request+ DescribeCommands+ -- ** Request constructor+ , describeCommands+ -- ** Request lenses+ , dcCommandIds+ , dcDeploymentId+ , dcInstanceId++ -- * Response+ , DescribeCommandsResponse+ -- ** Response constructor+ , describeCommandsResponse+ -- ** Response lenses+ , dcrCommands+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribeCommands = DescribeCommands+ { _dcCommandIds :: List "InstanceIds" Text+ , _dcDeploymentId :: Maybe Text+ , _dcInstanceId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeCommands' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcCommandIds' @::@ ['Text']+--+-- * 'dcDeploymentId' @::@ 'Maybe' 'Text'+--+-- * 'dcInstanceId' @::@ 'Maybe' 'Text'+--+describeCommands :: DescribeCommands+describeCommands = DescribeCommands+ { _dcDeploymentId = Nothing+ , _dcInstanceId = Nothing+ , _dcCommandIds = mempty+ }++-- | An array of command IDs. If you include this parameter, DescribeCommands+-- returns a description of the specified commands. Otherwise, it returns a+-- description of every command.+dcCommandIds :: Lens' DescribeCommands [Text]+dcCommandIds = lens _dcCommandIds (\s a -> s { _dcCommandIds = a }) . _List++-- | The deployment ID. If you include this parameter, DescribeCommands+-- returns a description of the commands associated with the specified+-- deployment.+dcDeploymentId :: Lens' DescribeCommands (Maybe Text)+dcDeploymentId = lens _dcDeploymentId (\s a -> s { _dcDeploymentId = a })++-- | The instance ID. If you include this parameter, DescribeCommands returns+-- a description of the commands associated with the specified instance.+dcInstanceId :: Lens' DescribeCommands (Maybe Text)+dcInstanceId = lens _dcInstanceId (\s a -> s { _dcInstanceId = a })++newtype DescribeCommandsResponse = DescribeCommandsResponse+ { _dcrCommands :: List "Commands" Command+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeCommandsResponse where+ type Item DescribeCommandsResponse = Command++ fromList = DescribeCommandsResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dcrCommands++-- | 'DescribeCommandsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcrCommands' @::@ ['Command']+--+describeCommandsResponse :: DescribeCommandsResponse+describeCommandsResponse = DescribeCommandsResponse+ { _dcrCommands = mempty+ }++-- | An array of Command objects that describe each of the specified commands.+dcrCommands :: Lens' DescribeCommandsResponse [Command]+dcrCommands = lens _dcrCommands (\s a -> s { _dcrCommands = a }) . _List++instance ToPath DescribeCommands where+ toPath = const "/"++instance ToQuery DescribeCommands where+ toQuery = const mempty++instance ToHeaders DescribeCommands++instance ToJSON DescribeCommands where+ toJSON DescribeCommands{..} = object+ [ "DeploymentId" .= _dcDeploymentId+ , "InstanceId" .= _dcInstanceId+ , "CommandIds" .= _dcCommandIds+ ]++instance AWSRequest DescribeCommands where+ type Sv DescribeCommands = OpsWorks+ type Rs DescribeCommands = DescribeCommandsResponse++ request = post "DescribeCommands"+ response = jsonResponse++instance FromJSON DescribeCommandsResponse where+ parseJSON = withObject "DescribeCommandsResponse" $ \o -> DescribeCommandsResponse+ <$> o .: "Commands"
+ gen/Network/AWS/OpsWorks/DescribeDeployments.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeDeployments+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Requests a description of a specified set of deployments. Required+-- Permissions: To use this action, an IAM user must have a Show, Deploy, or+-- Manage permissions level for the stack, or an attached policy that+-- explicitly grants permissions. For more information on user permissions,+-- see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeDeployments.html>+module Network.AWS.OpsWorks.DescribeDeployments+ (+ -- * Request+ DescribeDeployments+ -- ** Request constructor+ , describeDeployments+ -- ** Request lenses+ , ddAppId+ , ddDeploymentIds+ , ddStackId++ -- * Response+ , DescribeDeploymentsResponse+ -- ** Response constructor+ , describeDeploymentsResponse+ -- ** Response lenses+ , ddrDeployments+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribeDeployments = DescribeDeployments+ { _ddAppId :: Maybe Text+ , _ddDeploymentIds :: List "InstanceIds" Text+ , _ddStackId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeDeployments' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddAppId' @::@ 'Maybe' 'Text'+--+-- * 'ddDeploymentIds' @::@ ['Text']+--+-- * 'ddStackId' @::@ 'Maybe' 'Text'+--+describeDeployments :: DescribeDeployments+describeDeployments = DescribeDeployments+ { _ddStackId = Nothing+ , _ddAppId = Nothing+ , _ddDeploymentIds = mempty+ }++-- | The app ID. If you include this parameter, DescribeDeployments returns a+-- description of the commands associated with the specified app.+ddAppId :: Lens' DescribeDeployments (Maybe Text)+ddAppId = lens _ddAppId (\s a -> s { _ddAppId = a })++-- | An array of deployment IDs to be described. If you include this+-- parameter, DescribeDeployments returns a description of the specified+-- deployments. Otherwise, it returns a description of every deployment.+ddDeploymentIds :: Lens' DescribeDeployments [Text]+ddDeploymentIds = lens _ddDeploymentIds (\s a -> s { _ddDeploymentIds = a }) . _List++-- | The stack ID. If you include this parameter, DescribeDeployments returns+-- a description of the commands associated with the specified stack.+ddStackId :: Lens' DescribeDeployments (Maybe Text)+ddStackId = lens _ddStackId (\s a -> s { _ddStackId = a })++newtype DescribeDeploymentsResponse = DescribeDeploymentsResponse+ { _ddrDeployments :: List "Deployments" Deployment+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeDeploymentsResponse where+ type Item DescribeDeploymentsResponse = Deployment++ fromList = DescribeDeploymentsResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _ddrDeployments++-- | 'DescribeDeploymentsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddrDeployments' @::@ ['Deployment']+--+describeDeploymentsResponse :: DescribeDeploymentsResponse+describeDeploymentsResponse = DescribeDeploymentsResponse+ { _ddrDeployments = mempty+ }++-- | An array of Deployment objects that describe the deployments.+ddrDeployments :: Lens' DescribeDeploymentsResponse [Deployment]+ddrDeployments = lens _ddrDeployments (\s a -> s { _ddrDeployments = a }) . _List++instance ToPath DescribeDeployments where+ toPath = const "/"++instance ToQuery DescribeDeployments where+ toQuery = const mempty++instance ToHeaders DescribeDeployments++instance ToJSON DescribeDeployments where+ toJSON DescribeDeployments{..} = object+ [ "StackId" .= _ddStackId+ , "AppId" .= _ddAppId+ , "DeploymentIds" .= _ddDeploymentIds+ ]++instance AWSRequest DescribeDeployments where+ type Sv DescribeDeployments = OpsWorks+ type Rs DescribeDeployments = DescribeDeploymentsResponse++ request = post "DescribeDeployments"+ response = jsonResponse++instance FromJSON DescribeDeploymentsResponse where+ parseJSON = withObject "DescribeDeploymentsResponse" $ \o -> DescribeDeploymentsResponse+ <$> o .: "Deployments"
+ gen/Network/AWS/OpsWorks/DescribeElasticIps.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeElasticIps+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describes Elastic IP addresses. Required Permissions: To use this action,+-- an IAM user must have a Show, Deploy, or Manage permissions level for the+-- stack, or an attached policy that explicitly grants permissions. For more+-- information on user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeElasticIps.html>+module Network.AWS.OpsWorks.DescribeElasticIps+ (+ -- * Request+ DescribeElasticIps+ -- ** Request constructor+ , describeElasticIps+ -- ** Request lenses+ , deiInstanceId+ , deiIps+ , deiStackId++ -- * Response+ , DescribeElasticIpsResponse+ -- ** Response constructor+ , describeElasticIpsResponse+ -- ** Response lenses+ , deirElasticIps+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribeElasticIps = DescribeElasticIps+ { _deiInstanceId :: Maybe Text+ , _deiIps :: List "InstanceIds" Text+ , _deiStackId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeElasticIps' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'deiInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'deiIps' @::@ ['Text']+--+-- * 'deiStackId' @::@ 'Maybe' 'Text'+--+describeElasticIps :: DescribeElasticIps+describeElasticIps = DescribeElasticIps+ { _deiInstanceId = Nothing+ , _deiStackId = Nothing+ , _deiIps = mempty+ }++-- | The instance ID. If you include this parameter, DescribeElasticIps+-- returns a description of the Elastic IP addresses associated with the+-- specified instance.+deiInstanceId :: Lens' DescribeElasticIps (Maybe Text)+deiInstanceId = lens _deiInstanceId (\s a -> s { _deiInstanceId = a })++-- | An array of Elastic IP addresses to be described. If you include this+-- parameter, DescribeElasticIps returns a description of the specified+-- Elastic IP addresses. Otherwise, it returns a description of every+-- Elastic IP address.+deiIps :: Lens' DescribeElasticIps [Text]+deiIps = lens _deiIps (\s a -> s { _deiIps = a }) . _List++-- | A stack ID. If you include this parameter, DescribeElasticIps returns a+-- description of the Elastic IP addresses that are registered with the+-- specified stack.+deiStackId :: Lens' DescribeElasticIps (Maybe Text)+deiStackId = lens _deiStackId (\s a -> s { _deiStackId = a })++newtype DescribeElasticIpsResponse = DescribeElasticIpsResponse+ { _deirElasticIps :: List "ElasticIps" ElasticIp+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeElasticIpsResponse where+ type Item DescribeElasticIpsResponse = ElasticIp++ fromList = DescribeElasticIpsResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _deirElasticIps++-- | 'DescribeElasticIpsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'deirElasticIps' @::@ ['ElasticIp']+--+describeElasticIpsResponse :: DescribeElasticIpsResponse+describeElasticIpsResponse = DescribeElasticIpsResponse+ { _deirElasticIps = mempty+ }++-- | An ElasticIps object that describes the specified Elastic IP addresses.+deirElasticIps :: Lens' DescribeElasticIpsResponse [ElasticIp]+deirElasticIps = lens _deirElasticIps (\s a -> s { _deirElasticIps = a }) . _List++instance ToPath DescribeElasticIps where+ toPath = const "/"++instance ToQuery DescribeElasticIps where+ toQuery = const mempty++instance ToHeaders DescribeElasticIps++instance ToJSON DescribeElasticIps where+ toJSON DescribeElasticIps{..} = object+ [ "InstanceId" .= _deiInstanceId+ , "StackId" .= _deiStackId+ , "Ips" .= _deiIps+ ]++instance AWSRequest DescribeElasticIps where+ type Sv DescribeElasticIps = OpsWorks+ type Rs DescribeElasticIps = DescribeElasticIpsResponse++ request = post "DescribeElasticIps"+ response = jsonResponse++instance FromJSON DescribeElasticIpsResponse where+ parseJSON = withObject "DescribeElasticIpsResponse" $ \o -> DescribeElasticIpsResponse+ <$> o .: "ElasticIps"
+ gen/Network/AWS/OpsWorks/DescribeElasticLoadBalancers.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeElasticLoadBalancers+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describes a stack's Elastic Load Balancing instances. Required Permissions:+-- To use this action, an IAM user must have a Show, Deploy, or Manage+-- permissions level for the stack, or an attached policy that explicitly+-- grants permissions. For more information on user permissions, see Managing+-- User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeElasticLoadBalancers.html>+module Network.AWS.OpsWorks.DescribeElasticLoadBalancers+ (+ -- * Request+ DescribeElasticLoadBalancers+ -- ** Request constructor+ , describeElasticLoadBalancers+ -- ** Request lenses+ , delbLayerIds+ , delbStackId++ -- * Response+ , DescribeElasticLoadBalancersResponse+ -- ** Response constructor+ , describeElasticLoadBalancersResponse+ -- ** Response lenses+ , delbrElasticLoadBalancers+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribeElasticLoadBalancers = DescribeElasticLoadBalancers+ { _delbLayerIds :: List "InstanceIds" Text+ , _delbStackId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeElasticLoadBalancers' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'delbLayerIds' @::@ ['Text']+--+-- * 'delbStackId' @::@ 'Maybe' 'Text'+--+describeElasticLoadBalancers :: DescribeElasticLoadBalancers+describeElasticLoadBalancers = DescribeElasticLoadBalancers+ { _delbStackId = Nothing+ , _delbLayerIds = mempty+ }++-- | A list of layer IDs. The action describes the Elastic Load Balancing+-- instances for the specified layers.+delbLayerIds :: Lens' DescribeElasticLoadBalancers [Text]+delbLayerIds = lens _delbLayerIds (\s a -> s { _delbLayerIds = a }) . _List++-- | A stack ID. The action describes the stack's Elastic Load Balancing+-- instances.+delbStackId :: Lens' DescribeElasticLoadBalancers (Maybe Text)+delbStackId = lens _delbStackId (\s a -> s { _delbStackId = a })++newtype DescribeElasticLoadBalancersResponse = DescribeElasticLoadBalancersResponse+ { _delbrElasticLoadBalancers :: List "ElasticLoadBalancers" ElasticLoadBalancer+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeElasticLoadBalancersResponse where+ type Item DescribeElasticLoadBalancersResponse = ElasticLoadBalancer++ fromList = DescribeElasticLoadBalancersResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _delbrElasticLoadBalancers++-- | 'DescribeElasticLoadBalancersResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'delbrElasticLoadBalancers' @::@ ['ElasticLoadBalancer']+--+describeElasticLoadBalancersResponse :: DescribeElasticLoadBalancersResponse+describeElasticLoadBalancersResponse = DescribeElasticLoadBalancersResponse+ { _delbrElasticLoadBalancers = mempty+ }++-- | A list of ElasticLoadBalancer objects that describe the specified Elastic+-- Load Balancing instances.+delbrElasticLoadBalancers :: Lens' DescribeElasticLoadBalancersResponse [ElasticLoadBalancer]+delbrElasticLoadBalancers =+ lens _delbrElasticLoadBalancers+ (\s a -> s { _delbrElasticLoadBalancers = a })+ . _List++instance ToPath DescribeElasticLoadBalancers where+ toPath = const "/"++instance ToQuery DescribeElasticLoadBalancers where+ toQuery = const mempty++instance ToHeaders DescribeElasticLoadBalancers++instance ToJSON DescribeElasticLoadBalancers where+ toJSON DescribeElasticLoadBalancers{..} = object+ [ "StackId" .= _delbStackId+ , "LayerIds" .= _delbLayerIds+ ]++instance AWSRequest DescribeElasticLoadBalancers where+ type Sv DescribeElasticLoadBalancers = OpsWorks+ type Rs DescribeElasticLoadBalancers = DescribeElasticLoadBalancersResponse++ request = post "DescribeElasticLoadBalancers"+ response = jsonResponse++instance FromJSON DescribeElasticLoadBalancersResponse where+ parseJSON = withObject "DescribeElasticLoadBalancersResponse" $ \o -> DescribeElasticLoadBalancersResponse+ <$> o .: "ElasticLoadBalancers"
+ gen/Network/AWS/OpsWorks/DescribeInstances.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeInstances+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Requests a description of a set of instances. Required Permissions: To use+-- this action, an IAM user must have a Show, Deploy, or Manage permissions+-- level for the stack, or an attached policy that explicitly grants+-- permissions. For more information on user permissions, see Managing User+-- Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeInstances.html>+module Network.AWS.OpsWorks.DescribeInstances+ (+ -- * Request+ DescribeInstances+ -- ** Request constructor+ , describeInstances+ -- ** Request lenses+ , diInstanceIds+ , diLayerId+ , diStackId++ -- * Response+ , DescribeInstancesResponse+ -- ** Response constructor+ , describeInstancesResponse+ -- ** Response lenses+ , dirInstances+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribeInstances = DescribeInstances+ { _diInstanceIds :: List "InstanceIds" Text+ , _diLayerId :: Maybe Text+ , _diStackId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeInstances' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'diInstanceIds' @::@ ['Text']+--+-- * 'diLayerId' @::@ 'Maybe' 'Text'+--+-- * 'diStackId' @::@ 'Maybe' 'Text'+--+describeInstances :: DescribeInstances+describeInstances = DescribeInstances+ { _diStackId = Nothing+ , _diLayerId = Nothing+ , _diInstanceIds = mempty+ }++-- | An array of instance IDs to be described. If you use this parameter,+-- DescribeInstances returns a description of the specified instances.+-- Otherwise, it returns a description of every instance.+diInstanceIds :: Lens' DescribeInstances [Text]+diInstanceIds = lens _diInstanceIds (\s a -> s { _diInstanceIds = a }) . _List++-- | A layer ID. If you use this parameter, DescribeInstances returns+-- descriptions of the instances associated with the specified layer.+diLayerId :: Lens' DescribeInstances (Maybe Text)+diLayerId = lens _diLayerId (\s a -> s { _diLayerId = a })++-- | A stack ID. If you use this parameter, DescribeInstances returns+-- descriptions of the instances associated with the specified stack.+diStackId :: Lens' DescribeInstances (Maybe Text)+diStackId = lens _diStackId (\s a -> s { _diStackId = a })++newtype DescribeInstancesResponse = DescribeInstancesResponse+ { _dirInstances :: List "Instances" Instance+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeInstancesResponse where+ type Item DescribeInstancesResponse = Instance++ fromList = DescribeInstancesResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dirInstances++-- | 'DescribeInstancesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dirInstances' @::@ ['Instance']+--+describeInstancesResponse :: DescribeInstancesResponse+describeInstancesResponse = DescribeInstancesResponse+ { _dirInstances = mempty+ }++-- | An array of Instance objects that describe the instances.+dirInstances :: Lens' DescribeInstancesResponse [Instance]+dirInstances = lens _dirInstances (\s a -> s { _dirInstances = a }) . _List++instance ToPath DescribeInstances where+ toPath = const "/"++instance ToQuery DescribeInstances where+ toQuery = const mempty++instance ToHeaders DescribeInstances++instance ToJSON DescribeInstances where+ toJSON DescribeInstances{..} = object+ [ "StackId" .= _diStackId+ , "LayerId" .= _diLayerId+ , "InstanceIds" .= _diInstanceIds+ ]++instance AWSRequest DescribeInstances where+ type Sv DescribeInstances = OpsWorks+ type Rs DescribeInstances = DescribeInstancesResponse++ request = post "DescribeInstances"+ response = jsonResponse++instance FromJSON DescribeInstancesResponse where+ parseJSON = withObject "DescribeInstancesResponse" $ \o -> DescribeInstancesResponse+ <$> o .: "Instances"
+ gen/Network/AWS/OpsWorks/DescribeLayers.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeLayers+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Requests a description of one or more layers in a specified stack. Required+-- Permissions: To use this action, an IAM user must have a Show, Deploy, or+-- Manage permissions level for the stack, or an attached policy that+-- explicitly grants permissions. For more information on user permissions,+-- see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeLayers.html>+module Network.AWS.OpsWorks.DescribeLayers+ (+ -- * Request+ DescribeLayers+ -- ** Request constructor+ , describeLayers+ -- ** Request lenses+ , dlLayerIds+ , dlStackId++ -- * Response+ , DescribeLayersResponse+ -- ** Response constructor+ , describeLayersResponse+ -- ** Response lenses+ , dlrLayers+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribeLayers = DescribeLayers+ { _dlLayerIds :: List "InstanceIds" Text+ , _dlStackId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeLayers' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dlLayerIds' @::@ ['Text']+--+-- * 'dlStackId' @::@ 'Maybe' 'Text'+--+describeLayers :: DescribeLayers+describeLayers = DescribeLayers+ { _dlStackId = Nothing+ , _dlLayerIds = mempty+ }++-- | An array of layer IDs that specify the layers to be described. If you+-- omit this parameter, DescribeLayers returns a description of every layer+-- in the specified stack.+dlLayerIds :: Lens' DescribeLayers [Text]+dlLayerIds = lens _dlLayerIds (\s a -> s { _dlLayerIds = a }) . _List++-- | The stack ID.+dlStackId :: Lens' DescribeLayers (Maybe Text)+dlStackId = lens _dlStackId (\s a -> s { _dlStackId = a })++newtype DescribeLayersResponse = DescribeLayersResponse+ { _dlrLayers :: List "Layers" Layer+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeLayersResponse where+ type Item DescribeLayersResponse = Layer++ fromList = DescribeLayersResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dlrLayers++-- | 'DescribeLayersResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dlrLayers' @::@ ['Layer']+--+describeLayersResponse :: DescribeLayersResponse+describeLayersResponse = DescribeLayersResponse+ { _dlrLayers = mempty+ }++-- | An array of Layer objects that describe the layers.+dlrLayers :: Lens' DescribeLayersResponse [Layer]+dlrLayers = lens _dlrLayers (\s a -> s { _dlrLayers = a }) . _List++instance ToPath DescribeLayers where+ toPath = const "/"++instance ToQuery DescribeLayers where+ toQuery = const mempty++instance ToHeaders DescribeLayers++instance ToJSON DescribeLayers where+ toJSON DescribeLayers{..} = object+ [ "StackId" .= _dlStackId+ , "LayerIds" .= _dlLayerIds+ ]++instance AWSRequest DescribeLayers where+ type Sv DescribeLayers = OpsWorks+ type Rs DescribeLayers = DescribeLayersResponse++ request = post "DescribeLayers"+ response = jsonResponse++instance FromJSON DescribeLayersResponse where+ parseJSON = withObject "DescribeLayersResponse" $ \o -> DescribeLayersResponse+ <$> o .: "Layers"
+ gen/Network/AWS/OpsWorks/DescribeLoadBasedAutoScaling.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeLoadBasedAutoScaling+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describes load-based auto scaling configurations for specified layers.+-- Required Permissions: To use this action, an IAM user must have a Show,+-- Deploy, or Manage permissions level for the stack, or an attached policy+-- that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeLoadBasedAutoScaling.html>+module Network.AWS.OpsWorks.DescribeLoadBasedAutoScaling+ (+ -- * Request+ DescribeLoadBasedAutoScaling+ -- ** Request constructor+ , describeLoadBasedAutoScaling+ -- ** Request lenses+ , dlbasLayerIds++ -- * Response+ , DescribeLoadBasedAutoScalingResponse+ -- ** Response constructor+ , describeLoadBasedAutoScalingResponse+ -- ** Response lenses+ , dlbasrLoadBasedAutoScalingConfigurations+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DescribeLoadBasedAutoScaling = DescribeLoadBasedAutoScaling+ { _dlbasLayerIds :: List "InstanceIds" Text+ } deriving (Eq, Ord, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeLoadBasedAutoScaling where+ type Item DescribeLoadBasedAutoScaling = Text++ fromList = DescribeLoadBasedAutoScaling . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dlbasLayerIds++-- | 'DescribeLoadBasedAutoScaling' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dlbasLayerIds' @::@ ['Text']+--+describeLoadBasedAutoScaling :: DescribeLoadBasedAutoScaling+describeLoadBasedAutoScaling = DescribeLoadBasedAutoScaling+ { _dlbasLayerIds = mempty+ }++-- | An array of layer IDs.+dlbasLayerIds :: Lens' DescribeLoadBasedAutoScaling [Text]+dlbasLayerIds = lens _dlbasLayerIds (\s a -> s { _dlbasLayerIds = a }) . _List++newtype DescribeLoadBasedAutoScalingResponse = DescribeLoadBasedAutoScalingResponse+ { _dlbasrLoadBasedAutoScalingConfigurations :: List "LoadBasedAutoScalingConfigurations" LoadBasedAutoScalingConfiguration+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeLoadBasedAutoScalingResponse where+ type Item DescribeLoadBasedAutoScalingResponse = LoadBasedAutoScalingConfiguration++ fromList = DescribeLoadBasedAutoScalingResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dlbasrLoadBasedAutoScalingConfigurations++-- | 'DescribeLoadBasedAutoScalingResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dlbasrLoadBasedAutoScalingConfigurations' @::@ ['LoadBasedAutoScalingConfiguration']+--+describeLoadBasedAutoScalingResponse :: DescribeLoadBasedAutoScalingResponse+describeLoadBasedAutoScalingResponse = DescribeLoadBasedAutoScalingResponse+ { _dlbasrLoadBasedAutoScalingConfigurations = mempty+ }++-- | An array of LoadBasedAutoScalingConfiguration objects that describe each+-- layer's configuration.+dlbasrLoadBasedAutoScalingConfigurations :: Lens' DescribeLoadBasedAutoScalingResponse [LoadBasedAutoScalingConfiguration]+dlbasrLoadBasedAutoScalingConfigurations =+ lens _dlbasrLoadBasedAutoScalingConfigurations+ (\s a -> s { _dlbasrLoadBasedAutoScalingConfigurations = a })+ . _List++instance ToPath DescribeLoadBasedAutoScaling where+ toPath = const "/"++instance ToQuery DescribeLoadBasedAutoScaling where+ toQuery = const mempty++instance ToHeaders DescribeLoadBasedAutoScaling++instance ToJSON DescribeLoadBasedAutoScaling where+ toJSON DescribeLoadBasedAutoScaling{..} = object+ [ "LayerIds" .= _dlbasLayerIds+ ]++instance AWSRequest DescribeLoadBasedAutoScaling where+ type Sv DescribeLoadBasedAutoScaling = OpsWorks+ type Rs DescribeLoadBasedAutoScaling = DescribeLoadBasedAutoScalingResponse++ request = post "DescribeLoadBasedAutoScaling"+ response = jsonResponse++instance FromJSON DescribeLoadBasedAutoScalingResponse where+ parseJSON = withObject "DescribeLoadBasedAutoScalingResponse" $ \o -> DescribeLoadBasedAutoScalingResponse+ <$> o .: "LoadBasedAutoScalingConfigurations"
+ gen/Network/AWS/OpsWorks/DescribeMyUserProfile.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeMyUserProfile+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describes a user's SSH information. Required Permissions: To use this+-- action, an IAM user must have self-management enabled or an attached policy+-- that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeMyUserProfile.html>+module Network.AWS.OpsWorks.DescribeMyUserProfile+ (+ -- * Request+ DescribeMyUserProfile+ -- ** Request constructor+ , describeMyUserProfile++ -- * Response+ , DescribeMyUserProfileResponse+ -- ** Response constructor+ , describeMyUserProfileResponse+ -- ** Response lenses+ , dmuprUserProfile+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribeMyUserProfile = DescribeMyUserProfile+ deriving (Eq, Ord, Show, Generic)++-- | 'DescribeMyUserProfile' constructor.+describeMyUserProfile :: DescribeMyUserProfile+describeMyUserProfile = DescribeMyUserProfile++newtype DescribeMyUserProfileResponse = DescribeMyUserProfileResponse+ { _dmuprUserProfile :: Maybe SelfUserProfile+ } deriving (Eq, Show)++-- | 'DescribeMyUserProfileResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dmuprUserProfile' @::@ 'Maybe' 'SelfUserProfile'+--+describeMyUserProfileResponse :: DescribeMyUserProfileResponse+describeMyUserProfileResponse = DescribeMyUserProfileResponse+ { _dmuprUserProfile = Nothing+ }++-- | A UserProfile object that describes the user's SSH information.+dmuprUserProfile :: Lens' DescribeMyUserProfileResponse (Maybe SelfUserProfile)+dmuprUserProfile = lens _dmuprUserProfile (\s a -> s { _dmuprUserProfile = a })++instance ToPath DescribeMyUserProfile where+ toPath = const "/"++instance ToQuery DescribeMyUserProfile where+ toQuery = const mempty++instance ToHeaders DescribeMyUserProfile++instance ToJSON DescribeMyUserProfile where+ toJSON = const (toJSON Empty)++instance AWSRequest DescribeMyUserProfile where+ type Sv DescribeMyUserProfile = OpsWorks+ type Rs DescribeMyUserProfile = DescribeMyUserProfileResponse++ request = post "DescribeMyUserProfile"+ response = jsonResponse++instance FromJSON DescribeMyUserProfileResponse where+ parseJSON = withObject "DescribeMyUserProfileResponse" $ \o -> DescribeMyUserProfileResponse+ <$> o .:? "UserProfile"
+ gen/Network/AWS/OpsWorks/DescribePermissions.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribePermissions+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describes the permissions for a specified stack. Required Permissions: To+-- use this action, an IAM user must have a Manage permissions level for the+-- stack, or an attached policy that explicitly grants permissions. For more+-- information on user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribePermissions.html>+module Network.AWS.OpsWorks.DescribePermissions+ (+ -- * Request+ DescribePermissions+ -- ** Request constructor+ , describePermissions+ -- ** Request lenses+ , dpIamUserArn+ , dpStackId++ -- * Response+ , DescribePermissionsResponse+ -- ** Response constructor+ , describePermissionsResponse+ -- ** Response lenses+ , dprPermissions+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribePermissions = DescribePermissions+ { _dpIamUserArn :: Maybe Text+ , _dpStackId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribePermissions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dpIamUserArn' @::@ 'Maybe' 'Text'+--+-- * 'dpStackId' @::@ 'Maybe' 'Text'+--+describePermissions :: DescribePermissions+describePermissions = DescribePermissions+ { _dpIamUserArn = Nothing+ , _dpStackId = Nothing+ }++-- | The user's IAM ARN. For more information about IAM ARNs, see Using+-- Identifiers.+dpIamUserArn :: Lens' DescribePermissions (Maybe Text)+dpIamUserArn = lens _dpIamUserArn (\s a -> s { _dpIamUserArn = a })++-- | The stack ID.+dpStackId :: Lens' DescribePermissions (Maybe Text)+dpStackId = lens _dpStackId (\s a -> s { _dpStackId = a })++newtype DescribePermissionsResponse = DescribePermissionsResponse+ { _dprPermissions :: List "Permissions" Permission+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribePermissionsResponse where+ type Item DescribePermissionsResponse = Permission++ fromList = DescribePermissionsResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dprPermissions++-- | 'DescribePermissionsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dprPermissions' @::@ ['Permission']+--+describePermissionsResponse :: DescribePermissionsResponse+describePermissionsResponse = DescribePermissionsResponse+ { _dprPermissions = mempty+ }++-- | An array of Permission objects that describe the stack permissions. If+-- the request object contains only a stack ID, the array contains a+-- Permission object with permissions for each of the stack IAM ARNs. If the+-- request object contains only an IAM ARN, the array contains a Permission+-- object with permissions for each of the user's stack IDs. If the request+-- contains a stack ID and an IAM ARN, the array contains a single+-- Permission object with permissions for the specified stack and IAM ARN.+dprPermissions :: Lens' DescribePermissionsResponse [Permission]+dprPermissions = lens _dprPermissions (\s a -> s { _dprPermissions = a }) . _List++instance ToPath DescribePermissions where+ toPath = const "/"++instance ToQuery DescribePermissions where+ toQuery = const mempty++instance ToHeaders DescribePermissions++instance ToJSON DescribePermissions where+ toJSON DescribePermissions{..} = object+ [ "IamUserArn" .= _dpIamUserArn+ , "StackId" .= _dpStackId+ ]++instance AWSRequest DescribePermissions where+ type Sv DescribePermissions = OpsWorks+ type Rs DescribePermissions = DescribePermissionsResponse++ request = post "DescribePermissions"+ response = jsonResponse++instance FromJSON DescribePermissionsResponse where+ parseJSON = withObject "DescribePermissionsResponse" $ \o -> DescribePermissionsResponse+ <$> o .: "Permissions"
+ gen/Network/AWS/OpsWorks/DescribeRaidArrays.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeRaidArrays+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describe an instance's RAID arrays. Required Permissions: To use this+-- action, an IAM user must have a Show, Deploy, or Manage permissions level+-- for the stack, or an attached policy that explicitly grants permissions.+-- For more information on user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeRaidArrays.html>+module Network.AWS.OpsWorks.DescribeRaidArrays+ (+ -- * Request+ DescribeRaidArrays+ -- ** Request constructor+ , describeRaidArrays+ -- ** Request lenses+ , draInstanceId+ , draRaidArrayIds++ -- * Response+ , DescribeRaidArraysResponse+ -- ** Response constructor+ , describeRaidArraysResponse+ -- ** Response lenses+ , drarRaidArrays+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribeRaidArrays = DescribeRaidArrays+ { _draInstanceId :: Maybe Text+ , _draRaidArrayIds :: List "InstanceIds" Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeRaidArrays' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'draInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'draRaidArrayIds' @::@ ['Text']+--+describeRaidArrays :: DescribeRaidArrays+describeRaidArrays = DescribeRaidArrays+ { _draInstanceId = Nothing+ , _draRaidArrayIds = mempty+ }++-- | The instance ID. If you use this parameter, DescribeRaidArrays returns+-- descriptions of the RAID arrays associated with the specified instance.+draInstanceId :: Lens' DescribeRaidArrays (Maybe Text)+draInstanceId = lens _draInstanceId (\s a -> s { _draInstanceId = a })++-- | An array of RAID array IDs. If you use this parameter, DescribeRaidArrays+-- returns descriptions of the specified arrays. Otherwise, it returns a+-- description of every array.+draRaidArrayIds :: Lens' DescribeRaidArrays [Text]+draRaidArrayIds = lens _draRaidArrayIds (\s a -> s { _draRaidArrayIds = a }) . _List++newtype DescribeRaidArraysResponse = DescribeRaidArraysResponse+ { _drarRaidArrays :: List "RaidArrays" RaidArray+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeRaidArraysResponse where+ type Item DescribeRaidArraysResponse = RaidArray++ fromList = DescribeRaidArraysResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _drarRaidArrays++-- | 'DescribeRaidArraysResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'drarRaidArrays' @::@ ['RaidArray']+--+describeRaidArraysResponse :: DescribeRaidArraysResponse+describeRaidArraysResponse = DescribeRaidArraysResponse+ { _drarRaidArrays = mempty+ }++-- | A RaidArrays object that describes the specified RAID arrays.+drarRaidArrays :: Lens' DescribeRaidArraysResponse [RaidArray]+drarRaidArrays = lens _drarRaidArrays (\s a -> s { _drarRaidArrays = a }) . _List++instance ToPath DescribeRaidArrays where+ toPath = const "/"++instance ToQuery DescribeRaidArrays where+ toQuery = const mempty++instance ToHeaders DescribeRaidArrays++instance ToJSON DescribeRaidArrays where+ toJSON DescribeRaidArrays{..} = object+ [ "InstanceId" .= _draInstanceId+ , "RaidArrayIds" .= _draRaidArrayIds+ ]++instance AWSRequest DescribeRaidArrays where+ type Sv DescribeRaidArrays = OpsWorks+ type Rs DescribeRaidArrays = DescribeRaidArraysResponse++ request = post "DescribeRaidArrays"+ response = jsonResponse++instance FromJSON DescribeRaidArraysResponse where+ parseJSON = withObject "DescribeRaidArraysResponse" $ \o -> DescribeRaidArraysResponse+ <$> o .: "RaidArrays"
+ gen/Network/AWS/OpsWorks/DescribeRdsDbInstances.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeRdsDbInstances+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describes Amazon RDS instances.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeRdsDbInstances.html>+module Network.AWS.OpsWorks.DescribeRdsDbInstances+ (+ -- * Request+ DescribeRdsDbInstances+ -- ** Request constructor+ , describeRdsDbInstances+ -- ** Request lenses+ , drdiRdsDbInstanceArns+ , drdiStackId++ -- * Response+ , DescribeRdsDbInstancesResponse+ -- ** Response constructor+ , describeRdsDbInstancesResponse+ -- ** Response lenses+ , drdirRdsDbInstances+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribeRdsDbInstances = DescribeRdsDbInstances+ { _drdiRdsDbInstanceArns :: List "InstanceIds" Text+ , _drdiStackId :: Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeRdsDbInstances' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'drdiRdsDbInstanceArns' @::@ ['Text']+--+-- * 'drdiStackId' @::@ 'Text'+--+describeRdsDbInstances :: Text -- ^ 'drdiStackId'+ -> DescribeRdsDbInstances+describeRdsDbInstances p1 = DescribeRdsDbInstances+ { _drdiStackId = p1+ , _drdiRdsDbInstanceArns = mempty+ }++-- | An array containing the ARNs of the instances to be described.+drdiRdsDbInstanceArns :: Lens' DescribeRdsDbInstances [Text]+drdiRdsDbInstanceArns =+ lens _drdiRdsDbInstanceArns (\s a -> s { _drdiRdsDbInstanceArns = a })+ . _List++-- | The stack ID that the instances are registered with. The operation+-- returns descriptions of all registered Amazon RDS instances.+drdiStackId :: Lens' DescribeRdsDbInstances Text+drdiStackId = lens _drdiStackId (\s a -> s { _drdiStackId = a })++newtype DescribeRdsDbInstancesResponse = DescribeRdsDbInstancesResponse+ { _drdirRdsDbInstances :: List "RdsDbInstances" RdsDbInstance+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeRdsDbInstancesResponse where+ type Item DescribeRdsDbInstancesResponse = RdsDbInstance++ fromList = DescribeRdsDbInstancesResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _drdirRdsDbInstances++-- | 'DescribeRdsDbInstancesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'drdirRdsDbInstances' @::@ ['RdsDbInstance']+--+describeRdsDbInstancesResponse :: DescribeRdsDbInstancesResponse+describeRdsDbInstancesResponse = DescribeRdsDbInstancesResponse+ { _drdirRdsDbInstances = mempty+ }++-- | An a array of RdsDbInstance objects that describe the instances.+drdirRdsDbInstances :: Lens' DescribeRdsDbInstancesResponse [RdsDbInstance]+drdirRdsDbInstances =+ lens _drdirRdsDbInstances (\s a -> s { _drdirRdsDbInstances = a })+ . _List++instance ToPath DescribeRdsDbInstances where+ toPath = const "/"++instance ToQuery DescribeRdsDbInstances where+ toQuery = const mempty++instance ToHeaders DescribeRdsDbInstances++instance ToJSON DescribeRdsDbInstances where+ toJSON DescribeRdsDbInstances{..} = object+ [ "StackId" .= _drdiStackId+ , "RdsDbInstanceArns" .= _drdiRdsDbInstanceArns+ ]++instance AWSRequest DescribeRdsDbInstances where+ type Sv DescribeRdsDbInstances = OpsWorks+ type Rs DescribeRdsDbInstances = DescribeRdsDbInstancesResponse++ request = post "DescribeRdsDbInstances"+ response = jsonResponse++instance FromJSON DescribeRdsDbInstancesResponse where+ parseJSON = withObject "DescribeRdsDbInstancesResponse" $ \o -> DescribeRdsDbInstancesResponse+ <$> o .: "RdsDbInstances"
+ gen/Network/AWS/OpsWorks/DescribeServiceErrors.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeServiceErrors+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describes AWS OpsWorks service errors. Required Permissions: To use this+-- action, an IAM user must have a Show, Deploy, or Manage permissions level+-- for the stack, or an attached policy that explicitly grants permissions.+-- For more information on user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeServiceErrors.html>+module Network.AWS.OpsWorks.DescribeServiceErrors+ (+ -- * Request+ DescribeServiceErrors+ -- ** Request constructor+ , describeServiceErrors+ -- ** Request lenses+ , dseInstanceId+ , dseServiceErrorIds+ , dseStackId++ -- * Response+ , DescribeServiceErrorsResponse+ -- ** Response constructor+ , describeServiceErrorsResponse+ -- ** Response lenses+ , dserServiceErrors+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribeServiceErrors = DescribeServiceErrors+ { _dseInstanceId :: Maybe Text+ , _dseServiceErrorIds :: List "InstanceIds" Text+ , _dseStackId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeServiceErrors' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dseInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'dseServiceErrorIds' @::@ ['Text']+--+-- * 'dseStackId' @::@ 'Maybe' 'Text'+--+describeServiceErrors :: DescribeServiceErrors+describeServiceErrors = DescribeServiceErrors+ { _dseStackId = Nothing+ , _dseInstanceId = Nothing+ , _dseServiceErrorIds = mempty+ }++-- | The instance ID. If you use this parameter, DescribeServiceErrors returns+-- descriptions of the errors associated with the specified instance.+dseInstanceId :: Lens' DescribeServiceErrors (Maybe Text)+dseInstanceId = lens _dseInstanceId (\s a -> s { _dseInstanceId = a })++-- | An array of service error IDs. If you use this parameter,+-- DescribeServiceErrors returns descriptions of the specified errors.+-- Otherwise, it returns a description of every error.+dseServiceErrorIds :: Lens' DescribeServiceErrors [Text]+dseServiceErrorIds =+ lens _dseServiceErrorIds (\s a -> s { _dseServiceErrorIds = a })+ . _List++-- | The stack ID. If you use this parameter, DescribeServiceErrors returns+-- descriptions of the errors associated with the specified stack.+dseStackId :: Lens' DescribeServiceErrors (Maybe Text)+dseStackId = lens _dseStackId (\s a -> s { _dseStackId = a })++newtype DescribeServiceErrorsResponse = DescribeServiceErrorsResponse+ { _dserServiceErrors :: List "ServiceErrors" ServiceError'+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeServiceErrorsResponse where+ type Item DescribeServiceErrorsResponse = ServiceError'++ fromList = DescribeServiceErrorsResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dserServiceErrors++-- | 'DescribeServiceErrorsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dserServiceErrors' @::@ ['ServiceError'']+--+describeServiceErrorsResponse :: DescribeServiceErrorsResponse+describeServiceErrorsResponse = DescribeServiceErrorsResponse+ { _dserServiceErrors = mempty+ }++-- | An array of ServiceError objects that describe the specified service+-- errors.+dserServiceErrors :: Lens' DescribeServiceErrorsResponse [ServiceError']+dserServiceErrors =+ lens _dserServiceErrors (\s a -> s { _dserServiceErrors = a })+ . _List++instance ToPath DescribeServiceErrors where+ toPath = const "/"++instance ToQuery DescribeServiceErrors where+ toQuery = const mempty++instance ToHeaders DescribeServiceErrors++instance ToJSON DescribeServiceErrors where+ toJSON DescribeServiceErrors{..} = object+ [ "StackId" .= _dseStackId+ , "InstanceId" .= _dseInstanceId+ , "ServiceErrorIds" .= _dseServiceErrorIds+ ]++instance AWSRequest DescribeServiceErrors where+ type Sv DescribeServiceErrors = OpsWorks+ type Rs DescribeServiceErrors = DescribeServiceErrorsResponse++ request = post "DescribeServiceErrors"+ response = jsonResponse++instance FromJSON DescribeServiceErrorsResponse where+ parseJSON = withObject "DescribeServiceErrorsResponse" $ \o -> DescribeServiceErrorsResponse+ <$> o .: "ServiceErrors"
+ gen/Network/AWS/OpsWorks/DescribeStackSummary.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeStackSummary+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describes the number of layers and apps in a specified stack, and the+-- number of instances in each state, such as running_setup or online.+-- Required Permissions: To use this action, an IAM user must have a Show,+-- Deploy, or Manage permissions level for the stack, or an attached policy+-- that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeStackSummary.html>+module Network.AWS.OpsWorks.DescribeStackSummary+ (+ -- * Request+ DescribeStackSummary+ -- ** Request constructor+ , describeStackSummary+ -- ** Request lenses+ , dssStackId++ -- * Response+ , DescribeStackSummaryResponse+ -- ** Response constructor+ , describeStackSummaryResponse+ -- ** Response lenses+ , dssrStackSummary+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DescribeStackSummary = DescribeStackSummary+ { _dssStackId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DescribeStackSummary' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dssStackId' @::@ 'Text'+--+describeStackSummary :: Text -- ^ 'dssStackId'+ -> DescribeStackSummary+describeStackSummary p1 = DescribeStackSummary+ { _dssStackId = p1+ }++-- | The stack ID.+dssStackId :: Lens' DescribeStackSummary Text+dssStackId = lens _dssStackId (\s a -> s { _dssStackId = a })++newtype DescribeStackSummaryResponse = DescribeStackSummaryResponse+ { _dssrStackSummary :: Maybe StackSummary+ } deriving (Eq, Show)++-- | 'DescribeStackSummaryResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dssrStackSummary' @::@ 'Maybe' 'StackSummary'+--+describeStackSummaryResponse :: DescribeStackSummaryResponse+describeStackSummaryResponse = DescribeStackSummaryResponse+ { _dssrStackSummary = Nothing+ }++-- | A StackSummary object that contains the results.+dssrStackSummary :: Lens' DescribeStackSummaryResponse (Maybe StackSummary)+dssrStackSummary = lens _dssrStackSummary (\s a -> s { _dssrStackSummary = a })++instance ToPath DescribeStackSummary where+ toPath = const "/"++instance ToQuery DescribeStackSummary where+ toQuery = const mempty++instance ToHeaders DescribeStackSummary++instance ToJSON DescribeStackSummary where+ toJSON DescribeStackSummary{..} = object+ [ "StackId" .= _dssStackId+ ]++instance AWSRequest DescribeStackSummary where+ type Sv DescribeStackSummary = OpsWorks+ type Rs DescribeStackSummary = DescribeStackSummaryResponse++ request = post "DescribeStackSummary"+ response = jsonResponse++instance FromJSON DescribeStackSummaryResponse where+ parseJSON = withObject "DescribeStackSummaryResponse" $ \o -> DescribeStackSummaryResponse+ <$> o .:? "StackSummary"
+ gen/Network/AWS/OpsWorks/DescribeStacks.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeStacks+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Requests a description of one or more stacks. Required Permissions: To use+-- this action, an IAM user must have a Show, Deploy, or Manage permissions+-- level for the stack, or an attached policy that explicitly grants+-- permissions. For more information on user permissions, see Managing User+-- Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeStacks.html>+module Network.AWS.OpsWorks.DescribeStacks+ (+ -- * Request+ DescribeStacks+ -- ** Request constructor+ , describeStacks+ -- ** Request lenses+ , dsStackIds++ -- * Response+ , DescribeStacksResponse+ -- ** Response constructor+ , describeStacksResponse+ -- ** Response lenses+ , dsrStacks+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DescribeStacks = DescribeStacks+ { _dsStackIds :: List "InstanceIds" Text+ } deriving (Eq, Ord, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeStacks where+ type Item DescribeStacks = Text++ fromList = DescribeStacks . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dsStackIds++-- | 'DescribeStacks' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsStackIds' @::@ ['Text']+--+describeStacks :: DescribeStacks+describeStacks = DescribeStacks+ { _dsStackIds = mempty+ }++-- | An array of stack IDs that specify the stacks to be described. If you+-- omit this parameter, DescribeStacks returns a description of every stack.+dsStackIds :: Lens' DescribeStacks [Text]+dsStackIds = lens _dsStackIds (\s a -> s { _dsStackIds = a }) . _List++newtype DescribeStacksResponse = DescribeStacksResponse+ { _dsrStacks :: List "Stacks" Stack+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeStacksResponse where+ type Item DescribeStacksResponse = Stack++ fromList = DescribeStacksResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dsrStacks++-- | 'DescribeStacksResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsrStacks' @::@ ['Stack']+--+describeStacksResponse :: DescribeStacksResponse+describeStacksResponse = DescribeStacksResponse+ { _dsrStacks = mempty+ }++-- | An array of Stack objects that describe the stacks.+dsrStacks :: Lens' DescribeStacksResponse [Stack]+dsrStacks = lens _dsrStacks (\s a -> s { _dsrStacks = a }) . _List++instance ToPath DescribeStacks where+ toPath = const "/"++instance ToQuery DescribeStacks where+ toQuery = const mempty++instance ToHeaders DescribeStacks++instance ToJSON DescribeStacks where+ toJSON DescribeStacks{..} = object+ [ "StackIds" .= _dsStackIds+ ]++instance AWSRequest DescribeStacks where+ type Sv DescribeStacks = OpsWorks+ type Rs DescribeStacks = DescribeStacksResponse++ request = post "DescribeStacks"+ response = jsonResponse++instance FromJSON DescribeStacksResponse where+ parseJSON = withObject "DescribeStacksResponse" $ \o -> DescribeStacksResponse+ <$> o .: "Stacks"
+ gen/Network/AWS/OpsWorks/DescribeTimeBasedAutoScaling.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeTimeBasedAutoScaling+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describes time-based auto scaling configurations for specified instances.+-- Required Permissions: To use this action, an IAM user must have a Show,+-- Deploy, or Manage permissions level for the stack, or an attached policy+-- that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeTimeBasedAutoScaling.html>+module Network.AWS.OpsWorks.DescribeTimeBasedAutoScaling+ (+ -- * Request+ DescribeTimeBasedAutoScaling+ -- ** Request constructor+ , describeTimeBasedAutoScaling+ -- ** Request lenses+ , dtbasInstanceIds++ -- * Response+ , DescribeTimeBasedAutoScalingResponse+ -- ** Response constructor+ , describeTimeBasedAutoScalingResponse+ -- ** Response lenses+ , dtbasrTimeBasedAutoScalingConfigurations+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DescribeTimeBasedAutoScaling = DescribeTimeBasedAutoScaling+ { _dtbasInstanceIds :: List "InstanceIds" Text+ } deriving (Eq, Ord, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeTimeBasedAutoScaling where+ type Item DescribeTimeBasedAutoScaling = Text++ fromList = DescribeTimeBasedAutoScaling . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dtbasInstanceIds++-- | 'DescribeTimeBasedAutoScaling' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtbasInstanceIds' @::@ ['Text']+--+describeTimeBasedAutoScaling :: DescribeTimeBasedAutoScaling+describeTimeBasedAutoScaling = DescribeTimeBasedAutoScaling+ { _dtbasInstanceIds = mempty+ }++-- | An array of instance IDs.+dtbasInstanceIds :: Lens' DescribeTimeBasedAutoScaling [Text]+dtbasInstanceIds = lens _dtbasInstanceIds (\s a -> s { _dtbasInstanceIds = a }) . _List++newtype DescribeTimeBasedAutoScalingResponse = DescribeTimeBasedAutoScalingResponse+ { _dtbasrTimeBasedAutoScalingConfigurations :: List "TimeBasedAutoScalingConfigurations" TimeBasedAutoScalingConfiguration+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeTimeBasedAutoScalingResponse where+ type Item DescribeTimeBasedAutoScalingResponse = TimeBasedAutoScalingConfiguration++ fromList = DescribeTimeBasedAutoScalingResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dtbasrTimeBasedAutoScalingConfigurations++-- | 'DescribeTimeBasedAutoScalingResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtbasrTimeBasedAutoScalingConfigurations' @::@ ['TimeBasedAutoScalingConfiguration']+--+describeTimeBasedAutoScalingResponse :: DescribeTimeBasedAutoScalingResponse+describeTimeBasedAutoScalingResponse = DescribeTimeBasedAutoScalingResponse+ { _dtbasrTimeBasedAutoScalingConfigurations = mempty+ }++-- | An array of TimeBasedAutoScalingConfiguration objects that describe the+-- configuration for the specified instances.+dtbasrTimeBasedAutoScalingConfigurations :: Lens' DescribeTimeBasedAutoScalingResponse [TimeBasedAutoScalingConfiguration]+dtbasrTimeBasedAutoScalingConfigurations =+ lens _dtbasrTimeBasedAutoScalingConfigurations+ (\s a -> s { _dtbasrTimeBasedAutoScalingConfigurations = a })+ . _List++instance ToPath DescribeTimeBasedAutoScaling where+ toPath = const "/"++instance ToQuery DescribeTimeBasedAutoScaling where+ toQuery = const mempty++instance ToHeaders DescribeTimeBasedAutoScaling++instance ToJSON DescribeTimeBasedAutoScaling where+ toJSON DescribeTimeBasedAutoScaling{..} = object+ [ "InstanceIds" .= _dtbasInstanceIds+ ]++instance AWSRequest DescribeTimeBasedAutoScaling where+ type Sv DescribeTimeBasedAutoScaling = OpsWorks+ type Rs DescribeTimeBasedAutoScaling = DescribeTimeBasedAutoScalingResponse++ request = post "DescribeTimeBasedAutoScaling"+ response = jsonResponse++instance FromJSON DescribeTimeBasedAutoScalingResponse where+ parseJSON = withObject "DescribeTimeBasedAutoScalingResponse" $ \o -> DescribeTimeBasedAutoScalingResponse+ <$> o .: "TimeBasedAutoScalingConfigurations"
+ gen/Network/AWS/OpsWorks/DescribeUserProfiles.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeUserProfiles+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describe specified users. Required Permissions: To use this action, an IAM+-- user must have an attached policy that explicitly grants permissions. For+-- more information on user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeUserProfiles.html>+module Network.AWS.OpsWorks.DescribeUserProfiles+ (+ -- * Request+ DescribeUserProfiles+ -- ** Request constructor+ , describeUserProfiles+ -- ** Request lenses+ , dupIamUserArns++ -- * Response+ , DescribeUserProfilesResponse+ -- ** Response constructor+ , describeUserProfilesResponse+ -- ** Response lenses+ , duprUserProfiles+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DescribeUserProfiles = DescribeUserProfiles+ { _dupIamUserArns :: List "InstanceIds" Text+ } deriving (Eq, Ord, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeUserProfiles where+ type Item DescribeUserProfiles = Text++ fromList = DescribeUserProfiles . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dupIamUserArns++-- | 'DescribeUserProfiles' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dupIamUserArns' @::@ ['Text']+--+describeUserProfiles :: DescribeUserProfiles+describeUserProfiles = DescribeUserProfiles+ { _dupIamUserArns = mempty+ }++-- | An array of IAM user ARNs that identify the users to be described.+dupIamUserArns :: Lens' DescribeUserProfiles [Text]+dupIamUserArns = lens _dupIamUserArns (\s a -> s { _dupIamUserArns = a }) . _List++newtype DescribeUserProfilesResponse = DescribeUserProfilesResponse+ { _duprUserProfiles :: List "UserProfiles" UserProfile+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeUserProfilesResponse where+ type Item DescribeUserProfilesResponse = UserProfile++ fromList = DescribeUserProfilesResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _duprUserProfiles++-- | 'DescribeUserProfilesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'duprUserProfiles' @::@ ['UserProfile']+--+describeUserProfilesResponse :: DescribeUserProfilesResponse+describeUserProfilesResponse = DescribeUserProfilesResponse+ { _duprUserProfiles = mempty+ }++-- | A Users object that describes the specified users.+duprUserProfiles :: Lens' DescribeUserProfilesResponse [UserProfile]+duprUserProfiles = lens _duprUserProfiles (\s a -> s { _duprUserProfiles = a }) . _List++instance ToPath DescribeUserProfiles where+ toPath = const "/"++instance ToQuery DescribeUserProfiles where+ toQuery = const mempty++instance ToHeaders DescribeUserProfiles++instance ToJSON DescribeUserProfiles where+ toJSON DescribeUserProfiles{..} = object+ [ "IamUserArns" .= _dupIamUserArns+ ]++instance AWSRequest DescribeUserProfiles where+ type Sv DescribeUserProfiles = OpsWorks+ type Rs DescribeUserProfiles = DescribeUserProfilesResponse++ request = post "DescribeUserProfiles"+ response = jsonResponse++instance FromJSON DescribeUserProfilesResponse where+ parseJSON = withObject "DescribeUserProfilesResponse" $ \o -> DescribeUserProfilesResponse+ <$> o .: "UserProfiles"
+ gen/Network/AWS/OpsWorks/DescribeVolumes.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DescribeVolumes+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Describes an instance's Amazon EBS volumes. Required Permissions: To use+-- this action, an IAM user must have a Show, Deploy, or Manage permissions+-- level for the stack, or an attached policy that explicitly grants+-- permissions. For more information on user permissions, see Managing User+-- Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeVolumes.html>+module Network.AWS.OpsWorks.DescribeVolumes+ (+ -- * Request+ DescribeVolumes+ -- ** Request constructor+ , describeVolumes+ -- ** Request lenses+ , dvInstanceId+ , dvRaidArrayId+ , dvStackId+ , dvVolumeIds++ -- * Response+ , DescribeVolumesResponse+ -- ** Response constructor+ , describeVolumesResponse+ -- ** Response lenses+ , dvrVolumes+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DescribeVolumes = DescribeVolumes+ { _dvInstanceId :: Maybe Text+ , _dvRaidArrayId :: Maybe Text+ , _dvStackId :: Maybe Text+ , _dvVolumeIds :: List "InstanceIds" Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeVolumes' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dvInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'dvRaidArrayId' @::@ 'Maybe' 'Text'+--+-- * 'dvStackId' @::@ 'Maybe' 'Text'+--+-- * 'dvVolumeIds' @::@ ['Text']+--+describeVolumes :: DescribeVolumes+describeVolumes = DescribeVolumes+ { _dvInstanceId = Nothing+ , _dvStackId = Nothing+ , _dvRaidArrayId = Nothing+ , _dvVolumeIds = mempty+ }++-- | The instance ID. If you use this parameter, DescribeVolumes returns+-- descriptions of the volumes associated with the specified instance.+dvInstanceId :: Lens' DescribeVolumes (Maybe Text)+dvInstanceId = lens _dvInstanceId (\s a -> s { _dvInstanceId = a })++-- | The RAID array ID. If you use this parameter, DescribeVolumes returns+-- descriptions of the volumes associated with the specified RAID array.+dvRaidArrayId :: Lens' DescribeVolumes (Maybe Text)+dvRaidArrayId = lens _dvRaidArrayId (\s a -> s { _dvRaidArrayId = a })++-- | A stack ID. The action describes the stack's registered Amazon EBS+-- volumes.+dvStackId :: Lens' DescribeVolumes (Maybe Text)+dvStackId = lens _dvStackId (\s a -> s { _dvStackId = a })++-- | Am array of volume IDs. If you use this parameter, DescribeVolumes+-- returns descriptions of the specified volumes. Otherwise, it returns a+-- description of every volume.+dvVolumeIds :: Lens' DescribeVolumes [Text]+dvVolumeIds = lens _dvVolumeIds (\s a -> s { _dvVolumeIds = a }) . _List++newtype DescribeVolumesResponse = DescribeVolumesResponse+ { _dvrVolumes :: List "Volumes" Volume+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeVolumesResponse where+ type Item DescribeVolumesResponse = Volume++ fromList = DescribeVolumesResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dvrVolumes++-- | 'DescribeVolumesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dvrVolumes' @::@ ['Volume']+--+describeVolumesResponse :: DescribeVolumesResponse+describeVolumesResponse = DescribeVolumesResponse+ { _dvrVolumes = mempty+ }++-- | An array of volume IDs.+dvrVolumes :: Lens' DescribeVolumesResponse [Volume]+dvrVolumes = lens _dvrVolumes (\s a -> s { _dvrVolumes = a }) . _List++instance ToPath DescribeVolumes where+ toPath = const "/"++instance ToQuery DescribeVolumes where+ toQuery = const mempty++instance ToHeaders DescribeVolumes++instance ToJSON DescribeVolumes where+ toJSON DescribeVolumes{..} = object+ [ "InstanceId" .= _dvInstanceId+ , "StackId" .= _dvStackId+ , "RaidArrayId" .= _dvRaidArrayId+ , "VolumeIds" .= _dvVolumeIds+ ]++instance AWSRequest DescribeVolumes where+ type Sv DescribeVolumes = OpsWorks+ type Rs DescribeVolumes = DescribeVolumesResponse++ request = post "DescribeVolumes"+ response = jsonResponse++instance FromJSON DescribeVolumesResponse where+ parseJSON = withObject "DescribeVolumesResponse" $ \o -> DescribeVolumesResponse+ <$> o .: "Volumes"
+ gen/Network/AWS/OpsWorks/DetachElasticLoadBalancer.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DetachElasticLoadBalancer+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Detaches a specified Elastic Load Balancing instance from its layer.+-- Required Permissions: To use this action, an IAM user must have a Manage+-- permissions level for the stack, or an attached policy that explicitly+-- grants permissions. For more information on user permissions, see Managing+-- User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DetachElasticLoadBalancer.html>+module Network.AWS.OpsWorks.DetachElasticLoadBalancer+ (+ -- * Request+ DetachElasticLoadBalancer+ -- ** Request constructor+ , detachElasticLoadBalancer+ -- ** Request lenses+ , delbElasticLoadBalancerName+ , delbLayerId++ -- * Response+ , DetachElasticLoadBalancerResponse+ -- ** Response constructor+ , detachElasticLoadBalancerResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data DetachElasticLoadBalancer = DetachElasticLoadBalancer+ { _delbElasticLoadBalancerName :: Text+ , _delbLayerId :: Text+ } deriving (Eq, Ord, Show)++-- | 'DetachElasticLoadBalancer' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'delbElasticLoadBalancerName' @::@ 'Text'+--+-- * 'delbLayerId' @::@ 'Text'+--+detachElasticLoadBalancer :: Text -- ^ 'delbElasticLoadBalancerName'+ -> Text -- ^ 'delbLayerId'+ -> DetachElasticLoadBalancer+detachElasticLoadBalancer p1 p2 = DetachElasticLoadBalancer+ { _delbElasticLoadBalancerName = p1+ , _delbLayerId = p2+ }++-- | The Elastic Load Balancing instance's name.+delbElasticLoadBalancerName :: Lens' DetachElasticLoadBalancer Text+delbElasticLoadBalancerName =+ lens _delbElasticLoadBalancerName+ (\s a -> s { _delbElasticLoadBalancerName = a })++-- | The ID of the layer that the Elastic Load Balancing instance is attached+-- to.+delbLayerId :: Lens' DetachElasticLoadBalancer Text+delbLayerId = lens _delbLayerId (\s a -> s { _delbLayerId = a })++data DetachElasticLoadBalancerResponse = DetachElasticLoadBalancerResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'DetachElasticLoadBalancerResponse' constructor.+detachElasticLoadBalancerResponse :: DetachElasticLoadBalancerResponse+detachElasticLoadBalancerResponse = DetachElasticLoadBalancerResponse++instance ToPath DetachElasticLoadBalancer where+ toPath = const "/"++instance ToQuery DetachElasticLoadBalancer where+ toQuery = const mempty++instance ToHeaders DetachElasticLoadBalancer++instance ToJSON DetachElasticLoadBalancer where+ toJSON DetachElasticLoadBalancer{..} = object+ [ "ElasticLoadBalancerName" .= _delbElasticLoadBalancerName+ , "LayerId" .= _delbLayerId+ ]++instance AWSRequest DetachElasticLoadBalancer where+ type Sv DetachElasticLoadBalancer = OpsWorks+ type Rs DetachElasticLoadBalancer = DetachElasticLoadBalancerResponse++ request = post "DetachElasticLoadBalancer"+ response = nullResponse DetachElasticLoadBalancerResponse
+ gen/Network/AWS/OpsWorks/DisassociateElasticIp.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.DisassociateElasticIp+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Disassociates an Elastic IP address from its instance. The address remains+-- registered with the stack. For more information, see Resource Management.+-- Required Permissions: To use this action, an IAM user must have a Manage+-- permissions level for the stack, or an attached policy that explicitly+-- grants permissions. For more information on user permissions, see Managing+-- User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_DisassociateElasticIp.html>+module Network.AWS.OpsWorks.DisassociateElasticIp+ (+ -- * Request+ DisassociateElasticIp+ -- ** Request constructor+ , disassociateElasticIp+ -- ** Request lenses+ , deiElasticIp++ -- * Response+ , DisassociateElasticIpResponse+ -- ** Response constructor+ , disassociateElasticIpResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype DisassociateElasticIp = DisassociateElasticIp+ { _deiElasticIp :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DisassociateElasticIp' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'deiElasticIp' @::@ 'Text'+--+disassociateElasticIp :: Text -- ^ 'deiElasticIp'+ -> DisassociateElasticIp+disassociateElasticIp p1 = DisassociateElasticIp+ { _deiElasticIp = p1+ }++-- | The Elastic IP address.+deiElasticIp :: Lens' DisassociateElasticIp Text+deiElasticIp = lens _deiElasticIp (\s a -> s { _deiElasticIp = a })++data DisassociateElasticIpResponse = DisassociateElasticIpResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'DisassociateElasticIpResponse' constructor.+disassociateElasticIpResponse :: DisassociateElasticIpResponse+disassociateElasticIpResponse = DisassociateElasticIpResponse++instance ToPath DisassociateElasticIp where+ toPath = const "/"++instance ToQuery DisassociateElasticIp where+ toQuery = const mempty++instance ToHeaders DisassociateElasticIp++instance ToJSON DisassociateElasticIp where+ toJSON DisassociateElasticIp{..} = object+ [ "ElasticIp" .= _deiElasticIp+ ]++instance AWSRequest DisassociateElasticIp where+ type Sv DisassociateElasticIp = OpsWorks+ type Rs DisassociateElasticIp = DisassociateElasticIpResponse++ request = post "DisassociateElasticIp"+ response = nullResponse DisassociateElasticIpResponse
+ gen/Network/AWS/OpsWorks/GetHostnameSuggestion.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.GetHostnameSuggestion+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Gets a generated host name for the specified layer, based on the current+-- host name theme. Required Permissions: To use this action, an IAM user must+-- have a Manage permissions level for the stack, or an attached policy that+-- explicitly grants permissions. For more information on user permissions,+-- see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_GetHostnameSuggestion.html>+module Network.AWS.OpsWorks.GetHostnameSuggestion+ (+ -- * Request+ GetHostnameSuggestion+ -- ** Request constructor+ , getHostnameSuggestion+ -- ** Request lenses+ , ghsLayerId++ -- * Response+ , GetHostnameSuggestionResponse+ -- ** Response constructor+ , getHostnameSuggestionResponse+ -- ** Response lenses+ , ghsrHostname+ , ghsrLayerId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype GetHostnameSuggestion = GetHostnameSuggestion+ { _ghsLayerId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'GetHostnameSuggestion' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ghsLayerId' @::@ 'Text'+--+getHostnameSuggestion :: Text -- ^ 'ghsLayerId'+ -> GetHostnameSuggestion+getHostnameSuggestion p1 = GetHostnameSuggestion+ { _ghsLayerId = p1+ }++-- | The layer ID.+ghsLayerId :: Lens' GetHostnameSuggestion Text+ghsLayerId = lens _ghsLayerId (\s a -> s { _ghsLayerId = a })++data GetHostnameSuggestionResponse = GetHostnameSuggestionResponse+ { _ghsrHostname :: Maybe Text+ , _ghsrLayerId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'GetHostnameSuggestionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ghsrHostname' @::@ 'Maybe' 'Text'+--+-- * 'ghsrLayerId' @::@ 'Maybe' 'Text'+--+getHostnameSuggestionResponse :: GetHostnameSuggestionResponse+getHostnameSuggestionResponse = GetHostnameSuggestionResponse+ { _ghsrLayerId = Nothing+ , _ghsrHostname = Nothing+ }++-- | The generated host name.+ghsrHostname :: Lens' GetHostnameSuggestionResponse (Maybe Text)+ghsrHostname = lens _ghsrHostname (\s a -> s { _ghsrHostname = a })++-- | The layer ID.+ghsrLayerId :: Lens' GetHostnameSuggestionResponse (Maybe Text)+ghsrLayerId = lens _ghsrLayerId (\s a -> s { _ghsrLayerId = a })++instance ToPath GetHostnameSuggestion where+ toPath = const "/"++instance ToQuery GetHostnameSuggestion where+ toQuery = const mempty++instance ToHeaders GetHostnameSuggestion++instance ToJSON GetHostnameSuggestion where+ toJSON GetHostnameSuggestion{..} = object+ [ "LayerId" .= _ghsLayerId+ ]++instance AWSRequest GetHostnameSuggestion where+ type Sv GetHostnameSuggestion = OpsWorks+ type Rs GetHostnameSuggestion = GetHostnameSuggestionResponse++ request = post "GetHostnameSuggestion"+ response = jsonResponse++instance FromJSON GetHostnameSuggestionResponse where+ parseJSON = withObject "GetHostnameSuggestionResponse" $ \o -> GetHostnameSuggestionResponse+ <$> o .:? "Hostname"+ <*> o .:? "LayerId"
+ gen/Network/AWS/OpsWorks/RebootInstance.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.RebootInstance+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Reboots a specified instance. For more information, see Starting, Stopping,+-- and Rebooting Instances. Required Permissions: To use this action, an IAM+-- user must have a Manage permissions level for the stack, or an attached+-- policy that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_RebootInstance.html>+module Network.AWS.OpsWorks.RebootInstance+ (+ -- * Request+ RebootInstance+ -- ** Request constructor+ , rebootInstance+ -- ** Request lenses+ , riInstanceId++ -- * Response+ , RebootInstanceResponse+ -- ** Response constructor+ , rebootInstanceResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype RebootInstance = RebootInstance+ { _riInstanceId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'RebootInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'riInstanceId' @::@ 'Text'+--+rebootInstance :: Text -- ^ 'riInstanceId'+ -> RebootInstance+rebootInstance p1 = RebootInstance+ { _riInstanceId = p1+ }++-- | The instance ID.+riInstanceId :: Lens' RebootInstance Text+riInstanceId = lens _riInstanceId (\s a -> s { _riInstanceId = a })++data RebootInstanceResponse = RebootInstanceResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'RebootInstanceResponse' constructor.+rebootInstanceResponse :: RebootInstanceResponse+rebootInstanceResponse = RebootInstanceResponse++instance ToPath RebootInstance where+ toPath = const "/"++instance ToQuery RebootInstance where+ toQuery = const mempty++instance ToHeaders RebootInstance++instance ToJSON RebootInstance where+ toJSON RebootInstance{..} = object+ [ "InstanceId" .= _riInstanceId+ ]++instance AWSRequest RebootInstance where+ type Sv RebootInstance = OpsWorks+ type Rs RebootInstance = RebootInstanceResponse++ request = post "RebootInstance"+ response = nullResponse RebootInstanceResponse
+ gen/Network/AWS/OpsWorks/RegisterElasticIp.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.RegisterElasticIp+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Registers an Elastic IP address with a specified stack. An address can be+-- registered with only one stack at a time. If the address is already+-- registered, you must first deregister it by calling DeregisterElasticIp.+-- For more information, see Resource Management. Required Permissions: To use+-- this action, an IAM user must have a Manage permissions level for the+-- stack, or an attached policy that explicitly grants permissions. For more+-- information on user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_RegisterElasticIp.html>+module Network.AWS.OpsWorks.RegisterElasticIp+ (+ -- * Request+ RegisterElasticIp+ -- ** Request constructor+ , registerElasticIp+ -- ** Request lenses+ , reiElasticIp+ , reiStackId++ -- * Response+ , RegisterElasticIpResponse+ -- ** Response constructor+ , registerElasticIpResponse+ -- ** Response lenses+ , reirElasticIp+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data RegisterElasticIp = RegisterElasticIp+ { _reiElasticIp :: Text+ , _reiStackId :: Text+ } deriving (Eq, Ord, Show)++-- | 'RegisterElasticIp' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'reiElasticIp' @::@ 'Text'+--+-- * 'reiStackId' @::@ 'Text'+--+registerElasticIp :: Text -- ^ 'reiElasticIp'+ -> Text -- ^ 'reiStackId'+ -> RegisterElasticIp+registerElasticIp p1 p2 = RegisterElasticIp+ { _reiElasticIp = p1+ , _reiStackId = p2+ }++-- | The Elastic IP address.+reiElasticIp :: Lens' RegisterElasticIp Text+reiElasticIp = lens _reiElasticIp (\s a -> s { _reiElasticIp = a })++-- | The stack ID.+reiStackId :: Lens' RegisterElasticIp Text+reiStackId = lens _reiStackId (\s a -> s { _reiStackId = a })++newtype RegisterElasticIpResponse = RegisterElasticIpResponse+ { _reirElasticIp :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'RegisterElasticIpResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'reirElasticIp' @::@ 'Maybe' 'Text'+--+registerElasticIpResponse :: RegisterElasticIpResponse+registerElasticIpResponse = RegisterElasticIpResponse+ { _reirElasticIp = Nothing+ }++-- | The Elastic IP address.+reirElasticIp :: Lens' RegisterElasticIpResponse (Maybe Text)+reirElasticIp = lens _reirElasticIp (\s a -> s { _reirElasticIp = a })++instance ToPath RegisterElasticIp where+ toPath = const "/"++instance ToQuery RegisterElasticIp where+ toQuery = const mempty++instance ToHeaders RegisterElasticIp++instance ToJSON RegisterElasticIp where+ toJSON RegisterElasticIp{..} = object+ [ "ElasticIp" .= _reiElasticIp+ , "StackId" .= _reiStackId+ ]++instance AWSRequest RegisterElasticIp where+ type Sv RegisterElasticIp = OpsWorks+ type Rs RegisterElasticIp = RegisterElasticIpResponse++ request = post "RegisterElasticIp"+ response = jsonResponse++instance FromJSON RegisterElasticIpResponse where+ parseJSON = withObject "RegisterElasticIpResponse" $ \o -> RegisterElasticIpResponse+ <$> o .:? "ElasticIp"
+ gen/Network/AWS/OpsWorks/RegisterRdsDbInstance.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.RegisterRdsDbInstance+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Registers an Amazon RDS instance with a stack.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_RegisterRdsDbInstance.html>+module Network.AWS.OpsWorks.RegisterRdsDbInstance+ (+ -- * Request+ RegisterRdsDbInstance+ -- ** Request constructor+ , registerRdsDbInstance+ -- ** Request lenses+ , rrdiDbPassword+ , rrdiDbUser+ , rrdiRdsDbInstanceArn+ , rrdiStackId++ -- * Response+ , RegisterRdsDbInstanceResponse+ -- ** Response constructor+ , registerRdsDbInstanceResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data RegisterRdsDbInstance = RegisterRdsDbInstance+ { _rrdiDbPassword :: Text+ , _rrdiDbUser :: Text+ , _rrdiRdsDbInstanceArn :: Text+ , _rrdiStackId :: Text+ } deriving (Eq, Ord, Show)++-- | 'RegisterRdsDbInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rrdiDbPassword' @::@ 'Text'+--+-- * 'rrdiDbUser' @::@ 'Text'+--+-- * 'rrdiRdsDbInstanceArn' @::@ 'Text'+--+-- * 'rrdiStackId' @::@ 'Text'+--+registerRdsDbInstance :: Text -- ^ 'rrdiStackId'+ -> Text -- ^ 'rrdiRdsDbInstanceArn'+ -> Text -- ^ 'rrdiDbUser'+ -> Text -- ^ 'rrdiDbPassword'+ -> RegisterRdsDbInstance+registerRdsDbInstance p1 p2 p3 p4 = RegisterRdsDbInstance+ { _rrdiStackId = p1+ , _rrdiRdsDbInstanceArn = p2+ , _rrdiDbUser = p3+ , _rrdiDbPassword = p4+ }++-- | The database password.+rrdiDbPassword :: Lens' RegisterRdsDbInstance Text+rrdiDbPassword = lens _rrdiDbPassword (\s a -> s { _rrdiDbPassword = a })++-- | The database's master user name.+rrdiDbUser :: Lens' RegisterRdsDbInstance Text+rrdiDbUser = lens _rrdiDbUser (\s a -> s { _rrdiDbUser = a })++-- | The Amazon RDS instance's ARN.+rrdiRdsDbInstanceArn :: Lens' RegisterRdsDbInstance Text+rrdiRdsDbInstanceArn =+ lens _rrdiRdsDbInstanceArn (\s a -> s { _rrdiRdsDbInstanceArn = a })++-- | The stack ID.+rrdiStackId :: Lens' RegisterRdsDbInstance Text+rrdiStackId = lens _rrdiStackId (\s a -> s { _rrdiStackId = a })++data RegisterRdsDbInstanceResponse = RegisterRdsDbInstanceResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'RegisterRdsDbInstanceResponse' constructor.+registerRdsDbInstanceResponse :: RegisterRdsDbInstanceResponse+registerRdsDbInstanceResponse = RegisterRdsDbInstanceResponse++instance ToPath RegisterRdsDbInstance where+ toPath = const "/"++instance ToQuery RegisterRdsDbInstance where+ toQuery = const mempty++instance ToHeaders RegisterRdsDbInstance++instance ToJSON RegisterRdsDbInstance where+ toJSON RegisterRdsDbInstance{..} = object+ [ "StackId" .= _rrdiStackId+ , "RdsDbInstanceArn" .= _rrdiRdsDbInstanceArn+ , "DbUser" .= _rrdiDbUser+ , "DbPassword" .= _rrdiDbPassword+ ]++instance AWSRequest RegisterRdsDbInstance where+ type Sv RegisterRdsDbInstance = OpsWorks+ type Rs RegisterRdsDbInstance = RegisterRdsDbInstanceResponse++ request = post "RegisterRdsDbInstance"+ response = nullResponse RegisterRdsDbInstanceResponse
+ gen/Network/AWS/OpsWorks/RegisterVolume.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.RegisterVolume+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Registers an Amazon EBS volume with a specified stack. A volume can be+-- registered with only one stack at a time. If the volume is already+-- registered, you must first deregister it by calling DeregisterVolume. For+-- more information, see Resource Management. Required Permissions: To use+-- this action, an IAM user must have a Manage permissions level for the+-- stack, or an attached policy that explicitly grants permissions. For more+-- information on user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_RegisterVolume.html>+module Network.AWS.OpsWorks.RegisterVolume+ (+ -- * Request+ RegisterVolume+ -- ** Request constructor+ , registerVolume+ -- ** Request lenses+ , rvEc2VolumeId+ , rvStackId++ -- * Response+ , RegisterVolumeResponse+ -- ** Response constructor+ , registerVolumeResponse+ -- ** Response lenses+ , rvrVolumeId+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data RegisterVolume = RegisterVolume+ { _rvEc2VolumeId :: Maybe Text+ , _rvStackId :: Text+ } deriving (Eq, Ord, Show)++-- | 'RegisterVolume' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rvEc2VolumeId' @::@ 'Maybe' 'Text'+--+-- * 'rvStackId' @::@ 'Text'+--+registerVolume :: Text -- ^ 'rvStackId'+ -> RegisterVolume+registerVolume p1 = RegisterVolume+ { _rvStackId = p1+ , _rvEc2VolumeId = Nothing+ }++-- | The Amazon EBS volume ID.+rvEc2VolumeId :: Lens' RegisterVolume (Maybe Text)+rvEc2VolumeId = lens _rvEc2VolumeId (\s a -> s { _rvEc2VolumeId = a })++-- | The stack ID.+rvStackId :: Lens' RegisterVolume Text+rvStackId = lens _rvStackId (\s a -> s { _rvStackId = a })++newtype RegisterVolumeResponse = RegisterVolumeResponse+ { _rvrVolumeId :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'RegisterVolumeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rvrVolumeId' @::@ 'Maybe' 'Text'+--+registerVolumeResponse :: RegisterVolumeResponse+registerVolumeResponse = RegisterVolumeResponse+ { _rvrVolumeId = Nothing+ }++-- | The volume ID.+rvrVolumeId :: Lens' RegisterVolumeResponse (Maybe Text)+rvrVolumeId = lens _rvrVolumeId (\s a -> s { _rvrVolumeId = a })++instance ToPath RegisterVolume where+ toPath = const "/"++instance ToQuery RegisterVolume where+ toQuery = const mempty++instance ToHeaders RegisterVolume++instance ToJSON RegisterVolume where+ toJSON RegisterVolume{..} = object+ [ "Ec2VolumeId" .= _rvEc2VolumeId+ , "StackId" .= _rvStackId+ ]++instance AWSRequest RegisterVolume where+ type Sv RegisterVolume = OpsWorks+ type Rs RegisterVolume = RegisterVolumeResponse++ request = post "RegisterVolume"+ response = jsonResponse++instance FromJSON RegisterVolumeResponse where+ parseJSON = withObject "RegisterVolumeResponse" $ \o -> RegisterVolumeResponse+ <$> o .:? "VolumeId"
+ gen/Network/AWS/OpsWorks/SetLoadBasedAutoScaling.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.SetLoadBasedAutoScaling+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Specify the load-based auto scaling configuration for a specified layer.+-- For more information, see Managing Load with Time-based and Load-based+-- Instances. Required Permissions: To use this action, an IAM user must have+-- a Manage permissions level for the stack, or an attached policy that+-- explicitly grants permissions. For more information on user permissions,+-- see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_SetLoadBasedAutoScaling.html>+module Network.AWS.OpsWorks.SetLoadBasedAutoScaling+ (+ -- * Request+ SetLoadBasedAutoScaling+ -- ** Request constructor+ , setLoadBasedAutoScaling+ -- ** Request lenses+ , slbasDownScaling+ , slbasEnable+ , slbasLayerId+ , slbasUpScaling++ -- * Response+ , SetLoadBasedAutoScalingResponse+ -- ** Response constructor+ , setLoadBasedAutoScalingResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data SetLoadBasedAutoScaling = SetLoadBasedAutoScaling+ { _slbasDownScaling :: Maybe AutoScalingThresholds+ , _slbasEnable :: Maybe Bool+ , _slbasLayerId :: Text+ , _slbasUpScaling :: Maybe AutoScalingThresholds+ } deriving (Eq, Show)++-- | 'SetLoadBasedAutoScaling' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'slbasDownScaling' @::@ 'Maybe' 'AutoScalingThresholds'+--+-- * 'slbasEnable' @::@ 'Maybe' 'Bool'+--+-- * 'slbasLayerId' @::@ 'Text'+--+-- * 'slbasUpScaling' @::@ 'Maybe' 'AutoScalingThresholds'+--+setLoadBasedAutoScaling :: Text -- ^ 'slbasLayerId'+ -> SetLoadBasedAutoScaling+setLoadBasedAutoScaling p1 = SetLoadBasedAutoScaling+ { _slbasLayerId = p1+ , _slbasEnable = Nothing+ , _slbasUpScaling = Nothing+ , _slbasDownScaling = Nothing+ }++-- | An AutoScalingThresholds object with the downscaling threshold+-- configuration. If the load falls below these thresholds for a specified+-- amount of time, AWS OpsWorks stops a specified number of instances.+slbasDownScaling :: Lens' SetLoadBasedAutoScaling (Maybe AutoScalingThresholds)+slbasDownScaling = lens _slbasDownScaling (\s a -> s { _slbasDownScaling = a })++-- | Enables load-based auto scaling for the layer.+slbasEnable :: Lens' SetLoadBasedAutoScaling (Maybe Bool)+slbasEnable = lens _slbasEnable (\s a -> s { _slbasEnable = a })++-- | The layer ID.+slbasLayerId :: Lens' SetLoadBasedAutoScaling Text+slbasLayerId = lens _slbasLayerId (\s a -> s { _slbasLayerId = a })++-- | An AutoScalingThresholds object with the upscaling threshold+-- configuration. If the load exceeds these thresholds for a specified+-- amount of time, AWS OpsWorks starts a specified number of instances.+slbasUpScaling :: Lens' SetLoadBasedAutoScaling (Maybe AutoScalingThresholds)+slbasUpScaling = lens _slbasUpScaling (\s a -> s { _slbasUpScaling = a })++data SetLoadBasedAutoScalingResponse = SetLoadBasedAutoScalingResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'SetLoadBasedAutoScalingResponse' constructor.+setLoadBasedAutoScalingResponse :: SetLoadBasedAutoScalingResponse+setLoadBasedAutoScalingResponse = SetLoadBasedAutoScalingResponse++instance ToPath SetLoadBasedAutoScaling where+ toPath = const "/"++instance ToQuery SetLoadBasedAutoScaling where+ toQuery = const mempty++instance ToHeaders SetLoadBasedAutoScaling++instance ToJSON SetLoadBasedAutoScaling where+ toJSON SetLoadBasedAutoScaling{..} = object+ [ "LayerId" .= _slbasLayerId+ , "Enable" .= _slbasEnable+ , "UpScaling" .= _slbasUpScaling+ , "DownScaling" .= _slbasDownScaling+ ]++instance AWSRequest SetLoadBasedAutoScaling where+ type Sv SetLoadBasedAutoScaling = OpsWorks+ type Rs SetLoadBasedAutoScaling = SetLoadBasedAutoScalingResponse++ request = post "SetLoadBasedAutoScaling"+ response = nullResponse SetLoadBasedAutoScalingResponse
+ gen/Network/AWS/OpsWorks/SetPermission.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.SetPermission+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Specifies a user's permissions. For more information, see Security and+-- Permissions. Required Permissions: To use this action, an IAM user must+-- have a Manage permissions level for the stack, or an attached policy that+-- explicitly grants permissions. For more information on user permissions,+-- see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_SetPermission.html>+module Network.AWS.OpsWorks.SetPermission+ (+ -- * Request+ SetPermission+ -- ** Request constructor+ , setPermission+ -- ** Request lenses+ , spAllowSsh+ , spAllowSudo+ , spIamUserArn+ , spLevel+ , spStackId++ -- * Response+ , SetPermissionResponse+ -- ** Response constructor+ , setPermissionResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data SetPermission = SetPermission+ { _spAllowSsh :: Maybe Bool+ , _spAllowSudo :: Maybe Bool+ , _spIamUserArn :: Text+ , _spLevel :: Maybe Text+ , _spStackId :: Text+ } deriving (Eq, Ord, Show)++-- | 'SetPermission' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'spAllowSsh' @::@ 'Maybe' 'Bool'+--+-- * 'spAllowSudo' @::@ 'Maybe' 'Bool'+--+-- * 'spIamUserArn' @::@ 'Text'+--+-- * 'spLevel' @::@ 'Maybe' 'Text'+--+-- * 'spStackId' @::@ 'Text'+--+setPermission :: Text -- ^ 'spStackId'+ -> Text -- ^ 'spIamUserArn'+ -> SetPermission+setPermission p1 p2 = SetPermission+ { _spStackId = p1+ , _spIamUserArn = p2+ , _spAllowSsh = Nothing+ , _spAllowSudo = Nothing+ , _spLevel = Nothing+ }++-- | The user is allowed to use SSH to communicate with the instance.+spAllowSsh :: Lens' SetPermission (Maybe Bool)+spAllowSsh = lens _spAllowSsh (\s a -> s { _spAllowSsh = a })++-- | The user is allowed to use sudo to elevate privileges.+spAllowSudo :: Lens' SetPermission (Maybe Bool)+spAllowSudo = lens _spAllowSudo (\s a -> s { _spAllowSudo = a })++-- | The user's IAM ARN.+spIamUserArn :: Lens' SetPermission Text+spIamUserArn = lens _spIamUserArn (\s a -> s { _spIamUserArn = a })++-- | The user's permission level, which must be set to one of the following+-- strings. You cannot set your own permissions level. deny show deploy+-- manage iam_only For more information on the permissions associated with+-- these levels, see Managing User Permissions.+spLevel :: Lens' SetPermission (Maybe Text)+spLevel = lens _spLevel (\s a -> s { _spLevel = a })++-- | The stack ID.+spStackId :: Lens' SetPermission Text+spStackId = lens _spStackId (\s a -> s { _spStackId = a })++data SetPermissionResponse = SetPermissionResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'SetPermissionResponse' constructor.+setPermissionResponse :: SetPermissionResponse+setPermissionResponse = SetPermissionResponse++instance ToPath SetPermission where+ toPath = const "/"++instance ToQuery SetPermission where+ toQuery = const mempty++instance ToHeaders SetPermission++instance ToJSON SetPermission where+ toJSON SetPermission{..} = object+ [ "StackId" .= _spStackId+ , "IamUserArn" .= _spIamUserArn+ , "AllowSsh" .= _spAllowSsh+ , "AllowSudo" .= _spAllowSudo+ , "Level" .= _spLevel+ ]++instance AWSRequest SetPermission where+ type Sv SetPermission = OpsWorks+ type Rs SetPermission = SetPermissionResponse++ request = post "SetPermission"+ response = nullResponse SetPermissionResponse
+ gen/Network/AWS/OpsWorks/SetTimeBasedAutoScaling.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.SetTimeBasedAutoScaling+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Specify the time-based auto scaling configuration for a specified instance.+-- For more information, see Managing Load with Time-based and Load-based+-- Instances. Required Permissions: To use this action, an IAM user must have+-- a Manage permissions level for the stack, or an attached policy that+-- explicitly grants permissions. For more information on user permissions,+-- see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_SetTimeBasedAutoScaling.html>+module Network.AWS.OpsWorks.SetTimeBasedAutoScaling+ (+ -- * Request+ SetTimeBasedAutoScaling+ -- ** Request constructor+ , setTimeBasedAutoScaling+ -- ** Request lenses+ , stbasAutoScalingSchedule+ , stbasInstanceId++ -- * Response+ , SetTimeBasedAutoScalingResponse+ -- ** Response constructor+ , setTimeBasedAutoScalingResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data SetTimeBasedAutoScaling = SetTimeBasedAutoScaling+ { _stbasAutoScalingSchedule :: Maybe WeeklyAutoScalingSchedule+ , _stbasInstanceId :: Text+ } deriving (Eq, Show)++-- | 'SetTimeBasedAutoScaling' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'stbasAutoScalingSchedule' @::@ 'Maybe' 'WeeklyAutoScalingSchedule'+--+-- * 'stbasInstanceId' @::@ 'Text'+--+setTimeBasedAutoScaling :: Text -- ^ 'stbasInstanceId'+ -> SetTimeBasedAutoScaling+setTimeBasedAutoScaling p1 = SetTimeBasedAutoScaling+ { _stbasInstanceId = p1+ , _stbasAutoScalingSchedule = Nothing+ }++-- | An AutoScalingSchedule with the instance schedule.+stbasAutoScalingSchedule :: Lens' SetTimeBasedAutoScaling (Maybe WeeklyAutoScalingSchedule)+stbasAutoScalingSchedule =+ lens _stbasAutoScalingSchedule+ (\s a -> s { _stbasAutoScalingSchedule = a })++-- | The instance ID.+stbasInstanceId :: Lens' SetTimeBasedAutoScaling Text+stbasInstanceId = lens _stbasInstanceId (\s a -> s { _stbasInstanceId = a })++data SetTimeBasedAutoScalingResponse = SetTimeBasedAutoScalingResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'SetTimeBasedAutoScalingResponse' constructor.+setTimeBasedAutoScalingResponse :: SetTimeBasedAutoScalingResponse+setTimeBasedAutoScalingResponse = SetTimeBasedAutoScalingResponse++instance ToPath SetTimeBasedAutoScaling where+ toPath = const "/"++instance ToQuery SetTimeBasedAutoScaling where+ toQuery = const mempty++instance ToHeaders SetTimeBasedAutoScaling++instance ToJSON SetTimeBasedAutoScaling where+ toJSON SetTimeBasedAutoScaling{..} = object+ [ "InstanceId" .= _stbasInstanceId+ , "AutoScalingSchedule" .= _stbasAutoScalingSchedule+ ]++instance AWSRequest SetTimeBasedAutoScaling where+ type Sv SetTimeBasedAutoScaling = OpsWorks+ type Rs SetTimeBasedAutoScaling = SetTimeBasedAutoScalingResponse++ request = post "SetTimeBasedAutoScaling"+ response = nullResponse SetTimeBasedAutoScalingResponse
+ gen/Network/AWS/OpsWorks/StartInstance.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.StartInstance+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Starts a specified instance. For more information, see Starting, Stopping,+-- and Rebooting Instances. Required Permissions: To use this action, an IAM+-- user must have a Manage permissions level for the stack, or an attached+-- policy that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_StartInstance.html>+module Network.AWS.OpsWorks.StartInstance+ (+ -- * Request+ StartInstance+ -- ** Request constructor+ , startInstance+ -- ** Request lenses+ , si1InstanceId++ -- * Response+ , StartInstanceResponse+ -- ** Response constructor+ , startInstanceResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype StartInstance = StartInstance+ { _si1InstanceId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'StartInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'si1InstanceId' @::@ 'Text'+--+startInstance :: Text -- ^ 'si1InstanceId'+ -> StartInstance+startInstance p1 = StartInstance+ { _si1InstanceId = p1+ }++-- | The instance ID.+si1InstanceId :: Lens' StartInstance Text+si1InstanceId = lens _si1InstanceId (\s a -> s { _si1InstanceId = a })++data StartInstanceResponse = StartInstanceResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'StartInstanceResponse' constructor.+startInstanceResponse :: StartInstanceResponse+startInstanceResponse = StartInstanceResponse++instance ToPath StartInstance where+ toPath = const "/"++instance ToQuery StartInstance where+ toQuery = const mempty++instance ToHeaders StartInstance++instance ToJSON StartInstance where+ toJSON StartInstance{..} = object+ [ "InstanceId" .= _si1InstanceId+ ]++instance AWSRequest StartInstance where+ type Sv StartInstance = OpsWorks+ type Rs StartInstance = StartInstanceResponse++ request = post "StartInstance"+ response = nullResponse StartInstanceResponse
+ gen/Network/AWS/OpsWorks/StartStack.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.StartStack+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Starts a stack's instances. Required Permissions: To use this action, an+-- IAM user must have a Manage permissions level for the stack, or an attached+-- policy that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_StartStack.html>+module Network.AWS.OpsWorks.StartStack+ (+ -- * Request+ StartStack+ -- ** Request constructor+ , startStack+ -- ** Request lenses+ , ss2StackId++ -- * Response+ , StartStackResponse+ -- ** Response constructor+ , startStackResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype StartStack = StartStack+ { _ss2StackId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'StartStack' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ss2StackId' @::@ 'Text'+--+startStack :: Text -- ^ 'ss2StackId'+ -> StartStack+startStack p1 = StartStack+ { _ss2StackId = p1+ }++-- | The stack ID.+ss2StackId :: Lens' StartStack Text+ss2StackId = lens _ss2StackId (\s a -> s { _ss2StackId = a })++data StartStackResponse = StartStackResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'StartStackResponse' constructor.+startStackResponse :: StartStackResponse+startStackResponse = StartStackResponse++instance ToPath StartStack where+ toPath = const "/"++instance ToQuery StartStack where+ toQuery = const mempty++instance ToHeaders StartStack++instance ToJSON StartStack where+ toJSON StartStack{..} = object+ [ "StackId" .= _ss2StackId+ ]++instance AWSRequest StartStack where+ type Sv StartStack = OpsWorks+ type Rs StartStack = StartStackResponse++ request = post "StartStack"+ response = nullResponse StartStackResponse
+ gen/Network/AWS/OpsWorks/StopInstance.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.StopInstance+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Stops a specified instance. When you stop a standard instance, the data+-- disappears and must be reinstalled when you restart the instance. You can+-- stop an Amazon EBS-backed instance without losing data. For more+-- information, see Starting, Stopping, and Rebooting Instances. Required+-- Permissions: To use this action, an IAM user must have a Manage permissions+-- level for the stack, or an attached policy that explicitly grants+-- permissions. For more information on user permissions, see Managing User+-- Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_StopInstance.html>+module Network.AWS.OpsWorks.StopInstance+ (+ -- * Request+ StopInstance+ -- ** Request constructor+ , stopInstance+ -- ** Request lenses+ , siInstanceId++ -- * Response+ , StopInstanceResponse+ -- ** Response constructor+ , stopInstanceResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype StopInstance = StopInstance+ { _siInstanceId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'StopInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'siInstanceId' @::@ 'Text'+--+stopInstance :: Text -- ^ 'siInstanceId'+ -> StopInstance+stopInstance p1 = StopInstance+ { _siInstanceId = p1+ }++-- | The instance ID.+siInstanceId :: Lens' StopInstance Text+siInstanceId = lens _siInstanceId (\s a -> s { _siInstanceId = a })++data StopInstanceResponse = StopInstanceResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'StopInstanceResponse' constructor.+stopInstanceResponse :: StopInstanceResponse+stopInstanceResponse = StopInstanceResponse++instance ToPath StopInstance where+ toPath = const "/"++instance ToQuery StopInstance where+ toQuery = const mempty++instance ToHeaders StopInstance++instance ToJSON StopInstance where+ toJSON StopInstance{..} = object+ [ "InstanceId" .= _siInstanceId+ ]++instance AWSRequest StopInstance where+ type Sv StopInstance = OpsWorks+ type Rs StopInstance = StopInstanceResponse++ request = post "StopInstance"+ response = nullResponse StopInstanceResponse
+ gen/Network/AWS/OpsWorks/StopStack.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.StopStack+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Stops a specified stack. Required Permissions: To use this action, an IAM+-- user must have a Manage permissions level for the stack, or an attached+-- policy that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_StopStack.html>+module Network.AWS.OpsWorks.StopStack+ (+ -- * Request+ StopStack+ -- ** Request constructor+ , stopStack+ -- ** Request lenses+ , ss1StackId++ -- * Response+ , StopStackResponse+ -- ** Response constructor+ , stopStackResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype StopStack = StopStack+ { _ss1StackId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'StopStack' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ss1StackId' @::@ 'Text'+--+stopStack :: Text -- ^ 'ss1StackId'+ -> StopStack+stopStack p1 = StopStack+ { _ss1StackId = p1+ }++-- | The stack ID.+ss1StackId :: Lens' StopStack Text+ss1StackId = lens _ss1StackId (\s a -> s { _ss1StackId = a })++data StopStackResponse = StopStackResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'StopStackResponse' constructor.+stopStackResponse :: StopStackResponse+stopStackResponse = StopStackResponse++instance ToPath StopStack where+ toPath = const "/"++instance ToQuery StopStack where+ toQuery = const mempty++instance ToHeaders StopStack++instance ToJSON StopStack where+ toJSON StopStack{..} = object+ [ "StackId" .= _ss1StackId+ ]++instance AWSRequest StopStack where+ type Sv StopStack = OpsWorks+ type Rs StopStack = StopStackResponse++ request = post "StopStack"+ response = nullResponse StopStackResponse
+ gen/Network/AWS/OpsWorks/Types.hs view
@@ -0,0 +1,3889 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.Types+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++module Network.AWS.OpsWorks.Types+ (+ -- * Service+ OpsWorks+ -- ** Error+ , JSONError++ -- * SslConfiguration+ , SslConfiguration+ , sslConfiguration+ , scCertificate+ , scChain+ , scPrivateKey++ -- * Command+ , Command+ , command+ , cAcknowledgedAt+ , cCommandId+ , cCompletedAt+ , cCreatedAt+ , cDeploymentId+ , cExitCode+ , cInstanceId+ , cLogUrl+ , cStatus+ , cType++ -- * RaidArray+ , RaidArray+ , raidArray+ , raAvailabilityZone+ , raCreatedAt+ , raDevice+ , raInstanceId+ , raIops+ , raMountPoint+ , raName+ , raNumberOfDisks+ , raRaidArrayId+ , raRaidLevel+ , raSize+ , raVolumeType++ -- * ElasticLoadBalancer+ , ElasticLoadBalancer+ , elasticLoadBalancer+ , elbAvailabilityZones+ , elbDnsName+ , elbEc2InstanceIds+ , elbElasticLoadBalancerName+ , elbLayerId+ , elbRegion+ , elbStackId+ , elbSubnetIds+ , elbVpcId++ -- * RdsDbInstance+ , RdsDbInstance+ , rdsDbInstance+ , rdiAddress+ , rdiDbInstanceIdentifier+ , rdiDbPassword+ , rdiDbUser+ , rdiEngine+ , rdiMissingOnRds+ , rdiRdsDbInstanceArn+ , rdiRegion+ , rdiStackId++ -- * AppAttributesKeys+ , AppAttributesKeys (..)++ -- * ServiceError'+ , ServiceError'+ , serviceError'+ , seCreatedAt+ , seInstanceId+ , seMessage+ , seServiceErrorId+ , seStackId+ , seType++ -- * StackSummary+ , StackSummary+ , stackSummary+ , ssAppsCount+ , ssArn+ , ssInstancesCount+ , ssLayersCount+ , ssName+ , ssStackId++ -- * StackAttributesKeys+ , StackAttributesKeys (..)++ -- * LoadBasedAutoScalingConfiguration+ , LoadBasedAutoScalingConfiguration+ , loadBasedAutoScalingConfiguration+ , lbascDownScaling+ , lbascEnable+ , lbascLayerId+ , lbascUpScaling++ -- * SourceType+ , SourceType (..)++ -- * Volume+ , Volume+ , volume+ , vAvailabilityZone+ , vDevice+ , vEc2VolumeId+ , vInstanceId+ , vIops+ , vMountPoint+ , vName+ , vRaidArrayId+ , vRegion+ , vSize+ , vStatus+ , vVolumeId+ , vVolumeType++ -- * ChefConfiguration+ , ChefConfiguration+ , chefConfiguration+ , ccBerkshelfVersion+ , ccManageBerkshelf++ -- * LayerType+ , LayerType (..)++ -- * AutoScalingThresholds+ , AutoScalingThresholds+ , autoScalingThresholds+ , astCpuThreshold+ , astIgnoreMetricsTime+ , astInstanceCount+ , astLoadThreshold+ , astMemoryThreshold+ , astThresholdsWaitTime++ -- * App+ , App+ , app+ , appAppId+ , appAppSource+ , appAttributes+ , appCreatedAt+ , appDataSources+ , appDescription+ , appDomains+ , appEnableSsl+ , appName+ , appShortname+ , appSslConfiguration+ , appStackId+ , appType++ -- * ElasticIp+ , ElasticIp+ , elasticIp+ , eiDomain+ , eiInstanceId+ , eiIp+ , eiName+ , eiRegion++ -- * UserProfile+ , UserProfile+ , userProfile+ , upAllowSelfManagement+ , upIamUserArn+ , upName+ , upSshPublicKey+ , upSshUsername++ -- * AutoScalingType+ , AutoScalingType (..)++ -- * Source+ , Source+ , source+ , sPassword+ , sRevision+ , sSshKey+ , sType+ , sUrl+ , sUsername++ -- * DataSource+ , DataSource+ , dataSource+ , dsArn+ , dsDatabaseName+ , dsType++ -- * Architecture+ , Architecture (..)++ -- * StackConfigurationManager+ , StackConfigurationManager+ , stackConfigurationManager+ , scmName+ , scmVersion++ -- * LayerAttributesKeys+ , LayerAttributesKeys (..)++ -- * VolumeConfiguration+ , VolumeConfiguration+ , volumeConfiguration+ , vcIops+ , vcMountPoint+ , vcNumberOfDisks+ , vcRaidLevel+ , vcSize+ , vcVolumeType++ -- * Permission+ , Permission+ , permission+ , pAllowSsh+ , pAllowSudo+ , pIamUserArn+ , pLevel+ , pStackId++ -- * Layer+ , Layer+ , layer+ , lAttributes+ , lAutoAssignElasticIps+ , lAutoAssignPublicIps+ , lCreatedAt+ , lCustomInstanceProfileArn+ , lCustomRecipes+ , lCustomSecurityGroupIds+ , lDefaultRecipes+ , lDefaultSecurityGroupNames+ , lEnableAutoHealing+ , lInstallUpdatesOnBoot+ , lLayerId+ , lName+ , lPackages+ , lShortname+ , lStackId+ , lType+ , lUseEbsOptimizedInstances+ , lVolumeConfigurations++ -- * Recipes+ , Recipes+ , recipes+ , rConfigure+ , rDeploy+ , rSetup+ , rShutdown+ , rUndeploy++ -- * TimeBasedAutoScalingConfiguration+ , TimeBasedAutoScalingConfiguration+ , timeBasedAutoScalingConfiguration+ , tbascAutoScalingSchedule+ , tbascInstanceId++ -- * SelfUserProfile+ , SelfUserProfile+ , selfUserProfile+ , supIamUserArn+ , supName+ , supSshPublicKey+ , supSshUsername++ -- * RootDeviceType+ , RootDeviceType (..)++ -- * Stack+ , Stack+ , stack+ , sArn+ , sAttributes+ , sChefConfiguration+ , sConfigurationManager+ , sCreatedAt+ , sCustomCookbooksSource+ , sCustomJson+ , sDefaultAvailabilityZone+ , sDefaultInstanceProfileArn+ , sDefaultOs+ , sDefaultRootDeviceType+ , sDefaultSshKeyName+ , sDefaultSubnetId+ , sHostnameTheme+ , sName+ , sRegion+ , sServiceRoleArn+ , sStackId+ , sUseCustomCookbooks+ , sUseOpsworksSecurityGroups+ , sVpcId++ -- * DeploymentCommand+ , DeploymentCommand+ , deploymentCommand+ , dcArgs+ , dcName++ -- * WeeklyAutoScalingSchedule+ , WeeklyAutoScalingSchedule+ , weeklyAutoScalingSchedule+ , wassFriday+ , wassMonday+ , wassSaturday+ , wassSunday+ , wassThursday+ , wassTuesday+ , wassWednesday++ -- * DeploymentCommandName+ , DeploymentCommandName (..)++ -- * Instance+ , Instance+ , instance'+ , iAmiId+ , iArchitecture+ , iAutoScalingType+ , iAvailabilityZone+ , iCreatedAt+ , iEbsOptimized+ , iEc2InstanceId+ , iElasticIp+ , iHostname+ , iInstallUpdatesOnBoot+ , iInstanceId+ , iInstanceProfileArn+ , iInstanceType+ , iLastServiceErrorId+ , iLayerIds+ , iOs+ , iPrivateDns+ , iPrivateIp+ , iPublicDns+ , iPublicIp+ , iRootDeviceType+ , iRootDeviceVolumeId+ , iSecurityGroupIds+ , iSshHostDsaKeyFingerprint+ , iSshHostRsaKeyFingerprint+ , iSshKeyName+ , iStackId+ , iStatus+ , iSubnetId+ , iVirtualizationType++ -- * Deployment+ , Deployment+ , deployment+ , dAppId+ , dCommand+ , dComment+ , dCompletedAt+ , dCreatedAt+ , dCustomJson+ , dDeploymentId+ , dDuration+ , dIamUserArn+ , dInstanceIds+ , dStackId+ , dStatus++ -- * InstancesCount+ , InstancesCount+ , instancesCount+ , icBooting+ , icConnectionLost+ , icOnline+ , icPending+ , icRebooting+ , icRequested+ , icRunningSetup+ , icSetupFailed+ , icShuttingDown+ , icStartFailed+ , icStopped+ , icStopping+ , icTerminated+ , icTerminating++ -- * AppType+ , AppType (..)+ ) where++import Data.Char (isUpper)+import Network.AWS.Error+import Network.AWS.Prelude+import Network.AWS.Signing.V4+import qualified GHC.Exts++-- | Version @2013-02-18@ of the Amazon OpsWorks service.+data OpsWorks++instance AWSService OpsWorks where+ type Sg OpsWorks = V4+ type Er OpsWorks = JSONError++ service = Service+ { _svcEndpoint = regional+ , _svcAbbrev = "OpsWorks"+ , _svcPrefix = "opsworks"+ , _svcVersion = "2013-02-18"+ , _svcTargetPrefix = Just "OpsWorks_20130218"+ , _svcJSONVersion = Just "1.1"+ }++ handle = jsonError statusSuccess++data SslConfiguration = SslConfiguration+ { _scCertificate :: Text+ , _scChain :: Maybe Text+ , _scPrivateKey :: Text+ } deriving (Eq, Ord, Show)++-- | 'SslConfiguration' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'scCertificate' @::@ 'Text'+--+-- * 'scChain' @::@ 'Maybe' 'Text'+--+-- * 'scPrivateKey' @::@ 'Text'+--+sslConfiguration :: Text -- ^ 'scCertificate'+ -> Text -- ^ 'scPrivateKey'+ -> SslConfiguration+sslConfiguration p1 p2 = SslConfiguration+ { _scCertificate = p1+ , _scPrivateKey = p2+ , _scChain = Nothing+ }++-- | The contents of the certificate's domain.crt file.+scCertificate :: Lens' SslConfiguration Text+scCertificate = lens _scCertificate (\s a -> s { _scCertificate = a })++-- | Optional. Can be used to specify an intermediate certificate authority+-- key or client authentication.+scChain :: Lens' SslConfiguration (Maybe Text)+scChain = lens _scChain (\s a -> s { _scChain = a })++-- | The private key; the contents of the certificate's domain.kex file.+scPrivateKey :: Lens' SslConfiguration Text+scPrivateKey = lens _scPrivateKey (\s a -> s { _scPrivateKey = a })++instance FromJSON SslConfiguration where+ parseJSON = withObject "SslConfiguration" $ \o -> SslConfiguration+ <$> o .: "Certificate"+ <*> o .:? "Chain"+ <*> o .: "PrivateKey"++instance ToJSON SslConfiguration where+ toJSON SslConfiguration{..} = object+ [ "Certificate" .= _scCertificate+ , "PrivateKey" .= _scPrivateKey+ , "Chain" .= _scChain+ ]++data Command = Command+ { _cAcknowledgedAt :: Maybe Text+ , _cCommandId :: Maybe Text+ , _cCompletedAt :: Maybe Text+ , _cCreatedAt :: Maybe Text+ , _cDeploymentId :: Maybe Text+ , _cExitCode :: Maybe Int+ , _cInstanceId :: Maybe Text+ , _cLogUrl :: Maybe Text+ , _cStatus :: Maybe Text+ , _cType :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'Command' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cAcknowledgedAt' @::@ 'Maybe' 'Text'+--+-- * 'cCommandId' @::@ 'Maybe' 'Text'+--+-- * 'cCompletedAt' @::@ 'Maybe' 'Text'+--+-- * 'cCreatedAt' @::@ 'Maybe' 'Text'+--+-- * 'cDeploymentId' @::@ 'Maybe' 'Text'+--+-- * 'cExitCode' @::@ 'Maybe' 'Int'+--+-- * 'cInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'cLogUrl' @::@ 'Maybe' 'Text'+--+-- * 'cStatus' @::@ 'Maybe' 'Text'+--+-- * 'cType' @::@ 'Maybe' 'Text'+--+command :: Command+command = Command+ { _cCommandId = Nothing+ , _cInstanceId = Nothing+ , _cDeploymentId = Nothing+ , _cCreatedAt = Nothing+ , _cAcknowledgedAt = Nothing+ , _cCompletedAt = Nothing+ , _cStatus = Nothing+ , _cExitCode = Nothing+ , _cLogUrl = Nothing+ , _cType = Nothing+ }++-- | Date and time when the command was acknowledged.+cAcknowledgedAt :: Lens' Command (Maybe Text)+cAcknowledgedAt = lens _cAcknowledgedAt (\s a -> s { _cAcknowledgedAt = a })++-- | The command ID.+cCommandId :: Lens' Command (Maybe Text)+cCommandId = lens _cCommandId (\s a -> s { _cCommandId = a })++-- | Date when the command completed.+cCompletedAt :: Lens' Command (Maybe Text)+cCompletedAt = lens _cCompletedAt (\s a -> s { _cCompletedAt = a })++-- | Date and time when the command was run.+cCreatedAt :: Lens' Command (Maybe Text)+cCreatedAt = lens _cCreatedAt (\s a -> s { _cCreatedAt = a })++-- | The command deployment ID.+cDeploymentId :: Lens' Command (Maybe Text)+cDeploymentId = lens _cDeploymentId (\s a -> s { _cDeploymentId = a })++-- | The command exit code.+cExitCode :: Lens' Command (Maybe Int)+cExitCode = lens _cExitCode (\s a -> s { _cExitCode = a })++-- | The ID of the instance where the command was executed.+cInstanceId :: Lens' Command (Maybe Text)+cInstanceId = lens _cInstanceId (\s a -> s { _cInstanceId = a })++-- | The URL of the command log.+cLogUrl :: Lens' Command (Maybe Text)+cLogUrl = lens _cLogUrl (\s a -> s { _cLogUrl = a })++-- | The command status: failed successful skipped pending.+cStatus :: Lens' Command (Maybe Text)+cStatus = lens _cStatus (\s a -> s { _cStatus = a })++-- | The command type: deploy rollback start stop restart undeploy+-- update_dependencies install_dependencies update_custom_cookbooks+-- execute_recipes.+cType :: Lens' Command (Maybe Text)+cType = lens _cType (\s a -> s { _cType = a })++instance FromJSON Command where+ parseJSON = withObject "Command" $ \o -> Command+ <$> o .:? "AcknowledgedAt"+ <*> o .:? "CommandId"+ <*> o .:? "CompletedAt"+ <*> o .:? "CreatedAt"+ <*> o .:? "DeploymentId"+ <*> o .:? "ExitCode"+ <*> o .:? "InstanceId"+ <*> o .:? "LogUrl"+ <*> o .:? "Status"+ <*> o .:? "Type"++instance ToJSON Command where+ toJSON Command{..} = object+ [ "CommandId" .= _cCommandId+ , "InstanceId" .= _cInstanceId+ , "DeploymentId" .= _cDeploymentId+ , "CreatedAt" .= _cCreatedAt+ , "AcknowledgedAt" .= _cAcknowledgedAt+ , "CompletedAt" .= _cCompletedAt+ , "Status" .= _cStatus+ , "ExitCode" .= _cExitCode+ , "LogUrl" .= _cLogUrl+ , "Type" .= _cType+ ]++data RaidArray = RaidArray+ { _raAvailabilityZone :: Maybe Text+ , _raCreatedAt :: Maybe Text+ , _raDevice :: Maybe Text+ , _raInstanceId :: Maybe Text+ , _raIops :: Maybe Int+ , _raMountPoint :: Maybe Text+ , _raName :: Maybe Text+ , _raNumberOfDisks :: Maybe Int+ , _raRaidArrayId :: Maybe Text+ , _raRaidLevel :: Maybe Int+ , _raSize :: Maybe Int+ , _raVolumeType :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'RaidArray' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'raAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'raCreatedAt' @::@ 'Maybe' 'Text'+--+-- * 'raDevice' @::@ 'Maybe' 'Text'+--+-- * 'raInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'raIops' @::@ 'Maybe' 'Int'+--+-- * 'raMountPoint' @::@ 'Maybe' 'Text'+--+-- * 'raName' @::@ 'Maybe' 'Text'+--+-- * 'raNumberOfDisks' @::@ 'Maybe' 'Int'+--+-- * 'raRaidArrayId' @::@ 'Maybe' 'Text'+--+-- * 'raRaidLevel' @::@ 'Maybe' 'Int'+--+-- * 'raSize' @::@ 'Maybe' 'Int'+--+-- * 'raVolumeType' @::@ 'Maybe' 'Text'+--+raidArray :: RaidArray+raidArray = RaidArray+ { _raRaidArrayId = Nothing+ , _raInstanceId = Nothing+ , _raName = Nothing+ , _raRaidLevel = Nothing+ , _raNumberOfDisks = Nothing+ , _raSize = Nothing+ , _raDevice = Nothing+ , _raMountPoint = Nothing+ , _raAvailabilityZone = Nothing+ , _raCreatedAt = Nothing+ , _raVolumeType = Nothing+ , _raIops = Nothing+ }++-- | The array's Availability Zone. For more information, see Regions and+-- Endpoints.+raAvailabilityZone :: Lens' RaidArray (Maybe Text)+raAvailabilityZone =+ lens _raAvailabilityZone (\s a -> s { _raAvailabilityZone = a })++-- | When the RAID array was created.+raCreatedAt :: Lens' RaidArray (Maybe Text)+raCreatedAt = lens _raCreatedAt (\s a -> s { _raCreatedAt = a })++-- | The array's Linux device. For example /dev/mdadm0.+raDevice :: Lens' RaidArray (Maybe Text)+raDevice = lens _raDevice (\s a -> s { _raDevice = a })++-- | The instance ID.+raInstanceId :: Lens' RaidArray (Maybe Text)+raInstanceId = lens _raInstanceId (\s a -> s { _raInstanceId = a })++-- | For PIOPS volumes, the IOPS per disk.+raIops :: Lens' RaidArray (Maybe Int)+raIops = lens _raIops (\s a -> s { _raIops = a })++-- | The array's mount point.+raMountPoint :: Lens' RaidArray (Maybe Text)+raMountPoint = lens _raMountPoint (\s a -> s { _raMountPoint = a })++-- | The array name.+raName :: Lens' RaidArray (Maybe Text)+raName = lens _raName (\s a -> s { _raName = a })++-- | The number of disks in the array.+raNumberOfDisks :: Lens' RaidArray (Maybe Int)+raNumberOfDisks = lens _raNumberOfDisks (\s a -> s { _raNumberOfDisks = a })++-- | The array ID.+raRaidArrayId :: Lens' RaidArray (Maybe Text)+raRaidArrayId = lens _raRaidArrayId (\s a -> s { _raRaidArrayId = a })++-- | The RAID level.+raRaidLevel :: Lens' RaidArray (Maybe Int)+raRaidLevel = lens _raRaidLevel (\s a -> s { _raRaidLevel = a })++-- | The array's size.+raSize :: Lens' RaidArray (Maybe Int)+raSize = lens _raSize (\s a -> s { _raSize = a })++-- | The volume type, standard or PIOPS.+raVolumeType :: Lens' RaidArray (Maybe Text)+raVolumeType = lens _raVolumeType (\s a -> s { _raVolumeType = a })++instance FromJSON RaidArray where+ parseJSON = withObject "RaidArray" $ \o -> RaidArray+ <$> o .:? "AvailabilityZone"+ <*> o .:? "CreatedAt"+ <*> o .:? "Device"+ <*> o .:? "InstanceId"+ <*> o .:? "Iops"+ <*> o .:? "MountPoint"+ <*> o .:? "Name"+ <*> o .:? "NumberOfDisks"+ <*> o .:? "RaidArrayId"+ <*> o .:? "RaidLevel"+ <*> o .:? "Size"+ <*> o .:? "VolumeType"++instance ToJSON RaidArray where+ toJSON RaidArray{..} = object+ [ "RaidArrayId" .= _raRaidArrayId+ , "InstanceId" .= _raInstanceId+ , "Name" .= _raName+ , "RaidLevel" .= _raRaidLevel+ , "NumberOfDisks" .= _raNumberOfDisks+ , "Size" .= _raSize+ , "Device" .= _raDevice+ , "MountPoint" .= _raMountPoint+ , "AvailabilityZone" .= _raAvailabilityZone+ , "CreatedAt" .= _raCreatedAt+ , "VolumeType" .= _raVolumeType+ , "Iops" .= _raIops+ ]++data ElasticLoadBalancer = ElasticLoadBalancer+ { _elbAvailabilityZones :: List "InstanceIds" Text+ , _elbDnsName :: Maybe Text+ , _elbEc2InstanceIds :: List "InstanceIds" Text+ , _elbElasticLoadBalancerName :: Maybe Text+ , _elbLayerId :: Maybe Text+ , _elbRegion :: Maybe Text+ , _elbStackId :: Maybe Text+ , _elbSubnetIds :: List "InstanceIds" Text+ , _elbVpcId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'ElasticLoadBalancer' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'elbAvailabilityZones' @::@ ['Text']+--+-- * 'elbDnsName' @::@ 'Maybe' 'Text'+--+-- * 'elbEc2InstanceIds' @::@ ['Text']+--+-- * 'elbElasticLoadBalancerName' @::@ 'Maybe' 'Text'+--+-- * 'elbLayerId' @::@ 'Maybe' 'Text'+--+-- * 'elbRegion' @::@ 'Maybe' 'Text'+--+-- * 'elbStackId' @::@ 'Maybe' 'Text'+--+-- * 'elbSubnetIds' @::@ ['Text']+--+-- * 'elbVpcId' @::@ 'Maybe' 'Text'+--+elasticLoadBalancer :: ElasticLoadBalancer+elasticLoadBalancer = ElasticLoadBalancer+ { _elbElasticLoadBalancerName = Nothing+ , _elbRegion = Nothing+ , _elbDnsName = Nothing+ , _elbStackId = Nothing+ , _elbLayerId = Nothing+ , _elbVpcId = Nothing+ , _elbAvailabilityZones = mempty+ , _elbSubnetIds = mempty+ , _elbEc2InstanceIds = mempty+ }++-- | A list of Availability Zones.+elbAvailabilityZones :: Lens' ElasticLoadBalancer [Text]+elbAvailabilityZones =+ lens _elbAvailabilityZones (\s a -> s { _elbAvailabilityZones = a })+ . _List++-- | The instance's public DNS name.+elbDnsName :: Lens' ElasticLoadBalancer (Maybe Text)+elbDnsName = lens _elbDnsName (\s a -> s { _elbDnsName = a })++-- | A list of the EC2 instances that the Elastic Load Balancing instance is+-- managing traffic for.+elbEc2InstanceIds :: Lens' ElasticLoadBalancer [Text]+elbEc2InstanceIds =+ lens _elbEc2InstanceIds (\s a -> s { _elbEc2InstanceIds = a })+ . _List++-- | The Elastic Load Balancing instance's name.+elbElasticLoadBalancerName :: Lens' ElasticLoadBalancer (Maybe Text)+elbElasticLoadBalancerName =+ lens _elbElasticLoadBalancerName+ (\s a -> s { _elbElasticLoadBalancerName = a })++-- | The ID of the layer that the instance is attached to.+elbLayerId :: Lens' ElasticLoadBalancer (Maybe Text)+elbLayerId = lens _elbLayerId (\s a -> s { _elbLayerId = a })++-- | The instance's AWS region.+elbRegion :: Lens' ElasticLoadBalancer (Maybe Text)+elbRegion = lens _elbRegion (\s a -> s { _elbRegion = a })++-- | The ID of the stack that the instance is associated with.+elbStackId :: Lens' ElasticLoadBalancer (Maybe Text)+elbStackId = lens _elbStackId (\s a -> s { _elbStackId = a })++-- | A list of subnet IDs, if the stack is running in a VPC.+elbSubnetIds :: Lens' ElasticLoadBalancer [Text]+elbSubnetIds = lens _elbSubnetIds (\s a -> s { _elbSubnetIds = a }) . _List++-- | The VPC ID.+elbVpcId :: Lens' ElasticLoadBalancer (Maybe Text)+elbVpcId = lens _elbVpcId (\s a -> s { _elbVpcId = a })++instance FromJSON ElasticLoadBalancer where+ parseJSON = withObject "ElasticLoadBalancer" $ \o -> ElasticLoadBalancer+ <$> o .: "AvailabilityZones"+ <*> o .:? "DnsName"+ <*> o .: "Ec2InstanceIds"+ <*> o .:? "ElasticLoadBalancerName"+ <*> o .:? "LayerId"+ <*> o .:? "Region"+ <*> o .:? "StackId"+ <*> o .: "SubnetIds"+ <*> o .:? "VpcId"++instance ToJSON ElasticLoadBalancer where+ toJSON ElasticLoadBalancer{..} = object+ [ "ElasticLoadBalancerName" .= _elbElasticLoadBalancerName+ , "Region" .= _elbRegion+ , "DnsName" .= _elbDnsName+ , "StackId" .= _elbStackId+ , "LayerId" .= _elbLayerId+ , "VpcId" .= _elbVpcId+ , "AvailabilityZones" .= _elbAvailabilityZones+ , "SubnetIds" .= _elbSubnetIds+ , "Ec2InstanceIds" .= _elbEc2InstanceIds+ ]++data RdsDbInstance = RdsDbInstance+ { _rdiAddress :: Maybe Text+ , _rdiDbInstanceIdentifier :: Maybe Text+ , _rdiDbPassword :: Maybe Text+ , _rdiDbUser :: Maybe Text+ , _rdiEngine :: Maybe Text+ , _rdiMissingOnRds :: Maybe Bool+ , _rdiRdsDbInstanceArn :: Maybe Text+ , _rdiRegion :: Maybe Text+ , _rdiStackId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'RdsDbInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdiAddress' @::@ 'Maybe' 'Text'+--+-- * 'rdiDbInstanceIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'rdiDbPassword' @::@ 'Maybe' 'Text'+--+-- * 'rdiDbUser' @::@ 'Maybe' 'Text'+--+-- * 'rdiEngine' @::@ 'Maybe' 'Text'+--+-- * 'rdiMissingOnRds' @::@ 'Maybe' 'Bool'+--+-- * 'rdiRdsDbInstanceArn' @::@ 'Maybe' 'Text'+--+-- * 'rdiRegion' @::@ 'Maybe' 'Text'+--+-- * 'rdiStackId' @::@ 'Maybe' 'Text'+--+rdsDbInstance :: RdsDbInstance+rdsDbInstance = RdsDbInstance+ { _rdiRdsDbInstanceArn = Nothing+ , _rdiDbInstanceIdentifier = Nothing+ , _rdiDbUser = Nothing+ , _rdiDbPassword = Nothing+ , _rdiRegion = Nothing+ , _rdiAddress = Nothing+ , _rdiEngine = Nothing+ , _rdiStackId = Nothing+ , _rdiMissingOnRds = Nothing+ }++-- | The instance's address.+rdiAddress :: Lens' RdsDbInstance (Maybe Text)+rdiAddress = lens _rdiAddress (\s a -> s { _rdiAddress = a })++-- | The DB instance identifier.+rdiDbInstanceIdentifier :: Lens' RdsDbInstance (Maybe Text)+rdiDbInstanceIdentifier =+ lens _rdiDbInstanceIdentifier (\s a -> s { _rdiDbInstanceIdentifier = a })++-- | The database password.+rdiDbPassword :: Lens' RdsDbInstance (Maybe Text)+rdiDbPassword = lens _rdiDbPassword (\s a -> s { _rdiDbPassword = a })++-- | The master user name.+rdiDbUser :: Lens' RdsDbInstance (Maybe Text)+rdiDbUser = lens _rdiDbUser (\s a -> s { _rdiDbUser = a })++-- | The instance's database engine.+rdiEngine :: Lens' RdsDbInstance (Maybe Text)+rdiEngine = lens _rdiEngine (\s a -> s { _rdiEngine = a })++-- | Set to true if AWS OpsWorks was unable to discover the Amazon RDS+-- instance. AWS OpsWorks attempts to discover the instance only once. If+-- this value is set to true, you must deregister the instance and then+-- register it again.+rdiMissingOnRds :: Lens' RdsDbInstance (Maybe Bool)+rdiMissingOnRds = lens _rdiMissingOnRds (\s a -> s { _rdiMissingOnRds = a })++-- | The instance's ARN.+rdiRdsDbInstanceArn :: Lens' RdsDbInstance (Maybe Text)+rdiRdsDbInstanceArn =+ lens _rdiRdsDbInstanceArn (\s a -> s { _rdiRdsDbInstanceArn = a })++-- | The instance's AWS region.+rdiRegion :: Lens' RdsDbInstance (Maybe Text)+rdiRegion = lens _rdiRegion (\s a -> s { _rdiRegion = a })++-- | The ID of the stack that the instance is registered with.+rdiStackId :: Lens' RdsDbInstance (Maybe Text)+rdiStackId = lens _rdiStackId (\s a -> s { _rdiStackId = a })++instance FromJSON RdsDbInstance where+ parseJSON = withObject "RdsDbInstance" $ \o -> RdsDbInstance+ <$> o .:? "Address"+ <*> o .:? "DbInstanceIdentifier"+ <*> o .:? "DbPassword"+ <*> o .:? "DbUser"+ <*> o .:? "Engine"+ <*> o .:? "MissingOnRds"+ <*> o .:? "RdsDbInstanceArn"+ <*> o .:? "Region"+ <*> o .:? "StackId"++instance ToJSON RdsDbInstance where+ toJSON RdsDbInstance{..} = object+ [ "RdsDbInstanceArn" .= _rdiRdsDbInstanceArn+ , "DbInstanceIdentifier" .= _rdiDbInstanceIdentifier+ , "DbUser" .= _rdiDbUser+ , "DbPassword" .= _rdiDbPassword+ , "Region" .= _rdiRegion+ , "Address" .= _rdiAddress+ , "Engine" .= _rdiEngine+ , "StackId" .= _rdiStackId+ , "MissingOnRds" .= _rdiMissingOnRds+ ]++data AppAttributesKeys+ = AutoBundleOnDeploy -- ^ AutoBundleOnDeploy+ | DocumentRoot -- ^ DocumentRoot+ | RailsEnv -- ^ RailsEnv+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable AppAttributesKeys++instance FromText AppAttributesKeys where+ parser = match "AutoBundleOnDeploy" AutoBundleOnDeploy+ <|> match "DocumentRoot" DocumentRoot+ <|> match "RailsEnv" RailsEnv++instance ToText AppAttributesKeys where+ toText = \case+ AutoBundleOnDeploy -> "AutoBundleOnDeploy"+ DocumentRoot -> "DocumentRoot"+ RailsEnv -> "RailsEnv"++instance FromJSON AppAttributesKeys where+ parseJSON = parseJSONText "AppAttributesKeys"++instance ToJSON AppAttributesKeys where+ toJSON = toJSONText++data ServiceError' = ServiceError'+ { _seCreatedAt :: Maybe Text+ , _seInstanceId :: Maybe Text+ , _seMessage :: Maybe Text+ , _seServiceErrorId :: Maybe Text+ , _seStackId :: Maybe Text+ , _seType :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'ServiceError'' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'seCreatedAt' @::@ 'Maybe' 'Text'+--+-- * 'seInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'seMessage' @::@ 'Maybe' 'Text'+--+-- * 'seServiceErrorId' @::@ 'Maybe' 'Text'+--+-- * 'seStackId' @::@ 'Maybe' 'Text'+--+-- * 'seType' @::@ 'Maybe' 'Text'+--+serviceError' :: ServiceError'+serviceError' = ServiceError'+ { _seServiceErrorId = Nothing+ , _seStackId = Nothing+ , _seInstanceId = Nothing+ , _seType = Nothing+ , _seMessage = Nothing+ , _seCreatedAt = Nothing+ }++-- | When the error occurred.+seCreatedAt :: Lens' ServiceError' (Maybe Text)+seCreatedAt = lens _seCreatedAt (\s a -> s { _seCreatedAt = a })++-- | The instance ID.+seInstanceId :: Lens' ServiceError' (Maybe Text)+seInstanceId = lens _seInstanceId (\s a -> s { _seInstanceId = a })++-- | A message that describes the error.+seMessage :: Lens' ServiceError' (Maybe Text)+seMessage = lens _seMessage (\s a -> s { _seMessage = a })++-- | The error ID.+seServiceErrorId :: Lens' ServiceError' (Maybe Text)+seServiceErrorId = lens _seServiceErrorId (\s a -> s { _seServiceErrorId = a })++-- | The stack ID.+seStackId :: Lens' ServiceError' (Maybe Text)+seStackId = lens _seStackId (\s a -> s { _seStackId = a })++-- | The error type.+seType :: Lens' ServiceError' (Maybe Text)+seType = lens _seType (\s a -> s { _seType = a })++instance FromJSON ServiceError' where+ parseJSON = withObject "ServiceError'" $ \o -> ServiceError'+ <$> o .:? "CreatedAt"+ <*> o .:? "InstanceId"+ <*> o .:? "Message"+ <*> o .:? "ServiceErrorId"+ <*> o .:? "StackId"+ <*> o .:? "Type"++instance ToJSON ServiceError' where+ toJSON ServiceError'{..} = object+ [ "ServiceErrorId" .= _seServiceErrorId+ , "StackId" .= _seStackId+ , "InstanceId" .= _seInstanceId+ , "Type" .= _seType+ , "Message" .= _seMessage+ , "CreatedAt" .= _seCreatedAt+ ]++data StackSummary = StackSummary+ { _ssAppsCount :: Maybe Int+ , _ssArn :: Maybe Text+ , _ssInstancesCount :: Maybe InstancesCount+ , _ssLayersCount :: Maybe Int+ , _ssName :: Maybe Text+ , _ssStackId :: Maybe Text+ } deriving (Eq, Show)++-- | 'StackSummary' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ssAppsCount' @::@ 'Maybe' 'Int'+--+-- * 'ssArn' @::@ 'Maybe' 'Text'+--+-- * 'ssInstancesCount' @::@ 'Maybe' 'InstancesCount'+--+-- * 'ssLayersCount' @::@ 'Maybe' 'Int'+--+-- * 'ssName' @::@ 'Maybe' 'Text'+--+-- * 'ssStackId' @::@ 'Maybe' 'Text'+--+stackSummary :: StackSummary+stackSummary = StackSummary+ { _ssStackId = Nothing+ , _ssName = Nothing+ , _ssArn = Nothing+ , _ssLayersCount = Nothing+ , _ssAppsCount = Nothing+ , _ssInstancesCount = Nothing+ }++-- | The number of apps.+ssAppsCount :: Lens' StackSummary (Maybe Int)+ssAppsCount = lens _ssAppsCount (\s a -> s { _ssAppsCount = a })++-- | The stack's ARN.+ssArn :: Lens' StackSummary (Maybe Text)+ssArn = lens _ssArn (\s a -> s { _ssArn = a })++-- | An InstancesCount object with the number of instances in each status.+ssInstancesCount :: Lens' StackSummary (Maybe InstancesCount)+ssInstancesCount = lens _ssInstancesCount (\s a -> s { _ssInstancesCount = a })++-- | The number of layers.+ssLayersCount :: Lens' StackSummary (Maybe Int)+ssLayersCount = lens _ssLayersCount (\s a -> s { _ssLayersCount = a })++-- | The stack name.+ssName :: Lens' StackSummary (Maybe Text)+ssName = lens _ssName (\s a -> s { _ssName = a })++-- | The stack ID.+ssStackId :: Lens' StackSummary (Maybe Text)+ssStackId = lens _ssStackId (\s a -> s { _ssStackId = a })++instance FromJSON StackSummary where+ parseJSON = withObject "StackSummary" $ \o -> StackSummary+ <$> o .:? "AppsCount"+ <*> o .:? "Arn"+ <*> o .:? "InstancesCount"+ <*> o .:? "LayersCount"+ <*> o .:? "Name"+ <*> o .:? "StackId"++instance ToJSON StackSummary where+ toJSON StackSummary{..} = object+ [ "StackId" .= _ssStackId+ , "Name" .= _ssName+ , "Arn" .= _ssArn+ , "LayersCount" .= _ssLayersCount+ , "AppsCount" .= _ssAppsCount+ , "InstancesCount" .= _ssInstancesCount+ ]++data StackAttributesKeys+ = Color -- ^ Color+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable StackAttributesKeys++instance FromText StackAttributesKeys where+ parser = match "Color" Color++instance ToText StackAttributesKeys where+ toText Color = "Color"++instance FromJSON StackAttributesKeys where+ parseJSON = parseJSONText "StackAttributesKeys"++instance ToJSON StackAttributesKeys where+ toJSON = toJSONText++data LoadBasedAutoScalingConfiguration = LoadBasedAutoScalingConfiguration+ { _lbascDownScaling :: Maybe AutoScalingThresholds+ , _lbascEnable :: Maybe Bool+ , _lbascLayerId :: Maybe Text+ , _lbascUpScaling :: Maybe AutoScalingThresholds+ } deriving (Eq, Show)++-- | 'LoadBasedAutoScalingConfiguration' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lbascDownScaling' @::@ 'Maybe' 'AutoScalingThresholds'+--+-- * 'lbascEnable' @::@ 'Maybe' 'Bool'+--+-- * 'lbascLayerId' @::@ 'Maybe' 'Text'+--+-- * 'lbascUpScaling' @::@ 'Maybe' 'AutoScalingThresholds'+--+loadBasedAutoScalingConfiguration :: LoadBasedAutoScalingConfiguration+loadBasedAutoScalingConfiguration = LoadBasedAutoScalingConfiguration+ { _lbascLayerId = Nothing+ , _lbascEnable = Nothing+ , _lbascUpScaling = Nothing+ , _lbascDownScaling = Nothing+ }++-- | A LoadBasedAutoscalingInstruction object that describes the downscaling+-- configuration, which defines how and when AWS OpsWorks reduces the number+-- of instances.+lbascDownScaling :: Lens' LoadBasedAutoScalingConfiguration (Maybe AutoScalingThresholds)+lbascDownScaling = lens _lbascDownScaling (\s a -> s { _lbascDownScaling = a })++-- | Whether load-based auto scaling is enabled for the layer.+lbascEnable :: Lens' LoadBasedAutoScalingConfiguration (Maybe Bool)+lbascEnable = lens _lbascEnable (\s a -> s { _lbascEnable = a })++-- | The layer ID.+lbascLayerId :: Lens' LoadBasedAutoScalingConfiguration (Maybe Text)+lbascLayerId = lens _lbascLayerId (\s a -> s { _lbascLayerId = a })++-- | A LoadBasedAutoscalingInstruction object that describes the upscaling+-- configuration, which defines how and when AWS OpsWorks increases the+-- number of instances.+lbascUpScaling :: Lens' LoadBasedAutoScalingConfiguration (Maybe AutoScalingThresholds)+lbascUpScaling = lens _lbascUpScaling (\s a -> s { _lbascUpScaling = a })++instance FromJSON LoadBasedAutoScalingConfiguration where+ parseJSON = withObject "LoadBasedAutoScalingConfiguration" $ \o -> LoadBasedAutoScalingConfiguration+ <$> o .:? "DownScaling"+ <*> o .:? "Enable"+ <*> o .:? "LayerId"+ <*> o .:? "UpScaling"++instance ToJSON LoadBasedAutoScalingConfiguration where+ toJSON LoadBasedAutoScalingConfiguration{..} = object+ [ "LayerId" .= _lbascLayerId+ , "Enable" .= _lbascEnable+ , "UpScaling" .= _lbascUpScaling+ , "DownScaling" .= _lbascDownScaling+ ]++data SourceType+ = Archive -- ^ archive+ | Git -- ^ git+ | S3 -- ^ s3+ | Svn -- ^ svn+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable SourceType++instance FromText SourceType where+ parser = match "archive" Archive+ <|> match "git" Git+ <|> match "s3" S3+ <|> match "svn" Svn++instance ToText SourceType where+ toText = \case+ Archive -> "archive"+ Git -> "git"+ S3 -> "s3"+ Svn -> "svn"++instance FromJSON SourceType where+ parseJSON = parseJSONText "SourceType"++instance ToJSON SourceType where+ toJSON = toJSONText++data Volume = Volume+ { _vAvailabilityZone :: Maybe Text+ , _vDevice :: Maybe Text+ , _vEc2VolumeId :: Maybe Text+ , _vInstanceId :: Maybe Text+ , _vIops :: Maybe Int+ , _vMountPoint :: Maybe Text+ , _vName :: Maybe Text+ , _vRaidArrayId :: Maybe Text+ , _vRegion :: Maybe Text+ , _vSize :: Maybe Int+ , _vStatus :: Maybe Text+ , _vVolumeId :: Maybe Text+ , _vVolumeType :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'Volume' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'vAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'vDevice' @::@ 'Maybe' 'Text'+--+-- * 'vEc2VolumeId' @::@ 'Maybe' 'Text'+--+-- * 'vInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'vIops' @::@ 'Maybe' 'Int'+--+-- * 'vMountPoint' @::@ 'Maybe' 'Text'+--+-- * 'vName' @::@ 'Maybe' 'Text'+--+-- * 'vRaidArrayId' @::@ 'Maybe' 'Text'+--+-- * 'vRegion' @::@ 'Maybe' 'Text'+--+-- * 'vSize' @::@ 'Maybe' 'Int'+--+-- * 'vStatus' @::@ 'Maybe' 'Text'+--+-- * 'vVolumeId' @::@ 'Maybe' 'Text'+--+-- * 'vVolumeType' @::@ 'Maybe' 'Text'+--+volume :: Volume+volume = Volume+ { _vVolumeId = Nothing+ , _vEc2VolumeId = Nothing+ , _vName = Nothing+ , _vRaidArrayId = Nothing+ , _vInstanceId = Nothing+ , _vStatus = Nothing+ , _vSize = Nothing+ , _vDevice = Nothing+ , _vMountPoint = Nothing+ , _vRegion = Nothing+ , _vAvailabilityZone = Nothing+ , _vVolumeType = Nothing+ , _vIops = Nothing+ }++-- | The volume Availability Zone. For more information, see Regions and+-- Endpoints.+vAvailabilityZone :: Lens' Volume (Maybe Text)+vAvailabilityZone =+ lens _vAvailabilityZone (\s a -> s { _vAvailabilityZone = a })++-- | The device name.+vDevice :: Lens' Volume (Maybe Text)+vDevice = lens _vDevice (\s a -> s { _vDevice = a })++-- | The Amazon EC2 volume ID.+vEc2VolumeId :: Lens' Volume (Maybe Text)+vEc2VolumeId = lens _vEc2VolumeId (\s a -> s { _vEc2VolumeId = a })++-- | The instance ID.+vInstanceId :: Lens' Volume (Maybe Text)+vInstanceId = lens _vInstanceId (\s a -> s { _vInstanceId = a })++-- | For PIOPS volumes, the IOPS per disk.+vIops :: Lens' Volume (Maybe Int)+vIops = lens _vIops (\s a -> s { _vIops = a })++-- | The volume mount point. For example "/dev/sdh".+vMountPoint :: Lens' Volume (Maybe Text)+vMountPoint = lens _vMountPoint (\s a -> s { _vMountPoint = a })++-- | The volume name.+vName :: Lens' Volume (Maybe Text)+vName = lens _vName (\s a -> s { _vName = a })++-- | The RAID array ID.+vRaidArrayId :: Lens' Volume (Maybe Text)+vRaidArrayId = lens _vRaidArrayId (\s a -> s { _vRaidArrayId = a })++-- | The AWS region. For more information about AWS regions, see Regions and+-- Endpoints.+vRegion :: Lens' Volume (Maybe Text)+vRegion = lens _vRegion (\s a -> s { _vRegion = a })++-- | The volume size.+vSize :: Lens' Volume (Maybe Int)+vSize = lens _vSize (\s a -> s { _vSize = a })++-- | The value returned by DescribeVolumes.+vStatus :: Lens' Volume (Maybe Text)+vStatus = lens _vStatus (\s a -> s { _vStatus = a })++-- | The volume ID.+vVolumeId :: Lens' Volume (Maybe Text)+vVolumeId = lens _vVolumeId (\s a -> s { _vVolumeId = a })++-- | The volume type, standard or PIOPS.+vVolumeType :: Lens' Volume (Maybe Text)+vVolumeType = lens _vVolumeType (\s a -> s { _vVolumeType = a })++instance FromJSON Volume where+ parseJSON = withObject "Volume" $ \o -> Volume+ <$> o .:? "AvailabilityZone"+ <*> o .:? "Device"+ <*> o .:? "Ec2VolumeId"+ <*> o .:? "InstanceId"+ <*> o .:? "Iops"+ <*> o .:? "MountPoint"+ <*> o .:? "Name"+ <*> o .:? "RaidArrayId"+ <*> o .:? "Region"+ <*> o .:? "Size"+ <*> o .:? "Status"+ <*> o .:? "VolumeId"+ <*> o .:? "VolumeType"++instance ToJSON Volume where+ toJSON Volume{..} = object+ [ "VolumeId" .= _vVolumeId+ , "Ec2VolumeId" .= _vEc2VolumeId+ , "Name" .= _vName+ , "RaidArrayId" .= _vRaidArrayId+ , "InstanceId" .= _vInstanceId+ , "Status" .= _vStatus+ , "Size" .= _vSize+ , "Device" .= _vDevice+ , "MountPoint" .= _vMountPoint+ , "Region" .= _vRegion+ , "AvailabilityZone" .= _vAvailabilityZone+ , "VolumeType" .= _vVolumeType+ , "Iops" .= _vIops+ ]++data ChefConfiguration = ChefConfiguration+ { _ccBerkshelfVersion :: Maybe Text+ , _ccManageBerkshelf :: Maybe Bool+ } deriving (Eq, Ord, Show)++-- | 'ChefConfiguration' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ccBerkshelfVersion' @::@ 'Maybe' 'Text'+--+-- * 'ccManageBerkshelf' @::@ 'Maybe' 'Bool'+--+chefConfiguration :: ChefConfiguration+chefConfiguration = ChefConfiguration+ { _ccManageBerkshelf = Nothing+ , _ccBerkshelfVersion = Nothing+ }++-- | The Berkshelf version.+ccBerkshelfVersion :: Lens' ChefConfiguration (Maybe Text)+ccBerkshelfVersion =+ lens _ccBerkshelfVersion (\s a -> s { _ccBerkshelfVersion = a })++-- | Whether to enable Berkshelf.+ccManageBerkshelf :: Lens' ChefConfiguration (Maybe Bool)+ccManageBerkshelf =+ lens _ccManageBerkshelf (\s a -> s { _ccManageBerkshelf = a })++instance FromJSON ChefConfiguration where+ parseJSON = withObject "ChefConfiguration" $ \o -> ChefConfiguration+ <$> o .:? "BerkshelfVersion"+ <*> o .:? "ManageBerkshelf"++instance ToJSON ChefConfiguration where+ toJSON ChefConfiguration{..} = object+ [ "ManageBerkshelf" .= _ccManageBerkshelf+ , "BerkshelfVersion" .= _ccBerkshelfVersion+ ]++data LayerType+ = Custom -- ^ custom+ | DbMaster -- ^ db-master+ | Lb -- ^ lb+ | Memcached -- ^ memcached+ | MonitoringMaster -- ^ monitoring-master+ | NodejsApp -- ^ nodejs-app+ | PhpApp -- ^ php-app+ | RailsApp -- ^ rails-app+ | Web -- ^ web+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable LayerType++instance FromText LayerType where+ parser = match "custom" Custom+ <|> match "db-master" DbMaster+ <|> match "lb" Lb+ <|> match "memcached" Memcached+ <|> match "monitoring-master" MonitoringMaster+ <|> match "nodejs-app" NodejsApp+ <|> match "php-app" PhpApp+ <|> match "rails-app" RailsApp+ <|> match "web" Web++instance ToText LayerType where+ toText = \case+ Custom -> "custom"+ DbMaster -> "db-master"+ Lb -> "lb"+ Memcached -> "memcached"+ MonitoringMaster -> "monitoring-master"+ NodejsApp -> "nodejs-app"+ PhpApp -> "php-app"+ RailsApp -> "rails-app"+ Web -> "web"++instance FromJSON LayerType where+ parseJSON = parseJSONText "LayerType"++instance ToJSON LayerType where+ toJSON = toJSONText++data AutoScalingThresholds = AutoScalingThresholds+ { _astCpuThreshold :: Maybe Double+ , _astIgnoreMetricsTime :: Maybe Nat+ , _astInstanceCount :: Maybe Int+ , _astLoadThreshold :: Maybe Double+ , _astMemoryThreshold :: Maybe Double+ , _astThresholdsWaitTime :: Maybe Nat+ } deriving (Eq, Ord, Show)++-- | 'AutoScalingThresholds' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'astCpuThreshold' @::@ 'Maybe' 'Double'+--+-- * 'astIgnoreMetricsTime' @::@ 'Maybe' 'Natural'+--+-- * 'astInstanceCount' @::@ 'Maybe' 'Int'+--+-- * 'astLoadThreshold' @::@ 'Maybe' 'Double'+--+-- * 'astMemoryThreshold' @::@ 'Maybe' 'Double'+--+-- * 'astThresholdsWaitTime' @::@ 'Maybe' 'Natural'+--+autoScalingThresholds :: AutoScalingThresholds+autoScalingThresholds = AutoScalingThresholds+ { _astInstanceCount = Nothing+ , _astThresholdsWaitTime = Nothing+ , _astIgnoreMetricsTime = Nothing+ , _astCpuThreshold = Nothing+ , _astMemoryThreshold = Nothing+ , _astLoadThreshold = Nothing+ }++-- | The CPU utilization threshold, as a percent of the available CPU.+astCpuThreshold :: Lens' AutoScalingThresholds (Maybe Double)+astCpuThreshold = lens _astCpuThreshold (\s a -> s { _astCpuThreshold = a })++-- | The amount of time (in minutes) after a scaling event occurs that AWS+-- OpsWorks should ignore metrics and not raise any additional scaling+-- events. For example, AWS OpsWorks adds new instances following an+-- upscaling event but the instances won't start reducing the load until+-- they have been booted and configured. There is no point in raising+-- additional scaling events during that operation, which typically takes+-- several minutes. IgnoreMetricsTime allows you to direct AWS OpsWorks to+-- not raise any scaling events long enough to get the new instances online.+astIgnoreMetricsTime :: Lens' AutoScalingThresholds (Maybe Natural)+astIgnoreMetricsTime =+ lens _astIgnoreMetricsTime (\s a -> s { _astIgnoreMetricsTime = a })+ . mapping _Nat++-- | The number of instances to add or remove when the load exceeds a+-- threshold.+astInstanceCount :: Lens' AutoScalingThresholds (Maybe Int)+astInstanceCount = lens _astInstanceCount (\s a -> s { _astInstanceCount = a })++-- | The load threshold. For more information about how load is computed, see+-- Load (computing).+astLoadThreshold :: Lens' AutoScalingThresholds (Maybe Double)+astLoadThreshold = lens _astLoadThreshold (\s a -> s { _astLoadThreshold = a })++-- | The memory utilization threshold, as a percent of the available memory.+astMemoryThreshold :: Lens' AutoScalingThresholds (Maybe Double)+astMemoryThreshold =+ lens _astMemoryThreshold (\s a -> s { _astMemoryThreshold = a })++-- | The amount of time, in minutes, that the load must exceed a threshold+-- before more instances are added or removed.+astThresholdsWaitTime :: Lens' AutoScalingThresholds (Maybe Natural)+astThresholdsWaitTime =+ lens _astThresholdsWaitTime (\s a -> s { _astThresholdsWaitTime = a })+ . mapping _Nat++instance FromJSON AutoScalingThresholds where+ parseJSON = withObject "AutoScalingThresholds" $ \o -> AutoScalingThresholds+ <$> o .:? "CpuThreshold"+ <*> o .:? "IgnoreMetricsTime"+ <*> o .:? "InstanceCount"+ <*> o .:? "LoadThreshold"+ <*> o .:? "MemoryThreshold"+ <*> o .:? "ThresholdsWaitTime"++instance ToJSON AutoScalingThresholds where+ toJSON AutoScalingThresholds{..} = object+ [ "InstanceCount" .= _astInstanceCount+ , "ThresholdsWaitTime" .= _astThresholdsWaitTime+ , "IgnoreMetricsTime" .= _astIgnoreMetricsTime+ , "CpuThreshold" .= _astCpuThreshold+ , "MemoryThreshold" .= _astMemoryThreshold+ , "LoadThreshold" .= _astLoadThreshold+ ]++data App = App+ { _appAppId :: Maybe Text+ , _appAppSource :: Maybe Source+ , _appAttributes :: Map Text Text+ , _appCreatedAt :: Maybe Text+ , _appDataSources :: List "DataSources" DataSource+ , _appDescription :: Maybe Text+ , _appDomains :: List "InstanceIds" Text+ , _appEnableSsl :: Maybe Bool+ , _appName :: Maybe Text+ , _appShortname :: Maybe Text+ , _appSslConfiguration :: Maybe SslConfiguration+ , _appStackId :: Maybe Text+ , _appType :: Maybe Text+ } deriving (Eq, Show)++-- | 'App' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'appAppId' @::@ 'Maybe' 'Text'+--+-- * 'appAppSource' @::@ 'Maybe' 'Source'+--+-- * 'appAttributes' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'appCreatedAt' @::@ 'Maybe' 'Text'+--+-- * 'appDataSources' @::@ ['DataSource']+--+-- * 'appDescription' @::@ 'Maybe' 'Text'+--+-- * 'appDomains' @::@ ['Text']+--+-- * 'appEnableSsl' @::@ 'Maybe' 'Bool'+--+-- * 'appName' @::@ 'Maybe' 'Text'+--+-- * 'appShortname' @::@ 'Maybe' 'Text'+--+-- * 'appSslConfiguration' @::@ 'Maybe' 'SslConfiguration'+--+-- * 'appStackId' @::@ 'Maybe' 'Text'+--+-- * 'appType' @::@ 'Maybe' 'Text'+--+app :: App+app = App+ { _appAppId = Nothing+ , _appStackId = Nothing+ , _appShortname = Nothing+ , _appName = Nothing+ , _appDescription = Nothing+ , _appDataSources = mempty+ , _appType = Nothing+ , _appAppSource = Nothing+ , _appDomains = mempty+ , _appEnableSsl = Nothing+ , _appSslConfiguration = Nothing+ , _appAttributes = mempty+ , _appCreatedAt = Nothing+ }++-- | The app ID.+appAppId :: Lens' App (Maybe Text)+appAppId = lens _appAppId (\s a -> s { _appAppId = a })++-- | A Source object that describes the app repository.+appAppSource :: Lens' App (Maybe Source)+appAppSource = lens _appAppSource (\s a -> s { _appAppSource = a })++-- | The stack attributes.+appAttributes :: Lens' App (HashMap Text Text)+appAttributes = lens _appAttributes (\s a -> s { _appAttributes = a }) . _Map++-- | When the app was created.+appCreatedAt :: Lens' App (Maybe Text)+appCreatedAt = lens _appCreatedAt (\s a -> s { _appCreatedAt = a })++-- | The app's data sources.+appDataSources :: Lens' App [DataSource]+appDataSources = lens _appDataSources (\s a -> s { _appDataSources = a }) . _List++-- | A description of the app.+appDescription :: Lens' App (Maybe Text)+appDescription = lens _appDescription (\s a -> s { _appDescription = a })++-- | The app vhost settings with multiple domains separated by commas. For+-- example: 'www.example.com, example.com'.+appDomains :: Lens' App [Text]+appDomains = lens _appDomains (\s a -> s { _appDomains = a }) . _List++-- | Whether to enable SSL for the app.+appEnableSsl :: Lens' App (Maybe Bool)+appEnableSsl = lens _appEnableSsl (\s a -> s { _appEnableSsl = a })++-- | The app name.+appName :: Lens' App (Maybe Text)+appName = lens _appName (\s a -> s { _appName = a })++-- | The app's short name.+appShortname :: Lens' App (Maybe Text)+appShortname = lens _appShortname (\s a -> s { _appShortname = a })++-- | An SslConfiguration object with the SSL configuration.+appSslConfiguration :: Lens' App (Maybe SslConfiguration)+appSslConfiguration =+ lens _appSslConfiguration (\s a -> s { _appSslConfiguration = a })++-- | The app stack ID.+appStackId :: Lens' App (Maybe Text)+appStackId = lens _appStackId (\s a -> s { _appStackId = a })++-- | The app type.+appType :: Lens' App (Maybe Text)+appType = lens _appType (\s a -> s { _appType = a })++instance FromJSON App where+ parseJSON = withObject "App" $ \o -> App+ <$> o .:? "AppId"+ <*> o .:? "AppSource"+ <*> o .: "Attributes"+ <*> o .:? "CreatedAt"+ <*> o .: "DataSources"+ <*> o .:? "Description"+ <*> o .: "Domains"+ <*> o .:? "EnableSsl"+ <*> o .:? "Name"+ <*> o .:? "Shortname"+ <*> o .:? "SslConfiguration"+ <*> o .:? "StackId"+ <*> o .:? "Type"++instance ToJSON App where+ toJSON App{..} = object+ [ "AppId" .= _appAppId+ , "StackId" .= _appStackId+ , "Shortname" .= _appShortname+ , "Name" .= _appName+ , "Description" .= _appDescription+ , "DataSources" .= _appDataSources+ , "Type" .= _appType+ , "AppSource" .= _appAppSource+ , "Domains" .= _appDomains+ , "EnableSsl" .= _appEnableSsl+ , "SslConfiguration" .= _appSslConfiguration+ , "Attributes" .= _appAttributes+ , "CreatedAt" .= _appCreatedAt+ ]++data ElasticIp = ElasticIp+ { _eiDomain :: Maybe Text+ , _eiInstanceId :: Maybe Text+ , _eiIp :: Maybe Text+ , _eiName :: Maybe Text+ , _eiRegion :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'ElasticIp' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'eiDomain' @::@ 'Maybe' 'Text'+--+-- * 'eiInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'eiIp' @::@ 'Maybe' 'Text'+--+-- * 'eiName' @::@ 'Maybe' 'Text'+--+-- * 'eiRegion' @::@ 'Maybe' 'Text'+--+elasticIp :: ElasticIp+elasticIp = ElasticIp+ { _eiIp = Nothing+ , _eiName = Nothing+ , _eiDomain = Nothing+ , _eiRegion = Nothing+ , _eiInstanceId = Nothing+ }++-- | The domain.+eiDomain :: Lens' ElasticIp (Maybe Text)+eiDomain = lens _eiDomain (\s a -> s { _eiDomain = a })++-- | The ID of the instance that the address is attached to.+eiInstanceId :: Lens' ElasticIp (Maybe Text)+eiInstanceId = lens _eiInstanceId (\s a -> s { _eiInstanceId = a })++-- | The IP address.+eiIp :: Lens' ElasticIp (Maybe Text)+eiIp = lens _eiIp (\s a -> s { _eiIp = a })++-- | The name.+eiName :: Lens' ElasticIp (Maybe Text)+eiName = lens _eiName (\s a -> s { _eiName = a })++-- | The AWS region. For more information, see Regions and Endpoints.+eiRegion :: Lens' ElasticIp (Maybe Text)+eiRegion = lens _eiRegion (\s a -> s { _eiRegion = a })++instance FromJSON ElasticIp where+ parseJSON = withObject "ElasticIp" $ \o -> ElasticIp+ <$> o .:? "Domain"+ <*> o .:? "InstanceId"+ <*> o .:? "Ip"+ <*> o .:? "Name"+ <*> o .:? "Region"++instance ToJSON ElasticIp where+ toJSON ElasticIp{..} = object+ [ "Ip" .= _eiIp+ , "Name" .= _eiName+ , "Domain" .= _eiDomain+ , "Region" .= _eiRegion+ , "InstanceId" .= _eiInstanceId+ ]++data UserProfile = UserProfile+ { _upAllowSelfManagement :: Maybe Bool+ , _upIamUserArn :: Maybe Text+ , _upName :: Maybe Text+ , _upSshPublicKey :: Maybe Text+ , _upSshUsername :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'UserProfile' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'upAllowSelfManagement' @::@ 'Maybe' 'Bool'+--+-- * 'upIamUserArn' @::@ 'Maybe' 'Text'+--+-- * 'upName' @::@ 'Maybe' 'Text'+--+-- * 'upSshPublicKey' @::@ 'Maybe' 'Text'+--+-- * 'upSshUsername' @::@ 'Maybe' 'Text'+--+userProfile :: UserProfile+userProfile = UserProfile+ { _upIamUserArn = Nothing+ , _upName = Nothing+ , _upSshUsername = Nothing+ , _upSshPublicKey = Nothing+ , _upAllowSelfManagement = Nothing+ }++-- | Whether users can specify their own SSH public key through the My+-- Settings page. For more information, see Managing User Permissions.+upAllowSelfManagement :: Lens' UserProfile (Maybe Bool)+upAllowSelfManagement =+ lens _upAllowSelfManagement (\s a -> s { _upAllowSelfManagement = a })++-- | The user's IAM ARN.+upIamUserArn :: Lens' UserProfile (Maybe Text)+upIamUserArn = lens _upIamUserArn (\s a -> s { _upIamUserArn = a })++-- | The user's name.+upName :: Lens' UserProfile (Maybe Text)+upName = lens _upName (\s a -> s { _upName = a })++-- | The user's SSH public key.+upSshPublicKey :: Lens' UserProfile (Maybe Text)+upSshPublicKey = lens _upSshPublicKey (\s a -> s { _upSshPublicKey = a })++-- | The user's SSH user name.+upSshUsername :: Lens' UserProfile (Maybe Text)+upSshUsername = lens _upSshUsername (\s a -> s { _upSshUsername = a })++instance FromJSON UserProfile where+ parseJSON = withObject "UserProfile" $ \o -> UserProfile+ <$> o .:? "AllowSelfManagement"+ <*> o .:? "IamUserArn"+ <*> o .:? "Name"+ <*> o .:? "SshPublicKey"+ <*> o .:? "SshUsername"++instance ToJSON UserProfile where+ toJSON UserProfile{..} = object+ [ "IamUserArn" .= _upIamUserArn+ , "Name" .= _upName+ , "SshUsername" .= _upSshUsername+ , "SshPublicKey" .= _upSshPublicKey+ , "AllowSelfManagement" .= _upAllowSelfManagement+ ]++data AutoScalingType+ = Load -- ^ load+ | Timer -- ^ timer+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable AutoScalingType++instance FromText AutoScalingType where+ parser = match "load" Load+ <|> match "timer" Timer++instance ToText AutoScalingType where+ toText = \case+ Load -> "load"+ Timer -> "timer"++instance FromJSON AutoScalingType where+ parseJSON = parseJSONText "AutoScalingType"++instance ToJSON AutoScalingType where+ toJSON = toJSONText++data Source = Source+ { _sPassword :: Maybe Text+ , _sRevision :: Maybe Text+ , _sSshKey :: Maybe Text+ , _sType :: Maybe Text+ , _sUrl :: Maybe Text+ , _sUsername :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'Source' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'sPassword' @::@ 'Maybe' 'Text'+--+-- * 'sRevision' @::@ 'Maybe' 'Text'+--+-- * 'sSshKey' @::@ 'Maybe' 'Text'+--+-- * 'sType' @::@ 'Maybe' 'Text'+--+-- * 'sUrl' @::@ 'Maybe' 'Text'+--+-- * 'sUsername' @::@ 'Maybe' 'Text'+--+source :: Source+source = Source+ { _sType = Nothing+ , _sUrl = Nothing+ , _sUsername = Nothing+ , _sPassword = Nothing+ , _sSshKey = Nothing+ , _sRevision = Nothing+ }++-- | This parameter depends on the repository type. For Amazon S3 bundles, set+-- Password to the appropriate IAM secret access key. For HTTP bundles and+-- Subversion repositories, set Password to the password. For more+-- information on how to safely handle IAM credentials, see .+sPassword :: Lens' Source (Maybe Text)+sPassword = lens _sPassword (\s a -> s { _sPassword = a })++-- | The application's version. AWS OpsWorks enables you to easily deploy new+-- versions of an application. One of the simplest approaches is to have+-- branches or revisions in your repository that represent different+-- versions that can potentially be deployed.+sRevision :: Lens' Source (Maybe Text)+sRevision = lens _sRevision (\s a -> s { _sRevision = a })++-- | The repository's SSH key.+sSshKey :: Lens' Source (Maybe Text)+sSshKey = lens _sSshKey (\s a -> s { _sSshKey = a })++-- | The repository type.+sType :: Lens' Source (Maybe Text)+sType = lens _sType (\s a -> s { _sType = a })++-- | The source URL.+sUrl :: Lens' Source (Maybe Text)+sUrl = lens _sUrl (\s a -> s { _sUrl = a })++-- | This parameter depends on the repository type. For Amazon S3 bundles, set+-- Username to the appropriate IAM access key ID. For HTTP bundles, Git+-- repositories, and Subversion repositories, set Username to the user name.+sUsername :: Lens' Source (Maybe Text)+sUsername = lens _sUsername (\s a -> s { _sUsername = a })++instance FromJSON Source where+ parseJSON = withObject "Source" $ \o -> Source+ <$> o .:? "Password"+ <*> o .:? "Revision"+ <*> o .:? "SshKey"+ <*> o .:? "Type"+ <*> o .:? "Url"+ <*> o .:? "Username"++instance ToJSON Source where+ toJSON Source{..} = object+ [ "Type" .= _sType+ , "Url" .= _sUrl+ , "Username" .= _sUsername+ , "Password" .= _sPassword+ , "SshKey" .= _sSshKey+ , "Revision" .= _sRevision+ ]++data DataSource = DataSource+ { _dsArn :: Maybe Text+ , _dsDatabaseName :: Maybe Text+ , _dsType :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DataSource' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsArn' @::@ 'Maybe' 'Text'+--+-- * 'dsDatabaseName' @::@ 'Maybe' 'Text'+--+-- * 'dsType' @::@ 'Maybe' 'Text'+--+dataSource :: DataSource+dataSource = DataSource+ { _dsType = Nothing+ , _dsArn = Nothing+ , _dsDatabaseName = Nothing+ }++-- | The data source's ARN.+dsArn :: Lens' DataSource (Maybe Text)+dsArn = lens _dsArn (\s a -> s { _dsArn = a })++-- | The database name.+dsDatabaseName :: Lens' DataSource (Maybe Text)+dsDatabaseName = lens _dsDatabaseName (\s a -> s { _dsDatabaseName = a })++-- | The data source's type, AutoSelectOpsworksMysqlInstance,+-- OpsworksMysqlInstance, or RdsDbInstance.+dsType :: Lens' DataSource (Maybe Text)+dsType = lens _dsType (\s a -> s { _dsType = a })++instance FromJSON DataSource where+ parseJSON = withObject "DataSource" $ \o -> DataSource+ <$> o .:? "Arn"+ <*> o .:? "DatabaseName"+ <*> o .:? "Type"++instance ToJSON DataSource where+ toJSON DataSource{..} = object+ [ "Type" .= _dsType+ , "Arn" .= _dsArn+ , "DatabaseName" .= _dsDatabaseName+ ]++data Architecture+ = I386 -- ^ i386+ | X8664 -- ^ x86_64+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable Architecture++instance FromText Architecture where+ parser = match "i386" I386+ <|> match "x86_64" X8664++instance ToText Architecture where+ toText = \case+ I386 -> "i386"+ X8664 -> "x86_64"++instance FromJSON Architecture where+ parseJSON = parseJSONText "Architecture"++instance ToJSON Architecture where+ toJSON = toJSONText++data StackConfigurationManager = StackConfigurationManager+ { _scmName :: Maybe Text+ , _scmVersion :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'StackConfigurationManager' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'scmName' @::@ 'Maybe' 'Text'+--+-- * 'scmVersion' @::@ 'Maybe' 'Text'+--+stackConfigurationManager :: StackConfigurationManager+stackConfigurationManager = StackConfigurationManager+ { _scmName = Nothing+ , _scmVersion = Nothing+ }++-- | The name. This parameter must be set to "Chef".+scmName :: Lens' StackConfigurationManager (Maybe Text)+scmName = lens _scmName (\s a -> s { _scmName = a })++-- | The Chef version. This parameter must be set to 0.9, 11.4, or 11.10. The+-- default value is 11.4.+scmVersion :: Lens' StackConfigurationManager (Maybe Text)+scmVersion = lens _scmVersion (\s a -> s { _scmVersion = a })++instance FromJSON StackConfigurationManager where+ parseJSON = withObject "StackConfigurationManager" $ \o -> StackConfigurationManager+ <$> o .:? "Name"+ <*> o .:? "Version"++instance ToJSON StackConfigurationManager where+ toJSON StackConfigurationManager{..} = object+ [ "Name" .= _scmName+ , "Version" .= _scmVersion+ ]++data LayerAttributesKeys+ = BundlerVersion -- ^ BundlerVersion+ | EnableHaproxyStats -- ^ EnableHaproxyStats+ | GangliaPassword -- ^ GangliaPassword+ | GangliaUrl -- ^ GangliaUrl+ | GangliaUser -- ^ GangliaUser+ | HaproxyHealthCheckMethod -- ^ HaproxyHealthCheckMethod+ | HaproxyHealthCheckUrl -- ^ HaproxyHealthCheckUrl+ | HaproxyStatsPassword -- ^ HaproxyStatsPassword+ | HaproxyStatsUrl -- ^ HaproxyStatsUrl+ | HaproxyStatsUser -- ^ HaproxyStatsUser+ | JavaAppServer -- ^ JavaAppServer+ | JavaAppServerVersion -- ^ JavaAppServerVersion+ | Jvm -- ^ Jvm+ | JvmOptions -- ^ JvmOptions+ | JvmVersion -- ^ JvmVersion+ | ManageBundler -- ^ ManageBundler+ | MemcachedMemory -- ^ MemcachedMemory+ | MysqlRootPassword -- ^ MysqlRootPassword+ | MysqlRootPasswordUbiquitous -- ^ MysqlRootPasswordUbiquitous+ | NodejsVersion -- ^ NodejsVersion+ | PassengerVersion -- ^ PassengerVersion+ | RailsStack -- ^ RailsStack+ | RubyVersion -- ^ RubyVersion+ | RubygemsVersion -- ^ RubygemsVersion+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable LayerAttributesKeys++instance FromText LayerAttributesKeys where+ parser = match "BundlerVersion" BundlerVersion+ <|> match "EnableHaproxyStats" EnableHaproxyStats+ <|> match "GangliaPassword" GangliaPassword+ <|> match "GangliaUrl" GangliaUrl+ <|> match "GangliaUser" GangliaUser+ <|> match "HaproxyHealthCheckMethod" HaproxyHealthCheckMethod+ <|> match "HaproxyHealthCheckUrl" HaproxyHealthCheckUrl+ <|> match "HaproxyStatsPassword" HaproxyStatsPassword+ <|> match "HaproxyStatsUrl" HaproxyStatsUrl+ <|> match "HaproxyStatsUser" HaproxyStatsUser+ <|> match "JavaAppServer" JavaAppServer+ <|> match "JavaAppServerVersion" JavaAppServerVersion+ <|> match "Jvm" Jvm+ <|> match "JvmOptions" JvmOptions+ <|> match "JvmVersion" JvmVersion+ <|> match "ManageBundler" ManageBundler+ <|> match "MemcachedMemory" MemcachedMemory+ <|> match "MysqlRootPassword" MysqlRootPassword+ <|> match "MysqlRootPasswordUbiquitous" MysqlRootPasswordUbiquitous+ <|> match "NodejsVersion" NodejsVersion+ <|> match "PassengerVersion" PassengerVersion+ <|> match "RailsStack" RailsStack+ <|> match "RubyVersion" RubyVersion+ <|> match "RubygemsVersion" RubygemsVersion++instance ToText LayerAttributesKeys where+ toText = \case+ BundlerVersion -> "BundlerVersion"+ EnableHaproxyStats -> "EnableHaproxyStats"+ GangliaPassword -> "GangliaPassword"+ GangliaUrl -> "GangliaUrl"+ GangliaUser -> "GangliaUser"+ HaproxyHealthCheckMethod -> "HaproxyHealthCheckMethod"+ HaproxyHealthCheckUrl -> "HaproxyHealthCheckUrl"+ HaproxyStatsPassword -> "HaproxyStatsPassword"+ HaproxyStatsUrl -> "HaproxyStatsUrl"+ HaproxyStatsUser -> "HaproxyStatsUser"+ JavaAppServer -> "JavaAppServer"+ JavaAppServerVersion -> "JavaAppServerVersion"+ Jvm -> "Jvm"+ JvmOptions -> "JvmOptions"+ JvmVersion -> "JvmVersion"+ ManageBundler -> "ManageBundler"+ MemcachedMemory -> "MemcachedMemory"+ MysqlRootPassword -> "MysqlRootPassword"+ MysqlRootPasswordUbiquitous -> "MysqlRootPasswordUbiquitous"+ NodejsVersion -> "NodejsVersion"+ PassengerVersion -> "PassengerVersion"+ RailsStack -> "RailsStack"+ RubyVersion -> "RubyVersion"+ RubygemsVersion -> "RubygemsVersion"++instance FromJSON LayerAttributesKeys where+ parseJSON = parseJSONText "LayerAttributesKeys"++instance ToJSON LayerAttributesKeys where+ toJSON = toJSONText++data VolumeConfiguration = VolumeConfiguration+ { _vcIops :: Maybe Int+ , _vcMountPoint :: Text+ , _vcNumberOfDisks :: Int+ , _vcRaidLevel :: Maybe Int+ , _vcSize :: Int+ , _vcVolumeType :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'VolumeConfiguration' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'vcIops' @::@ 'Maybe' 'Int'+--+-- * 'vcMountPoint' @::@ 'Text'+--+-- * 'vcNumberOfDisks' @::@ 'Int'+--+-- * 'vcRaidLevel' @::@ 'Maybe' 'Int'+--+-- * 'vcSize' @::@ 'Int'+--+-- * 'vcVolumeType' @::@ 'Maybe' 'Text'+--+volumeConfiguration :: Text -- ^ 'vcMountPoint'+ -> Int -- ^ 'vcNumberOfDisks'+ -> Int -- ^ 'vcSize'+ -> VolumeConfiguration+volumeConfiguration p1 p2 p3 = VolumeConfiguration+ { _vcMountPoint = p1+ , _vcNumberOfDisks = p2+ , _vcSize = p3+ , _vcRaidLevel = Nothing+ , _vcVolumeType = Nothing+ , _vcIops = Nothing+ }++-- | For PIOPS volumes, the IOPS per disk.+vcIops :: Lens' VolumeConfiguration (Maybe Int)+vcIops = lens _vcIops (\s a -> s { _vcIops = a })++-- | The volume mount point. For example "/dev/sdh".+vcMountPoint :: Lens' VolumeConfiguration Text+vcMountPoint = lens _vcMountPoint (\s a -> s { _vcMountPoint = a })++-- | The number of disks in the volume.+vcNumberOfDisks :: Lens' VolumeConfiguration Int+vcNumberOfDisks = lens _vcNumberOfDisks (\s a -> s { _vcNumberOfDisks = a })++-- | The volume RAID level.+vcRaidLevel :: Lens' VolumeConfiguration (Maybe Int)+vcRaidLevel = lens _vcRaidLevel (\s a -> s { _vcRaidLevel = a })++-- | The volume size.+vcSize :: Lens' VolumeConfiguration Int+vcSize = lens _vcSize (\s a -> s { _vcSize = a })++-- | The volume type, standard or PIOPS.+vcVolumeType :: Lens' VolumeConfiguration (Maybe Text)+vcVolumeType = lens _vcVolumeType (\s a -> s { _vcVolumeType = a })++instance FromJSON VolumeConfiguration where+ parseJSON = withObject "VolumeConfiguration" $ \o -> VolumeConfiguration+ <$> o .:? "Iops"+ <*> o .: "MountPoint"+ <*> o .: "NumberOfDisks"+ <*> o .:? "RaidLevel"+ <*> o .: "Size"+ <*> o .:? "VolumeType"++instance ToJSON VolumeConfiguration where+ toJSON VolumeConfiguration{..} = object+ [ "MountPoint" .= _vcMountPoint+ , "RaidLevel" .= _vcRaidLevel+ , "NumberOfDisks" .= _vcNumberOfDisks+ , "Size" .= _vcSize+ , "VolumeType" .= _vcVolumeType+ , "Iops" .= _vcIops+ ]++data Permission = Permission+ { _pAllowSsh :: Maybe Bool+ , _pAllowSudo :: Maybe Bool+ , _pIamUserArn :: Maybe Text+ , _pLevel :: Maybe Text+ , _pStackId :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'Permission' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'pAllowSsh' @::@ 'Maybe' 'Bool'+--+-- * 'pAllowSudo' @::@ 'Maybe' 'Bool'+--+-- * 'pIamUserArn' @::@ 'Maybe' 'Text'+--+-- * 'pLevel' @::@ 'Maybe' 'Text'+--+-- * 'pStackId' @::@ 'Maybe' 'Text'+--+permission :: Permission+permission = Permission+ { _pStackId = Nothing+ , _pIamUserArn = Nothing+ , _pAllowSsh = Nothing+ , _pAllowSudo = Nothing+ , _pLevel = Nothing+ }++-- | Whether the user can use SSH.+pAllowSsh :: Lens' Permission (Maybe Bool)+pAllowSsh = lens _pAllowSsh (\s a -> s { _pAllowSsh = a })++-- | Whether the user can use sudo.+pAllowSudo :: Lens' Permission (Maybe Bool)+pAllowSudo = lens _pAllowSudo (\s a -> s { _pAllowSudo = a })++-- | The Amazon Resource Name (ARN) for an AWS Identity and Access Management+-- (IAM) role. For more information about IAM ARNs, see Using Identifiers.+pIamUserArn :: Lens' Permission (Maybe Text)+pIamUserArn = lens _pIamUserArn (\s a -> s { _pIamUserArn = a })++-- | The user's permission level, which must be the following: deny show+-- deploy manage iam_only For more information on the permissions associated+-- with these levels, see Managing User Permissions.+pLevel :: Lens' Permission (Maybe Text)+pLevel = lens _pLevel (\s a -> s { _pLevel = a })++-- | A stack ID.+pStackId :: Lens' Permission (Maybe Text)+pStackId = lens _pStackId (\s a -> s { _pStackId = a })++instance FromJSON Permission where+ parseJSON = withObject "Permission" $ \o -> Permission+ <$> o .:? "AllowSsh"+ <*> o .:? "AllowSudo"+ <*> o .:? "IamUserArn"+ <*> o .:? "Level"+ <*> o .:? "StackId"++instance ToJSON Permission where+ toJSON Permission{..} = object+ [ "StackId" .= _pStackId+ , "IamUserArn" .= _pIamUserArn+ , "AllowSsh" .= _pAllowSsh+ , "AllowSudo" .= _pAllowSudo+ , "Level" .= _pLevel+ ]++data Layer = Layer+ { _lAttributes :: Map Text Text+ , _lAutoAssignElasticIps :: Maybe Bool+ , _lAutoAssignPublicIps :: Maybe Bool+ , _lCreatedAt :: Maybe Text+ , _lCustomInstanceProfileArn :: Maybe Text+ , _lCustomRecipes :: Maybe Recipes+ , _lCustomSecurityGroupIds :: List "InstanceIds" Text+ , _lDefaultRecipes :: Maybe Recipes+ , _lDefaultSecurityGroupNames :: List "InstanceIds" Text+ , _lEnableAutoHealing :: Maybe Bool+ , _lInstallUpdatesOnBoot :: Maybe Bool+ , _lLayerId :: Maybe Text+ , _lName :: Maybe Text+ , _lPackages :: List "InstanceIds" Text+ , _lShortname :: Maybe Text+ , _lStackId :: Maybe Text+ , _lType :: Maybe Text+ , _lUseEbsOptimizedInstances :: Maybe Bool+ , _lVolumeConfigurations :: List "VolumeConfigurations" VolumeConfiguration+ } deriving (Eq, Show)++-- | 'Layer' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lAttributes' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'lAutoAssignElasticIps' @::@ 'Maybe' 'Bool'+--+-- * 'lAutoAssignPublicIps' @::@ 'Maybe' 'Bool'+--+-- * 'lCreatedAt' @::@ 'Maybe' 'Text'+--+-- * 'lCustomInstanceProfileArn' @::@ 'Maybe' 'Text'+--+-- * 'lCustomRecipes' @::@ 'Maybe' 'Recipes'+--+-- * 'lCustomSecurityGroupIds' @::@ ['Text']+--+-- * 'lDefaultRecipes' @::@ 'Maybe' 'Recipes'+--+-- * 'lDefaultSecurityGroupNames' @::@ ['Text']+--+-- * 'lEnableAutoHealing' @::@ 'Maybe' 'Bool'+--+-- * 'lInstallUpdatesOnBoot' @::@ 'Maybe' 'Bool'+--+-- * 'lLayerId' @::@ 'Maybe' 'Text'+--+-- * 'lName' @::@ 'Maybe' 'Text'+--+-- * 'lPackages' @::@ ['Text']+--+-- * 'lShortname' @::@ 'Maybe' 'Text'+--+-- * 'lStackId' @::@ 'Maybe' 'Text'+--+-- * 'lType' @::@ 'Maybe' 'Text'+--+-- * 'lUseEbsOptimizedInstances' @::@ 'Maybe' 'Bool'+--+-- * 'lVolumeConfigurations' @::@ ['VolumeConfiguration']+--+layer :: Layer+layer = Layer+ { _lStackId = Nothing+ , _lLayerId = Nothing+ , _lType = Nothing+ , _lName = Nothing+ , _lShortname = Nothing+ , _lAttributes = mempty+ , _lCustomInstanceProfileArn = Nothing+ , _lCustomSecurityGroupIds = mempty+ , _lDefaultSecurityGroupNames = mempty+ , _lPackages = mempty+ , _lVolumeConfigurations = mempty+ , _lEnableAutoHealing = Nothing+ , _lAutoAssignElasticIps = Nothing+ , _lAutoAssignPublicIps = Nothing+ , _lDefaultRecipes = Nothing+ , _lCustomRecipes = Nothing+ , _lCreatedAt = Nothing+ , _lInstallUpdatesOnBoot = Nothing+ , _lUseEbsOptimizedInstances = Nothing+ }++-- | The layer attributes.+lAttributes :: Lens' Layer (HashMap Text Text)+lAttributes = lens _lAttributes (\s a -> s { _lAttributes = a }) . _Map++-- | Whether to automatically assign an Elastic IP address to the layer's+-- instances. For more information, see How to Edit a Layer.+lAutoAssignElasticIps :: Lens' Layer (Maybe Bool)+lAutoAssignElasticIps =+ lens _lAutoAssignElasticIps (\s a -> s { _lAutoAssignElasticIps = a })++-- | For stacks that are running in a VPC, whether to automatically assign a+-- public IP address to the layer's instances. For more information, see How+-- to Edit a Layer.+lAutoAssignPublicIps :: Lens' Layer (Maybe Bool)+lAutoAssignPublicIps =+ lens _lAutoAssignPublicIps (\s a -> s { _lAutoAssignPublicIps = a })++-- | Date when the layer was created.+lCreatedAt :: Lens' Layer (Maybe Text)+lCreatedAt = lens _lCreatedAt (\s a -> s { _lCreatedAt = a })++-- | The ARN of the default IAM profile to be used for the layer's EC2+-- instances. For more information about IAM ARNs, see Using Identifiers.+lCustomInstanceProfileArn :: Lens' Layer (Maybe Text)+lCustomInstanceProfileArn =+ lens _lCustomInstanceProfileArn+ (\s a -> s { _lCustomInstanceProfileArn = a })++-- | A LayerCustomRecipes object that specifies the layer's custom recipes.+lCustomRecipes :: Lens' Layer (Maybe Recipes)+lCustomRecipes = lens _lCustomRecipes (\s a -> s { _lCustomRecipes = a })++-- | An array containing the layer's custom security group IDs.+lCustomSecurityGroupIds :: Lens' Layer [Text]+lCustomSecurityGroupIds =+ lens _lCustomSecurityGroupIds (\s a -> s { _lCustomSecurityGroupIds = a })+ . _List++lDefaultRecipes :: Lens' Layer (Maybe Recipes)+lDefaultRecipes = lens _lDefaultRecipes (\s a -> s { _lDefaultRecipes = a })++-- | An array containing the layer's security group names.+lDefaultSecurityGroupNames :: Lens' Layer [Text]+lDefaultSecurityGroupNames =+ lens _lDefaultSecurityGroupNames+ (\s a -> s { _lDefaultSecurityGroupNames = a })+ . _List++-- | Whether auto healing is disabled for the layer.+lEnableAutoHealing :: Lens' Layer (Maybe Bool)+lEnableAutoHealing =+ lens _lEnableAutoHealing (\s a -> s { _lEnableAutoHealing = a })++-- | Whether to install operating system and package updates when the instance+-- boots. The default value is true. If this value is set to false, you must+-- then update your instances manually by using CreateDeployment to run the+-- update_dependencies stack command or manually running yum (Amazon Linux)+-- or apt-get (Ubuntu) on the instances.+lInstallUpdatesOnBoot :: Lens' Layer (Maybe Bool)+lInstallUpdatesOnBoot =+ lens _lInstallUpdatesOnBoot (\s a -> s { _lInstallUpdatesOnBoot = a })++-- | The layer ID.+lLayerId :: Lens' Layer (Maybe Text)+lLayerId = lens _lLayerId (\s a -> s { _lLayerId = a })++-- | The layer name.+lName :: Lens' Layer (Maybe Text)+lName = lens _lName (\s a -> s { _lName = a })++-- | An array of Package objects that describe the layer's packages.+lPackages :: Lens' Layer [Text]+lPackages = lens _lPackages (\s a -> s { _lPackages = a }) . _List++-- | The layer short name.+lShortname :: Lens' Layer (Maybe Text)+lShortname = lens _lShortname (\s a -> s { _lShortname = a })++-- | The layer stack ID.+lStackId :: Lens' Layer (Maybe Text)+lStackId = lens _lStackId (\s a -> s { _lStackId = a })++-- | The layer type, which must be one of the following: Custom+-- GangliaMonitoringMaster HaProxy MemcachedServer MySqlMaster+-- NodeJsAppServer PhpAppServer RailsAppServer WebServer.+lType :: Lens' Layer (Maybe Text)+lType = lens _lType (\s a -> s { _lType = a })++-- | Whether the layer uses Amazon EBS-optimized instances.+lUseEbsOptimizedInstances :: Lens' Layer (Maybe Bool)+lUseEbsOptimizedInstances =+ lens _lUseEbsOptimizedInstances+ (\s a -> s { _lUseEbsOptimizedInstances = a })++-- | A VolumeConfigurations object that describes the layer's Amazon EBS+-- volumes.+lVolumeConfigurations :: Lens' Layer [VolumeConfiguration]+lVolumeConfigurations =+ lens _lVolumeConfigurations (\s a -> s { _lVolumeConfigurations = a })+ . _List++instance FromJSON Layer where+ parseJSON = withObject "Layer" $ \o -> Layer+ <$> o .: "Attributes"+ <*> o .:? "AutoAssignElasticIps"+ <*> o .:? "AutoAssignPublicIps"+ <*> o .:? "CreatedAt"+ <*> o .:? "CustomInstanceProfileArn"+ <*> o .:? "CustomRecipes"+ <*> o .: "CustomSecurityGroupIds"+ <*> o .:? "DefaultRecipes"+ <*> o .: "DefaultSecurityGroupNames"+ <*> o .:? "EnableAutoHealing"+ <*> o .:? "InstallUpdatesOnBoot"+ <*> o .:? "LayerId"+ <*> o .:? "Name"+ <*> o .: "Packages"+ <*> o .:? "Shortname"+ <*> o .:? "StackId"+ <*> o .:? "Type"+ <*> o .:? "UseEbsOptimizedInstances"+ <*> o .: "VolumeConfigurations"++instance ToJSON Layer where+ toJSON Layer{..} = object+ [ "StackId" .= _lStackId+ , "LayerId" .= _lLayerId+ , "Type" .= _lType+ , "Name" .= _lName+ , "Shortname" .= _lShortname+ , "Attributes" .= _lAttributes+ , "CustomInstanceProfileArn" .= _lCustomInstanceProfileArn+ , "CustomSecurityGroupIds" .= _lCustomSecurityGroupIds+ , "DefaultSecurityGroupNames" .= _lDefaultSecurityGroupNames+ , "Packages" .= _lPackages+ , "VolumeConfigurations" .= _lVolumeConfigurations+ , "EnableAutoHealing" .= _lEnableAutoHealing+ , "AutoAssignElasticIps" .= _lAutoAssignElasticIps+ , "AutoAssignPublicIps" .= _lAutoAssignPublicIps+ , "DefaultRecipes" .= _lDefaultRecipes+ , "CustomRecipes" .= _lCustomRecipes+ , "CreatedAt" .= _lCreatedAt+ , "InstallUpdatesOnBoot" .= _lInstallUpdatesOnBoot+ , "UseEbsOptimizedInstances" .= _lUseEbsOptimizedInstances+ ]++data Recipes = Recipes+ { _rConfigure :: List "InstanceIds" Text+ , _rDeploy :: List "InstanceIds" Text+ , _rSetup :: List "InstanceIds" Text+ , _rShutdown :: List "InstanceIds" Text+ , _rUndeploy :: List "InstanceIds" Text+ } deriving (Eq, Ord, Show)++-- | 'Recipes' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rConfigure' @::@ ['Text']+--+-- * 'rDeploy' @::@ ['Text']+--+-- * 'rSetup' @::@ ['Text']+--+-- * 'rShutdown' @::@ ['Text']+--+-- * 'rUndeploy' @::@ ['Text']+--+recipes :: Recipes+recipes = Recipes+ { _rSetup = mempty+ , _rConfigure = mempty+ , _rDeploy = mempty+ , _rUndeploy = mempty+ , _rShutdown = mempty+ }++-- | An array of custom recipe names to be run following a configure event.+rConfigure :: Lens' Recipes [Text]+rConfigure = lens _rConfigure (\s a -> s { _rConfigure = a }) . _List++-- | An array of custom recipe names to be run following a deploy event.+rDeploy :: Lens' Recipes [Text]+rDeploy = lens _rDeploy (\s a -> s { _rDeploy = a }) . _List++-- | An array of custom recipe names to be run following a setup event.+rSetup :: Lens' Recipes [Text]+rSetup = lens _rSetup (\s a -> s { _rSetup = a }) . _List++-- | An array of custom recipe names to be run following a shutdown event.+rShutdown :: Lens' Recipes [Text]+rShutdown = lens _rShutdown (\s a -> s { _rShutdown = a }) . _List++-- | An array of custom recipe names to be run following a undeploy event.+rUndeploy :: Lens' Recipes [Text]+rUndeploy = lens _rUndeploy (\s a -> s { _rUndeploy = a }) . _List++instance FromJSON Recipes where+ parseJSON = withObject "Recipes" $ \o -> Recipes+ <$> o .: "Configure"+ <*> o .: "Deploy"+ <*> o .: "Setup"+ <*> o .: "Shutdown"+ <*> o .: "Undeploy"++instance ToJSON Recipes where+ toJSON Recipes{..} = object+ [ "Setup" .= _rSetup+ , "Configure" .= _rConfigure+ , "Deploy" .= _rDeploy+ , "Undeploy" .= _rUndeploy+ , "Shutdown" .= _rShutdown+ ]++data TimeBasedAutoScalingConfiguration = TimeBasedAutoScalingConfiguration+ { _tbascAutoScalingSchedule :: Maybe WeeklyAutoScalingSchedule+ , _tbascInstanceId :: Maybe Text+ } deriving (Eq, Show)++-- | 'TimeBasedAutoScalingConfiguration' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tbascAutoScalingSchedule' @::@ 'Maybe' 'WeeklyAutoScalingSchedule'+--+-- * 'tbascInstanceId' @::@ 'Maybe' 'Text'+--+timeBasedAutoScalingConfiguration :: TimeBasedAutoScalingConfiguration+timeBasedAutoScalingConfiguration = TimeBasedAutoScalingConfiguration+ { _tbascInstanceId = Nothing+ , _tbascAutoScalingSchedule = Nothing+ }++-- | A WeeklyAutoScalingSchedule object with the instance schedule.+tbascAutoScalingSchedule :: Lens' TimeBasedAutoScalingConfiguration (Maybe WeeklyAutoScalingSchedule)+tbascAutoScalingSchedule =+ lens _tbascAutoScalingSchedule+ (\s a -> s { _tbascAutoScalingSchedule = a })++-- | The instance ID.+tbascInstanceId :: Lens' TimeBasedAutoScalingConfiguration (Maybe Text)+tbascInstanceId = lens _tbascInstanceId (\s a -> s { _tbascInstanceId = a })++instance FromJSON TimeBasedAutoScalingConfiguration where+ parseJSON = withObject "TimeBasedAutoScalingConfiguration" $ \o -> TimeBasedAutoScalingConfiguration+ <$> o .:? "AutoScalingSchedule"+ <*> o .:? "InstanceId"++instance ToJSON TimeBasedAutoScalingConfiguration where+ toJSON TimeBasedAutoScalingConfiguration{..} = object+ [ "InstanceId" .= _tbascInstanceId+ , "AutoScalingSchedule" .= _tbascAutoScalingSchedule+ ]++data SelfUserProfile = SelfUserProfile+ { _supIamUserArn :: Maybe Text+ , _supName :: Maybe Text+ , _supSshPublicKey :: Maybe Text+ , _supSshUsername :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'SelfUserProfile' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'supIamUserArn' @::@ 'Maybe' 'Text'+--+-- * 'supName' @::@ 'Maybe' 'Text'+--+-- * 'supSshPublicKey' @::@ 'Maybe' 'Text'+--+-- * 'supSshUsername' @::@ 'Maybe' 'Text'+--+selfUserProfile :: SelfUserProfile+selfUserProfile = SelfUserProfile+ { _supIamUserArn = Nothing+ , _supName = Nothing+ , _supSshUsername = Nothing+ , _supSshPublicKey = Nothing+ }++-- | The user's IAM ARN.+supIamUserArn :: Lens' SelfUserProfile (Maybe Text)+supIamUserArn = lens _supIamUserArn (\s a -> s { _supIamUserArn = a })++-- | The user's name.+supName :: Lens' SelfUserProfile (Maybe Text)+supName = lens _supName (\s a -> s { _supName = a })++-- | The user's SSH public key.+supSshPublicKey :: Lens' SelfUserProfile (Maybe Text)+supSshPublicKey = lens _supSshPublicKey (\s a -> s { _supSshPublicKey = a })++-- | The user's SSH user name.+supSshUsername :: Lens' SelfUserProfile (Maybe Text)+supSshUsername = lens _supSshUsername (\s a -> s { _supSshUsername = a })++instance FromJSON SelfUserProfile where+ parseJSON = withObject "SelfUserProfile" $ \o -> SelfUserProfile+ <$> o .:? "IamUserArn"+ <*> o .:? "Name"+ <*> o .:? "SshPublicKey"+ <*> o .:? "SshUsername"++instance ToJSON SelfUserProfile where+ toJSON SelfUserProfile{..} = object+ [ "IamUserArn" .= _supIamUserArn+ , "Name" .= _supName+ , "SshUsername" .= _supSshUsername+ , "SshPublicKey" .= _supSshPublicKey+ ]++data RootDeviceType+ = Ebs -- ^ ebs+ | InstanceStore -- ^ instance-store+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable RootDeviceType++instance FromText RootDeviceType where+ parser = match "ebs" Ebs+ <|> match "instance-store" InstanceStore++instance ToText RootDeviceType where+ toText = \case+ Ebs -> "ebs"+ InstanceStore -> "instance-store"++instance FromJSON RootDeviceType where+ parseJSON = parseJSONText "RootDeviceType"++instance ToJSON RootDeviceType where+ toJSON = toJSONText++data Stack = Stack+ { _sArn :: Maybe Text+ , _sAttributes :: Map Text Text+ , _sChefConfiguration :: Maybe ChefConfiguration+ , _sConfigurationManager :: Maybe StackConfigurationManager+ , _sCreatedAt :: Maybe Text+ , _sCustomCookbooksSource :: Maybe Source+ , _sCustomJson :: Maybe Text+ , _sDefaultAvailabilityZone :: Maybe Text+ , _sDefaultInstanceProfileArn :: Maybe Text+ , _sDefaultOs :: Maybe Text+ , _sDefaultRootDeviceType :: Maybe Text+ , _sDefaultSshKeyName :: Maybe Text+ , _sDefaultSubnetId :: Maybe Text+ , _sHostnameTheme :: Maybe Text+ , _sName :: Maybe Text+ , _sRegion :: Maybe Text+ , _sServiceRoleArn :: Maybe Text+ , _sStackId :: Maybe Text+ , _sUseCustomCookbooks :: Maybe Bool+ , _sUseOpsworksSecurityGroups :: Maybe Bool+ , _sVpcId :: Maybe Text+ } deriving (Eq, Show)++-- | 'Stack' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'sArn' @::@ 'Maybe' 'Text'+--+-- * 'sAttributes' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'sChefConfiguration' @::@ 'Maybe' 'ChefConfiguration'+--+-- * 'sConfigurationManager' @::@ 'Maybe' 'StackConfigurationManager'+--+-- * 'sCreatedAt' @::@ 'Maybe' 'Text'+--+-- * 'sCustomCookbooksSource' @::@ 'Maybe' 'Source'+--+-- * 'sCustomJson' @::@ 'Maybe' 'Text'+--+-- * 'sDefaultAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'sDefaultInstanceProfileArn' @::@ 'Maybe' 'Text'+--+-- * 'sDefaultOs' @::@ 'Maybe' 'Text'+--+-- * 'sDefaultRootDeviceType' @::@ 'Maybe' 'Text'+--+-- * 'sDefaultSshKeyName' @::@ 'Maybe' 'Text'+--+-- * 'sDefaultSubnetId' @::@ 'Maybe' 'Text'+--+-- * 'sHostnameTheme' @::@ 'Maybe' 'Text'+--+-- * 'sName' @::@ 'Maybe' 'Text'+--+-- * 'sRegion' @::@ 'Maybe' 'Text'+--+-- * 'sServiceRoleArn' @::@ 'Maybe' 'Text'+--+-- * 'sStackId' @::@ 'Maybe' 'Text'+--+-- * 'sUseCustomCookbooks' @::@ 'Maybe' 'Bool'+--+-- * 'sUseOpsworksSecurityGroups' @::@ 'Maybe' 'Bool'+--+-- * 'sVpcId' @::@ 'Maybe' 'Text'+--+stack :: Stack+stack = Stack+ { _sStackId = Nothing+ , _sName = Nothing+ , _sArn = Nothing+ , _sRegion = Nothing+ , _sVpcId = Nothing+ , _sAttributes = mempty+ , _sServiceRoleArn = Nothing+ , _sDefaultInstanceProfileArn = Nothing+ , _sDefaultOs = Nothing+ , _sHostnameTheme = Nothing+ , _sDefaultAvailabilityZone = Nothing+ , _sDefaultSubnetId = Nothing+ , _sCustomJson = Nothing+ , _sConfigurationManager = Nothing+ , _sChefConfiguration = Nothing+ , _sUseCustomCookbooks = Nothing+ , _sUseOpsworksSecurityGroups = Nothing+ , _sCustomCookbooksSource = Nothing+ , _sDefaultSshKeyName = Nothing+ , _sCreatedAt = Nothing+ , _sDefaultRootDeviceType = Nothing+ }++-- | The stack's ARN.+sArn :: Lens' Stack (Maybe Text)+sArn = lens _sArn (\s a -> s { _sArn = a })++-- | The stack's attributes.+sAttributes :: Lens' Stack (HashMap Text Text)+sAttributes = lens _sAttributes (\s a -> s { _sAttributes = a }) . _Map++-- | A ChefConfiguration object that specifies whether to enable Berkshelf and+-- the Berkshelf version. For more information, see Create a New Stack.+sChefConfiguration :: Lens' Stack (Maybe ChefConfiguration)+sChefConfiguration =+ lens _sChefConfiguration (\s a -> s { _sChefConfiguration = a })++-- | The configuration manager.+sConfigurationManager :: Lens' Stack (Maybe StackConfigurationManager)+sConfigurationManager =+ lens _sConfigurationManager (\s a -> s { _sConfigurationManager = a })++-- | Date when the stack was created.+sCreatedAt :: Lens' Stack (Maybe Text)+sCreatedAt = lens _sCreatedAt (\s a -> s { _sCreatedAt = a })++sCustomCookbooksSource :: Lens' Stack (Maybe Source)+sCustomCookbooksSource =+ lens _sCustomCookbooksSource (\s a -> s { _sCustomCookbooksSource = a })++-- | A string that contains user-defined, custom JSON. It is used to override+-- the corresponding default stack configuration JSON values. The string+-- should be in the following format and must escape characters such as+-- '"'.: "{\"key1\": \"value1\", \"key2\": \"value2\",...}" For more+-- information on custom JSON, see Use Custom JSON to Modify the Stack+-- Configuration JSON.+sCustomJson :: Lens' Stack (Maybe Text)+sCustomJson = lens _sCustomJson (\s a -> s { _sCustomJson = a })++-- | The stack's default Availability Zone. For more information, see Regions+-- and Endpoints.+sDefaultAvailabilityZone :: Lens' Stack (Maybe Text)+sDefaultAvailabilityZone =+ lens _sDefaultAvailabilityZone+ (\s a -> s { _sDefaultAvailabilityZone = a })++-- | The ARN of an IAM profile that is the default profile for all of the+-- stack's EC2 instances. For more information about IAM ARNs, see Using+-- Identifiers.+sDefaultInstanceProfileArn :: Lens' Stack (Maybe Text)+sDefaultInstanceProfileArn =+ lens _sDefaultInstanceProfileArn+ (\s a -> s { _sDefaultInstanceProfileArn = a })++-- | The stack's default operating system, which must be set to Amazon Linux+-- or Ubuntu 12.04 LTS. The default option is Amazon Linux.+sDefaultOs :: Lens' Stack (Maybe Text)+sDefaultOs = lens _sDefaultOs (\s a -> s { _sDefaultOs = a })++-- | The default root device type. This value is used by default for all+-- instances in the stack, but you can override it when you create an+-- instance. For more information, see Storage for the Root Device.+sDefaultRootDeviceType :: Lens' Stack (Maybe Text)+sDefaultRootDeviceType =+ lens _sDefaultRootDeviceType (\s a -> s { _sDefaultRootDeviceType = a })++-- | A default SSH key for the stack's instances. You can override this value+-- when you create or update an instance.+sDefaultSshKeyName :: Lens' Stack (Maybe Text)+sDefaultSshKeyName =+ lens _sDefaultSshKeyName (\s a -> s { _sDefaultSshKeyName = a })++-- | The default subnet ID, if the stack is running in a VPC.+sDefaultSubnetId :: Lens' Stack (Maybe Text)+sDefaultSubnetId = lens _sDefaultSubnetId (\s a -> s { _sDefaultSubnetId = a })++-- | The stack host name theme, with spaces replaced by underscores.+sHostnameTheme :: Lens' Stack (Maybe Text)+sHostnameTheme = lens _sHostnameTheme (\s a -> s { _sHostnameTheme = a })++-- | The stack name.+sName :: Lens' Stack (Maybe Text)+sName = lens _sName (\s a -> s { _sName = a })++-- | The stack AWS region, such as "us-east-1". For more information about AWS+-- regions, see Regions and Endpoints.+sRegion :: Lens' Stack (Maybe Text)+sRegion = lens _sRegion (\s a -> s { _sRegion = a })++-- | The stack AWS Identity and Access Management (IAM) role.+sServiceRoleArn :: Lens' Stack (Maybe Text)+sServiceRoleArn = lens _sServiceRoleArn (\s a -> s { _sServiceRoleArn = a })++-- | The stack ID.+sStackId :: Lens' Stack (Maybe Text)+sStackId = lens _sStackId (\s a -> s { _sStackId = a })++-- | Whether the stack uses custom cookbooks.+sUseCustomCookbooks :: Lens' Stack (Maybe Bool)+sUseCustomCookbooks =+ lens _sUseCustomCookbooks (\s a -> s { _sUseCustomCookbooks = a })++-- | Whether the stack automatically associates the AWS OpsWorks built-in+-- security groups with the stack's layers.+sUseOpsworksSecurityGroups :: Lens' Stack (Maybe Bool)+sUseOpsworksSecurityGroups =+ lens _sUseOpsworksSecurityGroups+ (\s a -> s { _sUseOpsworksSecurityGroups = a })++-- | The VPC ID, if the stack is running in a VPC.+sVpcId :: Lens' Stack (Maybe Text)+sVpcId = lens _sVpcId (\s a -> s { _sVpcId = a })++instance FromJSON Stack where+ parseJSON = withObject "Stack" $ \o -> Stack+ <$> o .:? "Arn"+ <*> o .: "Attributes"+ <*> o .:? "ChefConfiguration"+ <*> o .:? "ConfigurationManager"+ <*> o .:? "CreatedAt"+ <*> o .:? "CustomCookbooksSource"+ <*> o .:? "CustomJson"+ <*> o .:? "DefaultAvailabilityZone"+ <*> o .:? "DefaultInstanceProfileArn"+ <*> o .:? "DefaultOs"+ <*> o .:? "DefaultRootDeviceType"+ <*> o .:? "DefaultSshKeyName"+ <*> o .:? "DefaultSubnetId"+ <*> o .:? "HostnameTheme"+ <*> o .:? "Name"+ <*> o .:? "Region"+ <*> o .:? "ServiceRoleArn"+ <*> o .:? "StackId"+ <*> o .:? "UseCustomCookbooks"+ <*> o .:? "UseOpsworksSecurityGroups"+ <*> o .:? "VpcId"++instance ToJSON Stack where+ toJSON Stack{..} = object+ [ "StackId" .= _sStackId+ , "Name" .= _sName+ , "Arn" .= _sArn+ , "Region" .= _sRegion+ , "VpcId" .= _sVpcId+ , "Attributes" .= _sAttributes+ , "ServiceRoleArn" .= _sServiceRoleArn+ , "DefaultInstanceProfileArn" .= _sDefaultInstanceProfileArn+ , "DefaultOs" .= _sDefaultOs+ , "HostnameTheme" .= _sHostnameTheme+ , "DefaultAvailabilityZone" .= _sDefaultAvailabilityZone+ , "DefaultSubnetId" .= _sDefaultSubnetId+ , "CustomJson" .= _sCustomJson+ , "ConfigurationManager" .= _sConfigurationManager+ , "ChefConfiguration" .= _sChefConfiguration+ , "UseCustomCookbooks" .= _sUseCustomCookbooks+ , "UseOpsworksSecurityGroups" .= _sUseOpsworksSecurityGroups+ , "CustomCookbooksSource" .= _sCustomCookbooksSource+ , "DefaultSshKeyName" .= _sDefaultSshKeyName+ , "CreatedAt" .= _sCreatedAt+ , "DefaultRootDeviceType" .= _sDefaultRootDeviceType+ ]++data DeploymentCommand = DeploymentCommand+ { _dcArgs :: Map Text (List "InstanceIds" Text)+ , _dcName :: Text+ } deriving (Eq, Show)++-- | 'DeploymentCommand' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcArgs' @::@ 'HashMap' 'Text' ['Text']+--+-- * 'dcName' @::@ 'Text'+--+deploymentCommand :: Text -- ^ 'dcName'+ -> DeploymentCommand+deploymentCommand p1 = DeploymentCommand+ { _dcName = p1+ , _dcArgs = mempty+ }++-- | The arguments of those commands that take arguments. It should be set to+-- a JSON object with the following format: {"arg_name":["value1", "value2",+-- ...]}.+dcArgs :: Lens' DeploymentCommand (HashMap Text [Text])+dcArgs = lens _dcArgs (\s a -> s { _dcArgs = a }) . _Map++-- | Specifies the operation. You can specify only one command. For stacks,+-- the following commands are available: execute_recipes: Execute one or+-- more recipes. To specify the recipes, set an Args parameter named recipes+-- to the list of recipes to be executed. For example, to execute+-- phpapp::appsetup, set Args to {"recipes":["phpapp::appsetup"]}.+-- install_dependencies: Install the stack's dependencies.+-- update_custom_cookbooks: Update the stack's custom cookbooks.+-- update_dependencies: Update the stack's dependencies. For apps, the+-- following commands are available: deploy: Deploy an app. Rails apps have+-- an optional Args parameter named migrate. Set Args to+-- {"migrate":["true"]} to migrate the database. The default setting is+-- {"migrate":["false"]}. rollback Roll the app back to the previous+-- version. When you update an app, AWS OpsWorks stores the previous+-- version, up to a maximum of five versions. You can use this command to+-- roll an app back as many as four versions. start: Start the app's web or+-- application server. stop: Stop the app's web or application server.+-- restart: Restart the app's web or application server. undeploy: Undeploy+-- the app.+dcName :: Lens' DeploymentCommand Text+dcName = lens _dcName (\s a -> s { _dcName = a })++instance FromJSON DeploymentCommand where+ parseJSON = withObject "DeploymentCommand" $ \o -> DeploymentCommand+ <$> o .: "Args"+ <*> o .: "Name"++instance ToJSON DeploymentCommand where+ toJSON DeploymentCommand{..} = object+ [ "Name" .= _dcName+ , "Args" .= _dcArgs+ ]++data WeeklyAutoScalingSchedule = WeeklyAutoScalingSchedule+ { _wassFriday :: Map Text Text+ , _wassMonday :: Map Text Text+ , _wassSaturday :: Map Text Text+ , _wassSunday :: Map Text Text+ , _wassThursday :: Map Text Text+ , _wassTuesday :: Map Text Text+ , _wassWednesday :: Map Text Text+ } deriving (Eq, Show)++-- | 'WeeklyAutoScalingSchedule' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'wassFriday' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'wassMonday' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'wassSaturday' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'wassSunday' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'wassThursday' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'wassTuesday' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'wassWednesday' @::@ 'HashMap' 'Text' 'Text'+--+weeklyAutoScalingSchedule :: WeeklyAutoScalingSchedule+weeklyAutoScalingSchedule = WeeklyAutoScalingSchedule+ { _wassMonday = mempty+ , _wassTuesday = mempty+ , _wassWednesday = mempty+ , _wassThursday = mempty+ , _wassFriday = mempty+ , _wassSaturday = mempty+ , _wassSunday = mempty+ }++-- | The schedule for Friday.+wassFriday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassFriday = lens _wassFriday (\s a -> s { _wassFriday = a }) . _Map++-- | The schedule for Monday.+wassMonday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassMonday = lens _wassMonday (\s a -> s { _wassMonday = a }) . _Map++-- | The schedule for Saturday.+wassSaturday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassSaturday = lens _wassSaturday (\s a -> s { _wassSaturday = a }) . _Map++-- | The schedule for Sunday.+wassSunday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassSunday = lens _wassSunday (\s a -> s { _wassSunday = a }) . _Map++-- | The schedule for Thursday.+wassThursday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassThursday = lens _wassThursday (\s a -> s { _wassThursday = a }) . _Map++-- | The schedule for Tuesday.+wassTuesday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassTuesday = lens _wassTuesday (\s a -> s { _wassTuesday = a }) . _Map++-- | The schedule for Wednesday.+wassWednesday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassWednesday = lens _wassWednesday (\s a -> s { _wassWednesday = a }) . _Map++instance FromJSON WeeklyAutoScalingSchedule where+ parseJSON = withObject "WeeklyAutoScalingSchedule" $ \o -> WeeklyAutoScalingSchedule+ <$> o .: "Friday"+ <*> o .: "Monday"+ <*> o .: "Saturday"+ <*> o .: "Sunday"+ <*> o .: "Thursday"+ <*> o .: "Tuesday"+ <*> o .: "Wednesday"++instance ToJSON WeeklyAutoScalingSchedule where+ toJSON WeeklyAutoScalingSchedule{..} = object+ [ "Monday" .= _wassMonday+ , "Tuesday" .= _wassTuesday+ , "Wednesday" .= _wassWednesday+ , "Thursday" .= _wassThursday+ , "Friday" .= _wassFriday+ , "Saturday" .= _wassSaturday+ , "Sunday" .= _wassSunday+ ]++data DeploymentCommandName+ = Deploy -- ^ deploy+ | ExecuteRecipes -- ^ execute_recipes+ | InstallDependencies -- ^ install_dependencies+ | Restart -- ^ restart+ | Rollback -- ^ rollback+ | Start -- ^ start+ | Stop -- ^ stop+ | Undeploy -- ^ undeploy+ | UpdateCustomCookbooks -- ^ update_custom_cookbooks+ | UpdateDependencies -- ^ update_dependencies+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable DeploymentCommandName++instance FromText DeploymentCommandName where+ parser = match "deploy" Deploy+ <|> match "execute_recipes" ExecuteRecipes+ <|> match "install_dependencies" InstallDependencies+ <|> match "restart" Restart+ <|> match "rollback" Rollback+ <|> match "start" Start+ <|> match "stop" Stop+ <|> match "undeploy" Undeploy+ <|> match "update_custom_cookbooks" UpdateCustomCookbooks+ <|> match "update_dependencies" UpdateDependencies++instance ToText DeploymentCommandName where+ toText = \case+ Deploy -> "deploy"+ ExecuteRecipes -> "execute_recipes"+ InstallDependencies -> "install_dependencies"+ Restart -> "restart"+ Rollback -> "rollback"+ Start -> "start"+ Stop -> "stop"+ Undeploy -> "undeploy"+ UpdateCustomCookbooks -> "update_custom_cookbooks"+ UpdateDependencies -> "update_dependencies"++instance FromJSON DeploymentCommandName where+ parseJSON = parseJSONText "DeploymentCommandName"++instance ToJSON DeploymentCommandName where+ toJSON = toJSONText++data Instance = Instance+ { _iAmiId :: Maybe Text+ , _iArchitecture :: Maybe Text+ , _iAutoScalingType :: Maybe Text+ , _iAvailabilityZone :: Maybe Text+ , _iCreatedAt :: Maybe Text+ , _iEbsOptimized :: Maybe Bool+ , _iEc2InstanceId :: Maybe Text+ , _iElasticIp :: Maybe Text+ , _iHostname :: Maybe Text+ , _iInstallUpdatesOnBoot :: Maybe Bool+ , _iInstanceId :: Maybe Text+ , _iInstanceProfileArn :: Maybe Text+ , _iInstanceType :: Maybe Text+ , _iLastServiceErrorId :: Maybe Text+ , _iLayerIds :: List "InstanceIds" Text+ , _iOs :: Maybe Text+ , _iPrivateDns :: Maybe Text+ , _iPrivateIp :: Maybe Text+ , _iPublicDns :: Maybe Text+ , _iPublicIp :: Maybe Text+ , _iRootDeviceType :: Maybe Text+ , _iRootDeviceVolumeId :: Maybe Text+ , _iSecurityGroupIds :: List "InstanceIds" Text+ , _iSshHostDsaKeyFingerprint :: Maybe Text+ , _iSshHostRsaKeyFingerprint :: Maybe Text+ , _iSshKeyName :: Maybe Text+ , _iStackId :: Maybe Text+ , _iStatus :: Maybe Text+ , _iSubnetId :: Maybe Text+ , _iVirtualizationType :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'Instance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'iAmiId' @::@ 'Maybe' 'Text'+--+-- * 'iArchitecture' @::@ 'Maybe' 'Text'+--+-- * 'iAutoScalingType' @::@ 'Maybe' 'Text'+--+-- * 'iAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'iCreatedAt' @::@ 'Maybe' 'Text'+--+-- * 'iEbsOptimized' @::@ 'Maybe' 'Bool'+--+-- * 'iEc2InstanceId' @::@ 'Maybe' 'Text'+--+-- * 'iElasticIp' @::@ 'Maybe' 'Text'+--+-- * 'iHostname' @::@ 'Maybe' 'Text'+--+-- * 'iInstallUpdatesOnBoot' @::@ 'Maybe' 'Bool'+--+-- * 'iInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'iInstanceProfileArn' @::@ 'Maybe' 'Text'+--+-- * 'iInstanceType' @::@ 'Maybe' 'Text'+--+-- * 'iLastServiceErrorId' @::@ 'Maybe' 'Text'+--+-- * 'iLayerIds' @::@ ['Text']+--+-- * 'iOs' @::@ 'Maybe' 'Text'+--+-- * 'iPrivateDns' @::@ 'Maybe' 'Text'+--+-- * 'iPrivateIp' @::@ 'Maybe' 'Text'+--+-- * 'iPublicDns' @::@ 'Maybe' 'Text'+--+-- * 'iPublicIp' @::@ 'Maybe' 'Text'+--+-- * 'iRootDeviceType' @::@ 'Maybe' 'Text'+--+-- * 'iRootDeviceVolumeId' @::@ 'Maybe' 'Text'+--+-- * 'iSecurityGroupIds' @::@ ['Text']+--+-- * 'iSshHostDsaKeyFingerprint' @::@ 'Maybe' 'Text'+--+-- * 'iSshHostRsaKeyFingerprint' @::@ 'Maybe' 'Text'+--+-- * 'iSshKeyName' @::@ 'Maybe' 'Text'+--+-- * 'iStackId' @::@ 'Maybe' 'Text'+--+-- * 'iStatus' @::@ 'Maybe' 'Text'+--+-- * 'iSubnetId' @::@ 'Maybe' 'Text'+--+-- * 'iVirtualizationType' @::@ 'Maybe' 'Text'+--+instance' :: Instance+instance' = Instance+ { _iInstanceId = Nothing+ , _iEc2InstanceId = Nothing+ , _iVirtualizationType = Nothing+ , _iHostname = Nothing+ , _iStackId = Nothing+ , _iLayerIds = mempty+ , _iSecurityGroupIds = mempty+ , _iInstanceType = Nothing+ , _iInstanceProfileArn = Nothing+ , _iStatus = Nothing+ , _iOs = Nothing+ , _iAmiId = Nothing+ , _iAvailabilityZone = Nothing+ , _iSubnetId = Nothing+ , _iPublicDns = Nothing+ , _iPrivateDns = Nothing+ , _iPublicIp = Nothing+ , _iPrivateIp = Nothing+ , _iElasticIp = Nothing+ , _iAutoScalingType = Nothing+ , _iSshKeyName = Nothing+ , _iSshHostRsaKeyFingerprint = Nothing+ , _iSshHostDsaKeyFingerprint = Nothing+ , _iCreatedAt = Nothing+ , _iLastServiceErrorId = Nothing+ , _iArchitecture = Nothing+ , _iRootDeviceType = Nothing+ , _iRootDeviceVolumeId = Nothing+ , _iInstallUpdatesOnBoot = Nothing+ , _iEbsOptimized = Nothing+ }++-- | A custom AMI ID to be used to create the instance. The AMI should be+-- based on one of the standard AWS OpsWorks APIs: Amazon Linux or Ubuntu+-- 12.04 LTS. For more information, see Instances.+iAmiId :: Lens' Instance (Maybe Text)+iAmiId = lens _iAmiId (\s a -> s { _iAmiId = a })++-- | The instance architecture, "i386" or "x86_64".+iArchitecture :: Lens' Instance (Maybe Text)+iArchitecture = lens _iArchitecture (\s a -> s { _iArchitecture = a })++-- | The instance's auto scaling type, which has three possible values:+-- AlwaysRunning: A 24/7 instance, which is not affected by auto scaling.+-- TimeBasedAutoScaling: A time-based auto scaling instance, which is+-- started and stopped based on a specified schedule. LoadBasedAutoScaling:+-- A load-based auto scaling instance, which is started and stopped based on+-- load metrics.+iAutoScalingType :: Lens' Instance (Maybe Text)+iAutoScalingType = lens _iAutoScalingType (\s a -> s { _iAutoScalingType = a })++-- | The instance Availability Zone. For more information, see Regions and+-- Endpoints.+iAvailabilityZone :: Lens' Instance (Maybe Text)+iAvailabilityZone =+ lens _iAvailabilityZone (\s a -> s { _iAvailabilityZone = a })++-- | The time that the instance was created.+iCreatedAt :: Lens' Instance (Maybe Text)+iCreatedAt = lens _iCreatedAt (\s a -> s { _iCreatedAt = a })++-- | Whether this is an Amazon EBS-optimized instance.+iEbsOptimized :: Lens' Instance (Maybe Bool)+iEbsOptimized = lens _iEbsOptimized (\s a -> s { _iEbsOptimized = a })++-- | The ID of the associated Amazon EC2 instance.+iEc2InstanceId :: Lens' Instance (Maybe Text)+iEc2InstanceId = lens _iEc2InstanceId (\s a -> s { _iEc2InstanceId = a })++-- | The instance Elastic IP address .+iElasticIp :: Lens' Instance (Maybe Text)+iElasticIp = lens _iElasticIp (\s a -> s { _iElasticIp = a })++-- | The instance host name.+iHostname :: Lens' Instance (Maybe Text)+iHostname = lens _iHostname (\s a -> s { _iHostname = a })++-- | Whether to install operating system and package updates when the instance+-- boots. The default value is true. If this value is set to false, you must+-- then update your instances manually by using CreateDeployment to run the+-- update_dependencies stack command or manually running yum (Amazon Linux)+-- or apt-get (Ubuntu) on the instances.+iInstallUpdatesOnBoot :: Lens' Instance (Maybe Bool)+iInstallUpdatesOnBoot =+ lens _iInstallUpdatesOnBoot (\s a -> s { _iInstallUpdatesOnBoot = a })++-- | The instance ID.+iInstanceId :: Lens' Instance (Maybe Text)+iInstanceId = lens _iInstanceId (\s a -> s { _iInstanceId = a })++-- | The ARN of the instance's IAM profile. For more information about IAM+-- ARNs, see Using Identifiers.+iInstanceProfileArn :: Lens' Instance (Maybe Text)+iInstanceProfileArn =+ lens _iInstanceProfileArn (\s a -> s { _iInstanceProfileArn = a })++-- | The instance type. AWS OpsWorks supports all instance types except+-- Cluster Compute, Cluster GPU, and High Memory Cluster. For more+-- information, see Instance Families and Types. The parameter values that+-- specify the various types are in the API Name column of the Available+-- Instance Types table.+iInstanceType :: Lens' Instance (Maybe Text)+iInstanceType = lens _iInstanceType (\s a -> s { _iInstanceType = a })++-- | The ID of the last service error. For more information, call+-- DescribeServiceErrors.+iLastServiceErrorId :: Lens' Instance (Maybe Text)+iLastServiceErrorId =+ lens _iLastServiceErrorId (\s a -> s { _iLastServiceErrorId = a })++-- | An array containing the instance layer IDs.+iLayerIds :: Lens' Instance [Text]+iLayerIds = lens _iLayerIds (\s a -> s { _iLayerIds = a }) . _List++-- | The instance operating system.+iOs :: Lens' Instance (Maybe Text)+iOs = lens _iOs (\s a -> s { _iOs = a })++-- | The instance private DNS name.+iPrivateDns :: Lens' Instance (Maybe Text)+iPrivateDns = lens _iPrivateDns (\s a -> s { _iPrivateDns = a })++-- | The instance private IP address.+iPrivateIp :: Lens' Instance (Maybe Text)+iPrivateIp = lens _iPrivateIp (\s a -> s { _iPrivateIp = a })++-- | The instance public DNS name.+iPublicDns :: Lens' Instance (Maybe Text)+iPublicDns = lens _iPublicDns (\s a -> s { _iPublicDns = a })++-- | The instance public IP address.+iPublicIp :: Lens' Instance (Maybe Text)+iPublicIp = lens _iPublicIp (\s a -> s { _iPublicIp = a })++-- | The instance root device type. For more information, see Storage for the+-- Root Device.+iRootDeviceType :: Lens' Instance (Maybe Text)+iRootDeviceType = lens _iRootDeviceType (\s a -> s { _iRootDeviceType = a })++-- | The root device volume ID.+iRootDeviceVolumeId :: Lens' Instance (Maybe Text)+iRootDeviceVolumeId =+ lens _iRootDeviceVolumeId (\s a -> s { _iRootDeviceVolumeId = a })++-- | An array containing the instance security group IDs.+iSecurityGroupIds :: Lens' Instance [Text]+iSecurityGroupIds =+ lens _iSecurityGroupIds (\s a -> s { _iSecurityGroupIds = a })+ . _List++-- | The SSH key's DSA fingerprint.+iSshHostDsaKeyFingerprint :: Lens' Instance (Maybe Text)+iSshHostDsaKeyFingerprint =+ lens _iSshHostDsaKeyFingerprint+ (\s a -> s { _iSshHostDsaKeyFingerprint = a })++-- | The SSH key's RSA fingerprint.+iSshHostRsaKeyFingerprint :: Lens' Instance (Maybe Text)+iSshHostRsaKeyFingerprint =+ lens _iSshHostRsaKeyFingerprint+ (\s a -> s { _iSshHostRsaKeyFingerprint = a })++-- | The instance SSH key name.+iSshKeyName :: Lens' Instance (Maybe Text)+iSshKeyName = lens _iSshKeyName (\s a -> s { _iSshKeyName = a })++-- | The stack ID.+iStackId :: Lens' Instance (Maybe Text)+iStackId = lens _iStackId (\s a -> s { _iStackId = a })++-- | The instance status: requested booting running_setup online setup_failed+-- start_failed terminating terminated stopped connection_lost.+iStatus :: Lens' Instance (Maybe Text)+iStatus = lens _iStatus (\s a -> s { _iStatus = a })++-- | The instance's subnet ID, if the stack is running in a VPC.+iSubnetId :: Lens' Instance (Maybe Text)+iSubnetId = lens _iSubnetId (\s a -> s { _iSubnetId = a })++-- | The instance's virtualization type, paravirtual or hvm.+iVirtualizationType :: Lens' Instance (Maybe Text)+iVirtualizationType =+ lens _iVirtualizationType (\s a -> s { _iVirtualizationType = a })++instance FromJSON Instance where+ parseJSON = withObject "Instance" $ \o -> Instance+ <$> o .:? "AmiId"+ <*> o .:? "Architecture"+ <*> o .:? "AutoScalingType"+ <*> o .:? "AvailabilityZone"+ <*> o .:? "CreatedAt"+ <*> o .:? "EbsOptimized"+ <*> o .:? "Ec2InstanceId"+ <*> o .:? "ElasticIp"+ <*> o .:? "Hostname"+ <*> o .:? "InstallUpdatesOnBoot"+ <*> o .:? "InstanceId"+ <*> o .:? "InstanceProfileArn"+ <*> o .:? "InstanceType"+ <*> o .:? "LastServiceErrorId"+ <*> o .: "LayerIds"+ <*> o .:? "Os"+ <*> o .:? "PrivateDns"+ <*> o .:? "PrivateIp"+ <*> o .:? "PublicDns"+ <*> o .:? "PublicIp"+ <*> o .:? "RootDeviceType"+ <*> o .:? "RootDeviceVolumeId"+ <*> o .: "SecurityGroupIds"+ <*> o .:? "SshHostDsaKeyFingerprint"+ <*> o .:? "SshHostRsaKeyFingerprint"+ <*> o .:? "SshKeyName"+ <*> o .:? "StackId"+ <*> o .:? "Status"+ <*> o .:? "SubnetId"+ <*> o .:? "VirtualizationType"++instance ToJSON Instance where+ toJSON Instance{..} = object+ [ "InstanceId" .= _iInstanceId+ , "Ec2InstanceId" .= _iEc2InstanceId+ , "VirtualizationType" .= _iVirtualizationType+ , "Hostname" .= _iHostname+ , "StackId" .= _iStackId+ , "LayerIds" .= _iLayerIds+ , "SecurityGroupIds" .= _iSecurityGroupIds+ , "InstanceType" .= _iInstanceType+ , "InstanceProfileArn" .= _iInstanceProfileArn+ , "Status" .= _iStatus+ , "Os" .= _iOs+ , "AmiId" .= _iAmiId+ , "AvailabilityZone" .= _iAvailabilityZone+ , "SubnetId" .= _iSubnetId+ , "PublicDns" .= _iPublicDns+ , "PrivateDns" .= _iPrivateDns+ , "PublicIp" .= _iPublicIp+ , "PrivateIp" .= _iPrivateIp+ , "ElasticIp" .= _iElasticIp+ , "AutoScalingType" .= _iAutoScalingType+ , "SshKeyName" .= _iSshKeyName+ , "SshHostRsaKeyFingerprint" .= _iSshHostRsaKeyFingerprint+ , "SshHostDsaKeyFingerprint" .= _iSshHostDsaKeyFingerprint+ , "CreatedAt" .= _iCreatedAt+ , "LastServiceErrorId" .= _iLastServiceErrorId+ , "Architecture" .= _iArchitecture+ , "RootDeviceType" .= _iRootDeviceType+ , "RootDeviceVolumeId" .= _iRootDeviceVolumeId+ , "InstallUpdatesOnBoot" .= _iInstallUpdatesOnBoot+ , "EbsOptimized" .= _iEbsOptimized+ ]++data Deployment = Deployment+ { _dAppId :: Maybe Text+ , _dCommand :: Maybe DeploymentCommand+ , _dComment :: Maybe Text+ , _dCompletedAt :: Maybe Text+ , _dCreatedAt :: Maybe Text+ , _dCustomJson :: Maybe Text+ , _dDeploymentId :: Maybe Text+ , _dDuration :: Maybe Int+ , _dIamUserArn :: Maybe Text+ , _dInstanceIds :: List "InstanceIds" Text+ , _dStackId :: Maybe Text+ , _dStatus :: Maybe Text+ } deriving (Eq, Show)++-- | 'Deployment' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dAppId' @::@ 'Maybe' 'Text'+--+-- * 'dCommand' @::@ 'Maybe' 'DeploymentCommand'+--+-- * 'dComment' @::@ 'Maybe' 'Text'+--+-- * 'dCompletedAt' @::@ 'Maybe' 'Text'+--+-- * 'dCreatedAt' @::@ 'Maybe' 'Text'+--+-- * 'dCustomJson' @::@ 'Maybe' 'Text'+--+-- * 'dDeploymentId' @::@ 'Maybe' 'Text'+--+-- * 'dDuration' @::@ 'Maybe' 'Int'+--+-- * 'dIamUserArn' @::@ 'Maybe' 'Text'+--+-- * 'dInstanceIds' @::@ ['Text']+--+-- * 'dStackId' @::@ 'Maybe' 'Text'+--+-- * 'dStatus' @::@ 'Maybe' 'Text'+--+deployment :: Deployment+deployment = Deployment+ { _dDeploymentId = Nothing+ , _dStackId = Nothing+ , _dAppId = Nothing+ , _dCreatedAt = Nothing+ , _dCompletedAt = Nothing+ , _dDuration = Nothing+ , _dIamUserArn = Nothing+ , _dComment = Nothing+ , _dCommand = Nothing+ , _dStatus = Nothing+ , _dCustomJson = Nothing+ , _dInstanceIds = mempty+ }++-- | The app ID.+dAppId :: Lens' Deployment (Maybe Text)+dAppId = lens _dAppId (\s a -> s { _dAppId = a })++dCommand :: Lens' Deployment (Maybe DeploymentCommand)+dCommand = lens _dCommand (\s a -> s { _dCommand = a })++-- | A user-defined comment.+dComment :: Lens' Deployment (Maybe Text)+dComment = lens _dComment (\s a -> s { _dComment = a })++-- | Date when the deployment completed.+dCompletedAt :: Lens' Deployment (Maybe Text)+dCompletedAt = lens _dCompletedAt (\s a -> s { _dCompletedAt = a })++-- | Date when the deployment was created.+dCreatedAt :: Lens' Deployment (Maybe Text)+dCreatedAt = lens _dCreatedAt (\s a -> s { _dCreatedAt = a })++-- | A string that contains user-defined custom JSON. It is used to override+-- the corresponding default stack configuration JSON values for stack. The+-- string should be in the following format and must escape characters such+-- as '"'.: "{\"key1\": \"value1\", \"key2\": \"value2\",...}" For more+-- information on custom JSON, see Use Custom JSON to Modify the Stack+-- Configuration JSON.+dCustomJson :: Lens' Deployment (Maybe Text)+dCustomJson = lens _dCustomJson (\s a -> s { _dCustomJson = a })++-- | The deployment ID.+dDeploymentId :: Lens' Deployment (Maybe Text)+dDeploymentId = lens _dDeploymentId (\s a -> s { _dDeploymentId = a })++-- | The deployment duration.+dDuration :: Lens' Deployment (Maybe Int)+dDuration = lens _dDuration (\s a -> s { _dDuration = a })++-- | The user's IAM ARN.+dIamUserArn :: Lens' Deployment (Maybe Text)+dIamUserArn = lens _dIamUserArn (\s a -> s { _dIamUserArn = a })++-- | The IDs of the target instances.+dInstanceIds :: Lens' Deployment [Text]+dInstanceIds = lens _dInstanceIds (\s a -> s { _dInstanceIds = a }) . _List++-- | The stack ID.+dStackId :: Lens' Deployment (Maybe Text)+dStackId = lens _dStackId (\s a -> s { _dStackId = a })++-- | The deployment status: running successful failed.+dStatus :: Lens' Deployment (Maybe Text)+dStatus = lens _dStatus (\s a -> s { _dStatus = a })++instance FromJSON Deployment where+ parseJSON = withObject "Deployment" $ \o -> Deployment+ <$> o .:? "AppId"+ <*> o .:? "Command"+ <*> o .:? "Comment"+ <*> o .:? "CompletedAt"+ <*> o .:? "CreatedAt"+ <*> o .:? "CustomJson"+ <*> o .:? "DeploymentId"+ <*> o .:? "Duration"+ <*> o .:? "IamUserArn"+ <*> o .: "InstanceIds"+ <*> o .:? "StackId"+ <*> o .:? "Status"++instance ToJSON Deployment where+ toJSON Deployment{..} = object+ [ "DeploymentId" .= _dDeploymentId+ , "StackId" .= _dStackId+ , "AppId" .= _dAppId+ , "CreatedAt" .= _dCreatedAt+ , "CompletedAt" .= _dCompletedAt+ , "Duration" .= _dDuration+ , "IamUserArn" .= _dIamUserArn+ , "Comment" .= _dComment+ , "Command" .= _dCommand+ , "Status" .= _dStatus+ , "CustomJson" .= _dCustomJson+ , "InstanceIds" .= _dInstanceIds+ ]++data InstancesCount = InstancesCount+ { _icBooting :: Maybe Int+ , _icConnectionLost :: Maybe Int+ , _icOnline :: Maybe Int+ , _icPending :: Maybe Int+ , _icRebooting :: Maybe Int+ , _icRequested :: Maybe Int+ , _icRunningSetup :: Maybe Int+ , _icSetupFailed :: Maybe Int+ , _icShuttingDown :: Maybe Int+ , _icStartFailed :: Maybe Int+ , _icStopped :: Maybe Int+ , _icStopping :: Maybe Int+ , _icTerminated :: Maybe Int+ , _icTerminating :: Maybe Int+ } deriving (Eq, Ord, Show)++-- | 'InstancesCount' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'icBooting' @::@ 'Maybe' 'Int'+--+-- * 'icConnectionLost' @::@ 'Maybe' 'Int'+--+-- * 'icOnline' @::@ 'Maybe' 'Int'+--+-- * 'icPending' @::@ 'Maybe' 'Int'+--+-- * 'icRebooting' @::@ 'Maybe' 'Int'+--+-- * 'icRequested' @::@ 'Maybe' 'Int'+--+-- * 'icRunningSetup' @::@ 'Maybe' 'Int'+--+-- * 'icSetupFailed' @::@ 'Maybe' 'Int'+--+-- * 'icShuttingDown' @::@ 'Maybe' 'Int'+--+-- * 'icStartFailed' @::@ 'Maybe' 'Int'+--+-- * 'icStopped' @::@ 'Maybe' 'Int'+--+-- * 'icStopping' @::@ 'Maybe' 'Int'+--+-- * 'icTerminated' @::@ 'Maybe' 'Int'+--+-- * 'icTerminating' @::@ 'Maybe' 'Int'+--+instancesCount :: InstancesCount+instancesCount = InstancesCount+ { _icBooting = Nothing+ , _icConnectionLost = Nothing+ , _icOnline = Nothing+ , _icPending = Nothing+ , _icRebooting = Nothing+ , _icRequested = Nothing+ , _icRunningSetup = Nothing+ , _icSetupFailed = Nothing+ , _icShuttingDown = Nothing+ , _icStartFailed = Nothing+ , _icStopped = Nothing+ , _icStopping = Nothing+ , _icTerminated = Nothing+ , _icTerminating = Nothing+ }++-- | The number of instances with booting status.+icBooting :: Lens' InstancesCount (Maybe Int)+icBooting = lens _icBooting (\s a -> s { _icBooting = a })++-- | The number of instances with connection_lost status.+icConnectionLost :: Lens' InstancesCount (Maybe Int)+icConnectionLost = lens _icConnectionLost (\s a -> s { _icConnectionLost = a })++-- | The number of instances with online status.+icOnline :: Lens' InstancesCount (Maybe Int)+icOnline = lens _icOnline (\s a -> s { _icOnline = a })++-- | The number of instances with pending status.+icPending :: Lens' InstancesCount (Maybe Int)+icPending = lens _icPending (\s a -> s { _icPending = a })++-- | The number of instances with rebooting status.+icRebooting :: Lens' InstancesCount (Maybe Int)+icRebooting = lens _icRebooting (\s a -> s { _icRebooting = a })++-- | The number of instances with requested status.+icRequested :: Lens' InstancesCount (Maybe Int)+icRequested = lens _icRequested (\s a -> s { _icRequested = a })++-- | The number of instances with running_setup status.+icRunningSetup :: Lens' InstancesCount (Maybe Int)+icRunningSetup = lens _icRunningSetup (\s a -> s { _icRunningSetup = a })++-- | The number of instances with setup_failed status.+icSetupFailed :: Lens' InstancesCount (Maybe Int)+icSetupFailed = lens _icSetupFailed (\s a -> s { _icSetupFailed = a })++-- | The number of instances with shutting_down status.+icShuttingDown :: Lens' InstancesCount (Maybe Int)+icShuttingDown = lens _icShuttingDown (\s a -> s { _icShuttingDown = a })++-- | The number of instances with start_failed status.+icStartFailed :: Lens' InstancesCount (Maybe Int)+icStartFailed = lens _icStartFailed (\s a -> s { _icStartFailed = a })++-- | The number of instances with stopped status.+icStopped :: Lens' InstancesCount (Maybe Int)+icStopped = lens _icStopped (\s a -> s { _icStopped = a })++-- | The number of instances with stopping status.+icStopping :: Lens' InstancesCount (Maybe Int)+icStopping = lens _icStopping (\s a -> s { _icStopping = a })++-- | The number of instances with terminated status.+icTerminated :: Lens' InstancesCount (Maybe Int)+icTerminated = lens _icTerminated (\s a -> s { _icTerminated = a })++-- | The number of instances with terminating status.+icTerminating :: Lens' InstancesCount (Maybe Int)+icTerminating = lens _icTerminating (\s a -> s { _icTerminating = a })++instance FromJSON InstancesCount where+ parseJSON = withObject "InstancesCount" $ \o -> InstancesCount+ <$> o .:? "Booting"+ <*> o .:? "ConnectionLost"+ <*> o .:? "Online"+ <*> o .:? "Pending"+ <*> o .:? "Rebooting"+ <*> o .:? "Requested"+ <*> o .:? "RunningSetup"+ <*> o .:? "SetupFailed"+ <*> o .:? "ShuttingDown"+ <*> o .:? "StartFailed"+ <*> o .:? "Stopped"+ <*> o .:? "Stopping"+ <*> o .:? "Terminated"+ <*> o .:? "Terminating"++instance ToJSON InstancesCount where+ toJSON InstancesCount{..} = object+ [ "Booting" .= _icBooting+ , "ConnectionLost" .= _icConnectionLost+ , "Online" .= _icOnline+ , "Pending" .= _icPending+ , "Rebooting" .= _icRebooting+ , "Requested" .= _icRequested+ , "RunningSetup" .= _icRunningSetup+ , "SetupFailed" .= _icSetupFailed+ , "ShuttingDown" .= _icShuttingDown+ , "StartFailed" .= _icStartFailed+ , "Stopped" .= _icStopped+ , "Stopping" .= _icStopping+ , "Terminated" .= _icTerminated+ , "Terminating" .= _icTerminating+ ]++data AppType+ = Nodejs -- ^ nodejs+ | Other -- ^ other+ | Php -- ^ php+ | Rails -- ^ rails+ | Static -- ^ static+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable AppType++instance FromText AppType where+ parser = match "nodejs" Nodejs+ <|> match "other" Other+ <|> match "php" Php+ <|> match "rails" Rails+ <|> match "static" Static++instance ToText AppType where+ toText = \case+ Nodejs -> "nodejs"+ Other -> "other"+ Php -> "php"+ Rails -> "rails"+ Static -> "static"++instance FromJSON AppType where+ parseJSON = parseJSONText "AppType"++instance ToJSON AppType where+ toJSON = toJSONText
+ gen/Network/AWS/OpsWorks/UnassignVolume.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.UnassignVolume+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Unassigns an assigned Amazon EBS volume. The volume remains registered with+-- the stack. For more information, see Resource Management. Required+-- Permissions: To use this action, an IAM user must have a Manage permissions+-- level for the stack, or an attached policy that explicitly grants+-- permissions. For more information on user permissions, see Managing User+-- Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_UnassignVolume.html>+module Network.AWS.OpsWorks.UnassignVolume+ (+ -- * Request+ UnassignVolume+ -- ** Request constructor+ , unassignVolume+ -- ** Request lenses+ , uvVolumeId++ -- * Response+ , UnassignVolumeResponse+ -- ** Response constructor+ , unassignVolumeResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype UnassignVolume = UnassignVolume+ { _uvVolumeId :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'UnassignVolume' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'uvVolumeId' @::@ 'Text'+--+unassignVolume :: Text -- ^ 'uvVolumeId'+ -> UnassignVolume+unassignVolume p1 = UnassignVolume+ { _uvVolumeId = p1+ }++-- | The volume ID.+uvVolumeId :: Lens' UnassignVolume Text+uvVolumeId = lens _uvVolumeId (\s a -> s { _uvVolumeId = a })++data UnassignVolumeResponse = UnassignVolumeResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'UnassignVolumeResponse' constructor.+unassignVolumeResponse :: UnassignVolumeResponse+unassignVolumeResponse = UnassignVolumeResponse++instance ToPath UnassignVolume where+ toPath = const "/"++instance ToQuery UnassignVolume where+ toQuery = const mempty++instance ToHeaders UnassignVolume++instance ToJSON UnassignVolume where+ toJSON UnassignVolume{..} = object+ [ "VolumeId" .= _uvVolumeId+ ]++instance AWSRequest UnassignVolume where+ type Sv UnassignVolume = OpsWorks+ type Rs UnassignVolume = UnassignVolumeResponse++ request = post "UnassignVolume"+ response = nullResponse UnassignVolumeResponse
+ gen/Network/AWS/OpsWorks/UpdateApp.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.UpdateApp+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Updates a specified app. Required Permissions: To use this action, an IAM+-- user must have a Deploy or Manage permissions level for the stack, or an+-- attached policy that explicitly grants permissions. For more information on+-- user permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateApp.html>+module Network.AWS.OpsWorks.UpdateApp+ (+ -- * Request+ UpdateApp+ -- ** Request constructor+ , updateApp+ -- ** Request lenses+ , uaAppId+ , uaAppSource+ , uaAttributes+ , uaDataSources+ , uaDescription+ , uaDomains+ , uaEnableSsl+ , uaName+ , uaSslConfiguration+ , uaType++ -- * Response+ , UpdateAppResponse+ -- ** Response constructor+ , updateAppResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data UpdateApp = UpdateApp+ { _uaAppId :: Text+ , _uaAppSource :: Maybe Source+ , _uaAttributes :: Map Text Text+ , _uaDataSources :: List "DataSources" DataSource+ , _uaDescription :: Maybe Text+ , _uaDomains :: List "InstanceIds" Text+ , _uaEnableSsl :: Maybe Bool+ , _uaName :: Maybe Text+ , _uaSslConfiguration :: Maybe SslConfiguration+ , _uaType :: Maybe Text+ } deriving (Eq, Show)++-- | 'UpdateApp' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'uaAppId' @::@ 'Text'+--+-- * 'uaAppSource' @::@ 'Maybe' 'Source'+--+-- * 'uaAttributes' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'uaDataSources' @::@ ['DataSource']+--+-- * 'uaDescription' @::@ 'Maybe' 'Text'+--+-- * 'uaDomains' @::@ ['Text']+--+-- * 'uaEnableSsl' @::@ 'Maybe' 'Bool'+--+-- * 'uaName' @::@ 'Maybe' 'Text'+--+-- * 'uaSslConfiguration' @::@ 'Maybe' 'SslConfiguration'+--+-- * 'uaType' @::@ 'Maybe' 'Text'+--+updateApp :: Text -- ^ 'uaAppId'+ -> UpdateApp+updateApp p1 = UpdateApp+ { _uaAppId = p1+ , _uaName = Nothing+ , _uaDescription = Nothing+ , _uaDataSources = mempty+ , _uaType = Nothing+ , _uaAppSource = Nothing+ , _uaDomains = mempty+ , _uaEnableSsl = Nothing+ , _uaSslConfiguration = Nothing+ , _uaAttributes = mempty+ }++-- | The app ID.+uaAppId :: Lens' UpdateApp Text+uaAppId = lens _uaAppId (\s a -> s { _uaAppId = a })++-- | A Source object that specifies the app repository.+uaAppSource :: Lens' UpdateApp (Maybe Source)+uaAppSource = lens _uaAppSource (\s a -> s { _uaAppSource = a })++-- | One or more user-defined key/value pairs to be added to the stack+-- attributes.+uaAttributes :: Lens' UpdateApp (HashMap Text Text)+uaAttributes = lens _uaAttributes (\s a -> s { _uaAttributes = a }) . _Map++-- | The app's data sources.+uaDataSources :: Lens' UpdateApp [DataSource]+uaDataSources = lens _uaDataSources (\s a -> s { _uaDataSources = a }) . _List++-- | A description of the app.+uaDescription :: Lens' UpdateApp (Maybe Text)+uaDescription = lens _uaDescription (\s a -> s { _uaDescription = a })++-- | The app's virtual host settings, with multiple domains separated by+-- commas. For example: 'www.example.com, example.com'.+uaDomains :: Lens' UpdateApp [Text]+uaDomains = lens _uaDomains (\s a -> s { _uaDomains = a }) . _List++-- | Whether SSL is enabled for the app.+uaEnableSsl :: Lens' UpdateApp (Maybe Bool)+uaEnableSsl = lens _uaEnableSsl (\s a -> s { _uaEnableSsl = a })++-- | The app name.+uaName :: Lens' UpdateApp (Maybe Text)+uaName = lens _uaName (\s a -> s { _uaName = a })++-- | An SslConfiguration object with the SSL configuration.+uaSslConfiguration :: Lens' UpdateApp (Maybe SslConfiguration)+uaSslConfiguration =+ lens _uaSslConfiguration (\s a -> s { _uaSslConfiguration = a })++-- | The app type.+uaType :: Lens' UpdateApp (Maybe Text)+uaType = lens _uaType (\s a -> s { _uaType = a })++data UpdateAppResponse = UpdateAppResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'UpdateAppResponse' constructor.+updateAppResponse :: UpdateAppResponse+updateAppResponse = UpdateAppResponse++instance ToPath UpdateApp where+ toPath = const "/"++instance ToQuery UpdateApp where+ toQuery = const mempty++instance ToHeaders UpdateApp++instance ToJSON UpdateApp where+ toJSON UpdateApp{..} = object+ [ "AppId" .= _uaAppId+ , "Name" .= _uaName+ , "Description" .= _uaDescription+ , "DataSources" .= _uaDataSources+ , "Type" .= _uaType+ , "AppSource" .= _uaAppSource+ , "Domains" .= _uaDomains+ , "EnableSsl" .= _uaEnableSsl+ , "SslConfiguration" .= _uaSslConfiguration+ , "Attributes" .= _uaAttributes+ ]++instance AWSRequest UpdateApp where+ type Sv UpdateApp = OpsWorks+ type Rs UpdateApp = UpdateAppResponse++ request = post "UpdateApp"+ response = nullResponse UpdateAppResponse
+ gen/Network/AWS/OpsWorks/UpdateElasticIp.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.UpdateElasticIp+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Updates a registered Elastic IP address's name. For more information, see+-- Resource Management. Required Permissions: To use this action, an IAM user+-- must have a Manage permissions level for the stack, or an attached policy+-- that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateElasticIp.html>+module Network.AWS.OpsWorks.UpdateElasticIp+ (+ -- * Request+ UpdateElasticIp+ -- ** Request constructor+ , updateElasticIp+ -- ** Request lenses+ , ueiElasticIp+ , ueiName++ -- * Response+ , UpdateElasticIpResponse+ -- ** Response constructor+ , updateElasticIpResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data UpdateElasticIp = UpdateElasticIp+ { _ueiElasticIp :: Text+ , _ueiName :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'UpdateElasticIp' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ueiElasticIp' @::@ 'Text'+--+-- * 'ueiName' @::@ 'Maybe' 'Text'+--+updateElasticIp :: Text -- ^ 'ueiElasticIp'+ -> UpdateElasticIp+updateElasticIp p1 = UpdateElasticIp+ { _ueiElasticIp = p1+ , _ueiName = Nothing+ }++-- | The address.+ueiElasticIp :: Lens' UpdateElasticIp Text+ueiElasticIp = lens _ueiElasticIp (\s a -> s { _ueiElasticIp = a })++-- | The new name.+ueiName :: Lens' UpdateElasticIp (Maybe Text)+ueiName = lens _ueiName (\s a -> s { _ueiName = a })++data UpdateElasticIpResponse = UpdateElasticIpResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'UpdateElasticIpResponse' constructor.+updateElasticIpResponse :: UpdateElasticIpResponse+updateElasticIpResponse = UpdateElasticIpResponse++instance ToPath UpdateElasticIp where+ toPath = const "/"++instance ToQuery UpdateElasticIp where+ toQuery = const mempty++instance ToHeaders UpdateElasticIp++instance ToJSON UpdateElasticIp where+ toJSON UpdateElasticIp{..} = object+ [ "ElasticIp" .= _ueiElasticIp+ , "Name" .= _ueiName+ ]++instance AWSRequest UpdateElasticIp where+ type Sv UpdateElasticIp = OpsWorks+ type Rs UpdateElasticIp = UpdateElasticIpResponse++ request = post "UpdateElasticIp"+ response = nullResponse UpdateElasticIpResponse
+ gen/Network/AWS/OpsWorks/UpdateInstance.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.UpdateInstance+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Updates a specified instance. Required Permissions: To use this action, an+-- IAM user must have a Manage permissions level for the stack, or an attached+-- policy that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateInstance.html>+module Network.AWS.OpsWorks.UpdateInstance+ (+ -- * Request+ UpdateInstance+ -- ** Request constructor+ , updateInstance+ -- ** Request lenses+ , uiAmiId+ , uiArchitecture+ , uiAutoScalingType+ , uiEbsOptimized+ , uiHostname+ , uiInstallUpdatesOnBoot+ , uiInstanceId+ , uiInstanceType+ , uiLayerIds+ , uiOs+ , uiSshKeyName++ -- * Response+ , UpdateInstanceResponse+ -- ** Response constructor+ , updateInstanceResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data UpdateInstance = UpdateInstance+ { _uiAmiId :: Maybe Text+ , _uiArchitecture :: Maybe Text+ , _uiAutoScalingType :: Maybe Text+ , _uiEbsOptimized :: Maybe Bool+ , _uiHostname :: Maybe Text+ , _uiInstallUpdatesOnBoot :: Maybe Bool+ , _uiInstanceId :: Text+ , _uiInstanceType :: Maybe Text+ , _uiLayerIds :: List "InstanceIds" Text+ , _uiOs :: Maybe Text+ , _uiSshKeyName :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'UpdateInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'uiAmiId' @::@ 'Maybe' 'Text'+--+-- * 'uiArchitecture' @::@ 'Maybe' 'Text'+--+-- * 'uiAutoScalingType' @::@ 'Maybe' 'Text'+--+-- * 'uiEbsOptimized' @::@ 'Maybe' 'Bool'+--+-- * 'uiHostname' @::@ 'Maybe' 'Text'+--+-- * 'uiInstallUpdatesOnBoot' @::@ 'Maybe' 'Bool'+--+-- * 'uiInstanceId' @::@ 'Text'+--+-- * 'uiInstanceType' @::@ 'Maybe' 'Text'+--+-- * 'uiLayerIds' @::@ ['Text']+--+-- * 'uiOs' @::@ 'Maybe' 'Text'+--+-- * 'uiSshKeyName' @::@ 'Maybe' 'Text'+--+updateInstance :: Text -- ^ 'uiInstanceId'+ -> UpdateInstance+updateInstance p1 = UpdateInstance+ { _uiInstanceId = p1+ , _uiLayerIds = mempty+ , _uiInstanceType = Nothing+ , _uiAutoScalingType = Nothing+ , _uiHostname = Nothing+ , _uiOs = Nothing+ , _uiAmiId = Nothing+ , _uiSshKeyName = Nothing+ , _uiArchitecture = Nothing+ , _uiInstallUpdatesOnBoot = Nothing+ , _uiEbsOptimized = Nothing+ }++-- | A custom AMI ID to be used to create the instance. The AMI should be+-- based on one of the standard AWS OpsWorks APIs: Amazon Linux or Ubuntu+-- 12.04 LTS. For more information, see Instances.+uiAmiId :: Lens' UpdateInstance (Maybe Text)+uiAmiId = lens _uiAmiId (\s a -> s { _uiAmiId = a })++-- | The instance architecture. Instance types do not necessarily support both+-- architectures. For a list of the architectures that are supported by the+-- different instance types, see Instance Families and Types.+uiArchitecture :: Lens' UpdateInstance (Maybe Text)+uiArchitecture = lens _uiArchitecture (\s a -> s { _uiArchitecture = a })++-- | The instance's auto scaling type, which has three possible values:+-- AlwaysRunning: A 24/7 instance, which is not affected by auto scaling.+-- TimeBasedAutoScaling: A time-based auto scaling instance, which is+-- started and stopped based on a specified schedule. LoadBasedAutoScaling:+-- A load-based auto scaling instance, which is started and stopped based on+-- load metrics.+uiAutoScalingType :: Lens' UpdateInstance (Maybe Text)+uiAutoScalingType =+ lens _uiAutoScalingType (\s a -> s { _uiAutoScalingType = a })++-- | Whether this is an Amazon EBS-optimized instance.+uiEbsOptimized :: Lens' UpdateInstance (Maybe Bool)+uiEbsOptimized = lens _uiEbsOptimized (\s a -> s { _uiEbsOptimized = a })++-- | The instance host name.+uiHostname :: Lens' UpdateInstance (Maybe Text)+uiHostname = lens _uiHostname (\s a -> s { _uiHostname = a })++-- | Whether to install operating system and package updates when the instance+-- boots. The default value is true. To control when updates are installed,+-- set this value to false. You must then update your instances manually by+-- using CreateDeployment to run the update_dependencies stack command or+-- manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.+uiInstallUpdatesOnBoot :: Lens' UpdateInstance (Maybe Bool)+uiInstallUpdatesOnBoot =+ lens _uiInstallUpdatesOnBoot (\s a -> s { _uiInstallUpdatesOnBoot = a })++-- | The instance ID.+uiInstanceId :: Lens' UpdateInstance Text+uiInstanceId = lens _uiInstanceId (\s a -> s { _uiInstanceId = a })++-- | The instance type. AWS OpsWorks supports all instance types except+-- Cluster Compute, Cluster GPU, and High Memory Cluster. For more+-- information, see Instance Families and Types. The parameter values that+-- you use to specify the various types are in the API Name column of the+-- Available Instance Types table.+uiInstanceType :: Lens' UpdateInstance (Maybe Text)+uiInstanceType = lens _uiInstanceType (\s a -> s { _uiInstanceType = a })++-- | The instance's layer IDs.+uiLayerIds :: Lens' UpdateInstance [Text]+uiLayerIds = lens _uiLayerIds (\s a -> s { _uiLayerIds = a }) . _List++-- | The instance operating system, which must be set to one of the following.+-- Standard operating systems: Amazon Linux or Ubuntu 12.04 LTS Custom AMIs:+-- Custom The default option is Amazon Linux. If you set this parameter to+-- Custom, you must use the CreateInstance action's AmiId parameter to+-- specify the custom AMI that you want to use. For more information on the+-- standard operating systems, see Operating SystemsFor more information on+-- how to use custom AMIs with OpsWorks, see Using Custom AMIs.+uiOs :: Lens' UpdateInstance (Maybe Text)+uiOs = lens _uiOs (\s a -> s { _uiOs = a })++-- | The instance SSH key name.+uiSshKeyName :: Lens' UpdateInstance (Maybe Text)+uiSshKeyName = lens _uiSshKeyName (\s a -> s { _uiSshKeyName = a })++data UpdateInstanceResponse = UpdateInstanceResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'UpdateInstanceResponse' constructor.+updateInstanceResponse :: UpdateInstanceResponse+updateInstanceResponse = UpdateInstanceResponse++instance ToPath UpdateInstance where+ toPath = const "/"++instance ToQuery UpdateInstance where+ toQuery = const mempty++instance ToHeaders UpdateInstance++instance ToJSON UpdateInstance where+ toJSON UpdateInstance{..} = object+ [ "InstanceId" .= _uiInstanceId+ , "LayerIds" .= _uiLayerIds+ , "InstanceType" .= _uiInstanceType+ , "AutoScalingType" .= _uiAutoScalingType+ , "Hostname" .= _uiHostname+ , "Os" .= _uiOs+ , "AmiId" .= _uiAmiId+ , "SshKeyName" .= _uiSshKeyName+ , "Architecture" .= _uiArchitecture+ , "InstallUpdatesOnBoot" .= _uiInstallUpdatesOnBoot+ , "EbsOptimized" .= _uiEbsOptimized+ ]++instance AWSRequest UpdateInstance where+ type Sv UpdateInstance = OpsWorks+ type Rs UpdateInstance = UpdateInstanceResponse++ request = post "UpdateInstance"+ response = nullResponse UpdateInstanceResponse
+ gen/Network/AWS/OpsWorks/UpdateLayer.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.UpdateLayer+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Updates a specified layer. Required Permissions: To use this action, an IAM+-- user must have a Manage permissions level for the stack, or an attached+-- policy that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateLayer.html>+module Network.AWS.OpsWorks.UpdateLayer+ (+ -- * Request+ UpdateLayer+ -- ** Request constructor+ , updateLayer+ -- ** Request lenses+ , ulAttributes+ , ulAutoAssignElasticIps+ , ulAutoAssignPublicIps+ , ulCustomInstanceProfileArn+ , ulCustomRecipes+ , ulCustomSecurityGroupIds+ , ulEnableAutoHealing+ , ulInstallUpdatesOnBoot+ , ulLayerId+ , ulName+ , ulPackages+ , ulShortname+ , ulUseEbsOptimizedInstances+ , ulVolumeConfigurations++ -- * Response+ , UpdateLayerResponse+ -- ** Response constructor+ , updateLayerResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data UpdateLayer = UpdateLayer+ { _ulAttributes :: Map Text Text+ , _ulAutoAssignElasticIps :: Maybe Bool+ , _ulAutoAssignPublicIps :: Maybe Bool+ , _ulCustomInstanceProfileArn :: Maybe Text+ , _ulCustomRecipes :: Maybe Recipes+ , _ulCustomSecurityGroupIds :: List "InstanceIds" Text+ , _ulEnableAutoHealing :: Maybe Bool+ , _ulInstallUpdatesOnBoot :: Maybe Bool+ , _ulLayerId :: Text+ , _ulName :: Maybe Text+ , _ulPackages :: List "InstanceIds" Text+ , _ulShortname :: Maybe Text+ , _ulUseEbsOptimizedInstances :: Maybe Bool+ , _ulVolumeConfigurations :: List "VolumeConfigurations" VolumeConfiguration+ } deriving (Eq, Show)++-- | 'UpdateLayer' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ulAttributes' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'ulAutoAssignElasticIps' @::@ 'Maybe' 'Bool'+--+-- * 'ulAutoAssignPublicIps' @::@ 'Maybe' 'Bool'+--+-- * 'ulCustomInstanceProfileArn' @::@ 'Maybe' 'Text'+--+-- * 'ulCustomRecipes' @::@ 'Maybe' 'Recipes'+--+-- * 'ulCustomSecurityGroupIds' @::@ ['Text']+--+-- * 'ulEnableAutoHealing' @::@ 'Maybe' 'Bool'+--+-- * 'ulInstallUpdatesOnBoot' @::@ 'Maybe' 'Bool'+--+-- * 'ulLayerId' @::@ 'Text'+--+-- * 'ulName' @::@ 'Maybe' 'Text'+--+-- * 'ulPackages' @::@ ['Text']+--+-- * 'ulShortname' @::@ 'Maybe' 'Text'+--+-- * 'ulUseEbsOptimizedInstances' @::@ 'Maybe' 'Bool'+--+-- * 'ulVolumeConfigurations' @::@ ['VolumeConfiguration']+--+updateLayer :: Text -- ^ 'ulLayerId'+ -> UpdateLayer+updateLayer p1 = UpdateLayer+ { _ulLayerId = p1+ , _ulName = Nothing+ , _ulShortname = Nothing+ , _ulAttributes = mempty+ , _ulCustomInstanceProfileArn = Nothing+ , _ulCustomSecurityGroupIds = mempty+ , _ulPackages = mempty+ , _ulVolumeConfigurations = mempty+ , _ulEnableAutoHealing = Nothing+ , _ulAutoAssignElasticIps = Nothing+ , _ulAutoAssignPublicIps = Nothing+ , _ulCustomRecipes = Nothing+ , _ulInstallUpdatesOnBoot = Nothing+ , _ulUseEbsOptimizedInstances = Nothing+ }++-- | One or more user-defined key/value pairs to be added to the stack+-- attributes.+ulAttributes :: Lens' UpdateLayer (HashMap Text Text)+ulAttributes = lens _ulAttributes (\s a -> s { _ulAttributes = a }) . _Map++-- | Whether to automatically assign an Elastic IP address to the layer's+-- instances. For more information, see How to Edit a Layer.+ulAutoAssignElasticIps :: Lens' UpdateLayer (Maybe Bool)+ulAutoAssignElasticIps =+ lens _ulAutoAssignElasticIps (\s a -> s { _ulAutoAssignElasticIps = a })++-- | For stacks that are running in a VPC, whether to automatically assign a+-- public IP address to the layer's instances. For more information, see How+-- to Edit a Layer.+ulAutoAssignPublicIps :: Lens' UpdateLayer (Maybe Bool)+ulAutoAssignPublicIps =+ lens _ulAutoAssignPublicIps (\s a -> s { _ulAutoAssignPublicIps = a })++-- | The ARN of an IAM profile to be used for all of the layer's EC2+-- instances. For more information about IAM ARNs, see Using Identifiers.+ulCustomInstanceProfileArn :: Lens' UpdateLayer (Maybe Text)+ulCustomInstanceProfileArn =+ lens _ulCustomInstanceProfileArn+ (\s a -> s { _ulCustomInstanceProfileArn = a })++-- | A LayerCustomRecipes object that specifies the layer's custom recipes.+ulCustomRecipes :: Lens' UpdateLayer (Maybe Recipes)+ulCustomRecipes = lens _ulCustomRecipes (\s a -> s { _ulCustomRecipes = a })++-- | An array containing the layer's custom security group IDs.+ulCustomSecurityGroupIds :: Lens' UpdateLayer [Text]+ulCustomSecurityGroupIds =+ lens _ulCustomSecurityGroupIds+ (\s a -> s { _ulCustomSecurityGroupIds = a })+ . _List++-- | Whether to disable auto healing for the layer.+ulEnableAutoHealing :: Lens' UpdateLayer (Maybe Bool)+ulEnableAutoHealing =+ lens _ulEnableAutoHealing (\s a -> s { _ulEnableAutoHealing = a })++-- | Whether to install operating system and package updates when the instance+-- boots. The default value is true. To control when updates are installed,+-- set this value to false. You must then update your instances manually by+-- using CreateDeployment to run the update_dependencies stack command or+-- manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.+ulInstallUpdatesOnBoot :: Lens' UpdateLayer (Maybe Bool)+ulInstallUpdatesOnBoot =+ lens _ulInstallUpdatesOnBoot (\s a -> s { _ulInstallUpdatesOnBoot = a })++-- | The layer ID.+ulLayerId :: Lens' UpdateLayer Text+ulLayerId = lens _ulLayerId (\s a -> s { _ulLayerId = a })++-- | The layer name, which is used by the console.+ulName :: Lens' UpdateLayer (Maybe Text)+ulName = lens _ulName (\s a -> s { _ulName = a })++-- | An array of Package objects that describe the layer's packages.+ulPackages :: Lens' UpdateLayer [Text]+ulPackages = lens _ulPackages (\s a -> s { _ulPackages = a }) . _List++-- | The layer short name, which is used internally by AWS OpsWorksand by+-- Chef. The short name is also used as the name for the directory where+-- your app files are installed. It can have a maximum of 200 characters and+-- must be in the following format: /\A[a-z0-9\-\_\.]+\Z/.+ulShortname :: Lens' UpdateLayer (Maybe Text)+ulShortname = lens _ulShortname (\s a -> s { _ulShortname = a })++-- | Whether to use Amazon EBS-optimized instances.+ulUseEbsOptimizedInstances :: Lens' UpdateLayer (Maybe Bool)+ulUseEbsOptimizedInstances =+ lens _ulUseEbsOptimizedInstances+ (\s a -> s { _ulUseEbsOptimizedInstances = a })++-- | A VolumeConfigurations object that describes the layer's Amazon EBS+-- volumes.+ulVolumeConfigurations :: Lens' UpdateLayer [VolumeConfiguration]+ulVolumeConfigurations =+ lens _ulVolumeConfigurations (\s a -> s { _ulVolumeConfigurations = a })+ . _List++data UpdateLayerResponse = UpdateLayerResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'UpdateLayerResponse' constructor.+updateLayerResponse :: UpdateLayerResponse+updateLayerResponse = UpdateLayerResponse++instance ToPath UpdateLayer where+ toPath = const "/"++instance ToQuery UpdateLayer where+ toQuery = const mempty++instance ToHeaders UpdateLayer++instance ToJSON UpdateLayer where+ toJSON UpdateLayer{..} = object+ [ "LayerId" .= _ulLayerId+ , "Name" .= _ulName+ , "Shortname" .= _ulShortname+ , "Attributes" .= _ulAttributes+ , "CustomInstanceProfileArn" .= _ulCustomInstanceProfileArn+ , "CustomSecurityGroupIds" .= _ulCustomSecurityGroupIds+ , "Packages" .= _ulPackages+ , "VolumeConfigurations" .= _ulVolumeConfigurations+ , "EnableAutoHealing" .= _ulEnableAutoHealing+ , "AutoAssignElasticIps" .= _ulAutoAssignElasticIps+ , "AutoAssignPublicIps" .= _ulAutoAssignPublicIps+ , "CustomRecipes" .= _ulCustomRecipes+ , "InstallUpdatesOnBoot" .= _ulInstallUpdatesOnBoot+ , "UseEbsOptimizedInstances" .= _ulUseEbsOptimizedInstances+ ]++instance AWSRequest UpdateLayer where+ type Sv UpdateLayer = OpsWorks+ type Rs UpdateLayer = UpdateLayerResponse++ request = post "UpdateLayer"+ response = nullResponse UpdateLayerResponse
+ gen/Network/AWS/OpsWorks/UpdateMyUserProfile.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.UpdateMyUserProfile+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Updates a user's SSH public key. Required Permissions: To use this action,+-- an IAM user must have self-management enabled or an attached policy that+-- explicitly grants permissions. For more information on user permissions,+-- see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateMyUserProfile.html>+module Network.AWS.OpsWorks.UpdateMyUserProfile+ (+ -- * Request+ UpdateMyUserProfile+ -- ** Request constructor+ , updateMyUserProfile+ -- ** Request lenses+ , umupSshPublicKey++ -- * Response+ , UpdateMyUserProfileResponse+ -- ** Response constructor+ , updateMyUserProfileResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++newtype UpdateMyUserProfile = UpdateMyUserProfile+ { _umupSshPublicKey :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'UpdateMyUserProfile' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'umupSshPublicKey' @::@ 'Maybe' 'Text'+--+updateMyUserProfile :: UpdateMyUserProfile+updateMyUserProfile = UpdateMyUserProfile+ { _umupSshPublicKey = Nothing+ }++-- | The user's SSH public key.+umupSshPublicKey :: Lens' UpdateMyUserProfile (Maybe Text)+umupSshPublicKey = lens _umupSshPublicKey (\s a -> s { _umupSshPublicKey = a })++data UpdateMyUserProfileResponse = UpdateMyUserProfileResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'UpdateMyUserProfileResponse' constructor.+updateMyUserProfileResponse :: UpdateMyUserProfileResponse+updateMyUserProfileResponse = UpdateMyUserProfileResponse++instance ToPath UpdateMyUserProfile where+ toPath = const "/"++instance ToQuery UpdateMyUserProfile where+ toQuery = const mempty++instance ToHeaders UpdateMyUserProfile++instance ToJSON UpdateMyUserProfile where+ toJSON UpdateMyUserProfile{..} = object+ [ "SshPublicKey" .= _umupSshPublicKey+ ]++instance AWSRequest UpdateMyUserProfile where+ type Sv UpdateMyUserProfile = OpsWorks+ type Rs UpdateMyUserProfile = UpdateMyUserProfileResponse++ request = post "UpdateMyUserProfile"+ response = nullResponse UpdateMyUserProfileResponse
+ gen/Network/AWS/OpsWorks/UpdateRdsDbInstance.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.UpdateRdsDbInstance+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Updates an Amazon RDS instance.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateRdsDbInstance.html>+module Network.AWS.OpsWorks.UpdateRdsDbInstance+ (+ -- * Request+ UpdateRdsDbInstance+ -- ** Request constructor+ , updateRdsDbInstance+ -- ** Request lenses+ , urdiDbPassword+ , urdiDbUser+ , urdiRdsDbInstanceArn++ -- * Response+ , UpdateRdsDbInstanceResponse+ -- ** Response constructor+ , updateRdsDbInstanceResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data UpdateRdsDbInstance = UpdateRdsDbInstance+ { _urdiDbPassword :: Maybe Text+ , _urdiDbUser :: Maybe Text+ , _urdiRdsDbInstanceArn :: Text+ } deriving (Eq, Ord, Show)++-- | 'UpdateRdsDbInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'urdiDbPassword' @::@ 'Maybe' 'Text'+--+-- * 'urdiDbUser' @::@ 'Maybe' 'Text'+--+-- * 'urdiRdsDbInstanceArn' @::@ 'Text'+--+updateRdsDbInstance :: Text -- ^ 'urdiRdsDbInstanceArn'+ -> UpdateRdsDbInstance+updateRdsDbInstance p1 = UpdateRdsDbInstance+ { _urdiRdsDbInstanceArn = p1+ , _urdiDbUser = Nothing+ , _urdiDbPassword = Nothing+ }++-- | The database password.+urdiDbPassword :: Lens' UpdateRdsDbInstance (Maybe Text)+urdiDbPassword = lens _urdiDbPassword (\s a -> s { _urdiDbPassword = a })++-- | The master user name.+urdiDbUser :: Lens' UpdateRdsDbInstance (Maybe Text)+urdiDbUser = lens _urdiDbUser (\s a -> s { _urdiDbUser = a })++-- | The Amazon RDS instance's ARN.+urdiRdsDbInstanceArn :: Lens' UpdateRdsDbInstance Text+urdiRdsDbInstanceArn =+ lens _urdiRdsDbInstanceArn (\s a -> s { _urdiRdsDbInstanceArn = a })++data UpdateRdsDbInstanceResponse = UpdateRdsDbInstanceResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'UpdateRdsDbInstanceResponse' constructor.+updateRdsDbInstanceResponse :: UpdateRdsDbInstanceResponse+updateRdsDbInstanceResponse = UpdateRdsDbInstanceResponse++instance ToPath UpdateRdsDbInstance where+ toPath = const "/"++instance ToQuery UpdateRdsDbInstance where+ toQuery = const mempty++instance ToHeaders UpdateRdsDbInstance++instance ToJSON UpdateRdsDbInstance where+ toJSON UpdateRdsDbInstance{..} = object+ [ "RdsDbInstanceArn" .= _urdiRdsDbInstanceArn+ , "DbUser" .= _urdiDbUser+ , "DbPassword" .= _urdiDbPassword+ ]++instance AWSRequest UpdateRdsDbInstance where+ type Sv UpdateRdsDbInstance = OpsWorks+ type Rs UpdateRdsDbInstance = UpdateRdsDbInstanceResponse++ request = post "UpdateRdsDbInstance"+ response = nullResponse UpdateRdsDbInstanceResponse
+ gen/Network/AWS/OpsWorks/UpdateStack.hs view
@@ -0,0 +1,313 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.UpdateStack+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Updates a specified stack. Required Permissions: To use this action, an IAM+-- user must have a Manage permissions level for the stack, or an attached+-- policy that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateStack.html>+module Network.AWS.OpsWorks.UpdateStack+ (+ -- * Request+ UpdateStack+ -- ** Request constructor+ , updateStack+ -- ** Request lenses+ , usAttributes+ , usChefConfiguration+ , usConfigurationManager+ , usCustomCookbooksSource+ , usCustomJson+ , usDefaultAvailabilityZone+ , usDefaultInstanceProfileArn+ , usDefaultOs+ , usDefaultRootDeviceType+ , usDefaultSshKeyName+ , usDefaultSubnetId+ , usHostnameTheme+ , usName+ , usServiceRoleArn+ , usStackId+ , usUseCustomCookbooks+ , usUseOpsworksSecurityGroups++ -- * Response+ , UpdateStackResponse+ -- ** Response constructor+ , updateStackResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data UpdateStack = UpdateStack+ { _usAttributes :: Map Text Text+ , _usChefConfiguration :: Maybe ChefConfiguration+ , _usConfigurationManager :: Maybe StackConfigurationManager+ , _usCustomCookbooksSource :: Maybe Source+ , _usCustomJson :: Maybe Text+ , _usDefaultAvailabilityZone :: Maybe Text+ , _usDefaultInstanceProfileArn :: Maybe Text+ , _usDefaultOs :: Maybe Text+ , _usDefaultRootDeviceType :: Maybe Text+ , _usDefaultSshKeyName :: Maybe Text+ , _usDefaultSubnetId :: Maybe Text+ , _usHostnameTheme :: Maybe Text+ , _usName :: Maybe Text+ , _usServiceRoleArn :: Maybe Text+ , _usStackId :: Text+ , _usUseCustomCookbooks :: Maybe Bool+ , _usUseOpsworksSecurityGroups :: Maybe Bool+ } deriving (Eq, Show)++-- | 'UpdateStack' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'usAttributes' @::@ 'HashMap' 'Text' 'Text'+--+-- * 'usChefConfiguration' @::@ 'Maybe' 'ChefConfiguration'+--+-- * 'usConfigurationManager' @::@ 'Maybe' 'StackConfigurationManager'+--+-- * 'usCustomCookbooksSource' @::@ 'Maybe' 'Source'+--+-- * 'usCustomJson' @::@ 'Maybe' 'Text'+--+-- * 'usDefaultAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'usDefaultInstanceProfileArn' @::@ 'Maybe' 'Text'+--+-- * 'usDefaultOs' @::@ 'Maybe' 'Text'+--+-- * 'usDefaultRootDeviceType' @::@ 'Maybe' 'Text'+--+-- * 'usDefaultSshKeyName' @::@ 'Maybe' 'Text'+--+-- * 'usDefaultSubnetId' @::@ 'Maybe' 'Text'+--+-- * 'usHostnameTheme' @::@ 'Maybe' 'Text'+--+-- * 'usName' @::@ 'Maybe' 'Text'+--+-- * 'usServiceRoleArn' @::@ 'Maybe' 'Text'+--+-- * 'usStackId' @::@ 'Text'+--+-- * 'usUseCustomCookbooks' @::@ 'Maybe' 'Bool'+--+-- * 'usUseOpsworksSecurityGroups' @::@ 'Maybe' 'Bool'+--+updateStack :: Text -- ^ 'usStackId'+ -> UpdateStack+updateStack p1 = UpdateStack+ { _usStackId = p1+ , _usName = Nothing+ , _usAttributes = mempty+ , _usServiceRoleArn = Nothing+ , _usDefaultInstanceProfileArn = Nothing+ , _usDefaultOs = Nothing+ , _usHostnameTheme = Nothing+ , _usDefaultAvailabilityZone = Nothing+ , _usDefaultSubnetId = Nothing+ , _usCustomJson = Nothing+ , _usConfigurationManager = Nothing+ , _usChefConfiguration = Nothing+ , _usUseCustomCookbooks = Nothing+ , _usCustomCookbooksSource = Nothing+ , _usDefaultSshKeyName = Nothing+ , _usDefaultRootDeviceType = Nothing+ , _usUseOpsworksSecurityGroups = Nothing+ }++-- | One or more user-defined key/value pairs to be added to the stack+-- attributes.+usAttributes :: Lens' UpdateStack (HashMap Text Text)+usAttributes = lens _usAttributes (\s a -> s { _usAttributes = a }) . _Map++-- | A ChefConfiguration object that specifies whether to enable Berkshelf and+-- the Berkshelf version on Chef 11.10 stacks. For more information, see+-- Create a New Stack.+usChefConfiguration :: Lens' UpdateStack (Maybe ChefConfiguration)+usChefConfiguration =+ lens _usChefConfiguration (\s a -> s { _usChefConfiguration = a })++-- | The configuration manager. When you clone a stack we recommend that you+-- use the configuration manager to specify the Chef version, 0.9, 11.4, or+-- 11.10. The default value is currently 11.4.+usConfigurationManager :: Lens' UpdateStack (Maybe StackConfigurationManager)+usConfigurationManager =+ lens _usConfigurationManager (\s a -> s { _usConfigurationManager = a })++usCustomCookbooksSource :: Lens' UpdateStack (Maybe Source)+usCustomCookbooksSource =+ lens _usCustomCookbooksSource (\s a -> s { _usCustomCookbooksSource = a })++-- | A string that contains user-defined, custom JSON. It is used to override+-- the corresponding default stack configuration JSON values. The string+-- should be in the following format and must escape characters such as+-- '"'.: "{\"key1\": \"value1\", \"key2\": \"value2\",...}" For more+-- information on custom JSON, see Use Custom JSON to Modify the Stack+-- Configuration JSON.+usCustomJson :: Lens' UpdateStack (Maybe Text)+usCustomJson = lens _usCustomJson (\s a -> s { _usCustomJson = a })++-- | The stack's default Availability Zone, which must be in the specified+-- region. For more information, see Regions and Endpoints. If you also+-- specify a value for DefaultSubnetId, the subnet must be in the same zone.+-- For more information, see CreateStack.+usDefaultAvailabilityZone :: Lens' UpdateStack (Maybe Text)+usDefaultAvailabilityZone =+ lens _usDefaultAvailabilityZone+ (\s a -> s { _usDefaultAvailabilityZone = a })++-- | The ARN of an IAM profile that is the default profile for all of the+-- stack's EC2 instances. For more information about IAM ARNs, see Using+-- Identifiers.+usDefaultInstanceProfileArn :: Lens' UpdateStack (Maybe Text)+usDefaultInstanceProfileArn =+ lens _usDefaultInstanceProfileArn+ (\s a -> s { _usDefaultInstanceProfileArn = a })++-- | The stack's default operating system, which must be set to Amazon Linux+-- or Ubuntu 12.04 LTS. The default option is Amazon Linux.+usDefaultOs :: Lens' UpdateStack (Maybe Text)+usDefaultOs = lens _usDefaultOs (\s a -> s { _usDefaultOs = a })++-- | The default root device type. This value is used by default for all+-- instances in the stack, but you can override it when you create an+-- instance. For more information, see Storage for the Root Device.+usDefaultRootDeviceType :: Lens' UpdateStack (Maybe Text)+usDefaultRootDeviceType =+ lens _usDefaultRootDeviceType (\s a -> s { _usDefaultRootDeviceType = a })++-- | A default SSH key for the stack instances. You can override this value+-- when you create or update an instance.+usDefaultSshKeyName :: Lens' UpdateStack (Maybe Text)+usDefaultSshKeyName =+ lens _usDefaultSshKeyName (\s a -> s { _usDefaultSshKeyName = a })++-- | The stack's default subnet ID. All instances will be launched into this+-- subnet unless you specify otherwise when you create the instance. If you+-- also specify a value for DefaultAvailabilityZone, the subnet must be in+-- that zone. For more information, see CreateStack.+usDefaultSubnetId :: Lens' UpdateStack (Maybe Text)+usDefaultSubnetId =+ lens _usDefaultSubnetId (\s a -> s { _usDefaultSubnetId = a })++-- | The stack's new host name theme, with spaces are replaced by underscores.+-- The theme is used to generate host names for the stack's instances. By+-- default, HostnameTheme is set to Layer_Dependent, which creates host+-- names by appending integers to the layer's short name. The other themes+-- are: Baked_Goods Clouds European_Cities Fruits Greek_Deities+-- Legendary_Creatures_from_Japan Planets_and_Moons Roman_Deities+-- Scottish_Islands US_Cities Wild_Cats To obtain a generated host name,+-- call GetHostNameSuggestion, which returns a host name based on the+-- current theme.+usHostnameTheme :: Lens' UpdateStack (Maybe Text)+usHostnameTheme = lens _usHostnameTheme (\s a -> s { _usHostnameTheme = a })++-- | The stack's new name.+usName :: Lens' UpdateStack (Maybe Text)+usName = lens _usName (\s a -> s { _usName = a })++-- | The stack AWS Identity and Access Management (IAM) role, which allows AWS+-- OpsWorks to work with AWS resources on your behalf. You must set this+-- parameter to the Amazon Resource Name (ARN) for an existing IAM role. For+-- more information about IAM ARNs, see Using Identifiers.+usServiceRoleArn :: Lens' UpdateStack (Maybe Text)+usServiceRoleArn = lens _usServiceRoleArn (\s a -> s { _usServiceRoleArn = a })++-- | The stack ID.+usStackId :: Lens' UpdateStack Text+usStackId = lens _usStackId (\s a -> s { _usStackId = a })++-- | Whether the stack uses custom cookbooks.+usUseCustomCookbooks :: Lens' UpdateStack (Maybe Bool)+usUseCustomCookbooks =+ lens _usUseCustomCookbooks (\s a -> s { _usUseCustomCookbooks = a })++-- | Whether to associate the AWS OpsWorks built-in security groups with the+-- stack's layers. AWS OpsWorks provides a standard set of built-in security+-- groups, one for each layer, which are associated with layers by default.+-- UseOpsworksSecurityGroups allows you to instead provide your own custom+-- security groups. UseOpsworksSecurityGroups has the following settings:+-- True - AWS OpsWorks automatically associates the appropriate built-in+-- security group with each layer (default setting). You can associate+-- additional security groups with a layer after you create it but you+-- cannot delete the built-in security group. False - AWS OpsWorks does not+-- associate built-in security groups with layers. You must create+-- appropriate EC2 security groups and associate a security group with each+-- layer that you create. However, you can still manually associate a+-- built-in security group with a layer on creation; custom security groups+-- are required only for those layers that need custom settings. For more+-- information, see Create a New Stack.+usUseOpsworksSecurityGroups :: Lens' UpdateStack (Maybe Bool)+usUseOpsworksSecurityGroups =+ lens _usUseOpsworksSecurityGroups+ (\s a -> s { _usUseOpsworksSecurityGroups = a })++data UpdateStackResponse = UpdateStackResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'UpdateStackResponse' constructor.+updateStackResponse :: UpdateStackResponse+updateStackResponse = UpdateStackResponse++instance ToPath UpdateStack where+ toPath = const "/"++instance ToQuery UpdateStack where+ toQuery = const mempty++instance ToHeaders UpdateStack++instance ToJSON UpdateStack where+ toJSON UpdateStack{..} = object+ [ "StackId" .= _usStackId+ , "Name" .= _usName+ , "Attributes" .= _usAttributes+ , "ServiceRoleArn" .= _usServiceRoleArn+ , "DefaultInstanceProfileArn" .= _usDefaultInstanceProfileArn+ , "DefaultOs" .= _usDefaultOs+ , "HostnameTheme" .= _usHostnameTheme+ , "DefaultAvailabilityZone" .= _usDefaultAvailabilityZone+ , "DefaultSubnetId" .= _usDefaultSubnetId+ , "CustomJson" .= _usCustomJson+ , "ConfigurationManager" .= _usConfigurationManager+ , "ChefConfiguration" .= _usChefConfiguration+ , "UseCustomCookbooks" .= _usUseCustomCookbooks+ , "CustomCookbooksSource" .= _usCustomCookbooksSource+ , "DefaultSshKeyName" .= _usDefaultSshKeyName+ , "DefaultRootDeviceType" .= _usDefaultRootDeviceType+ , "UseOpsworksSecurityGroups" .= _usUseOpsworksSecurityGroups+ ]++instance AWSRequest UpdateStack where+ type Sv UpdateStack = OpsWorks+ type Rs UpdateStack = UpdateStackResponse++ request = post "UpdateStack"+ response = nullResponse UpdateStackResponse
+ gen/Network/AWS/OpsWorks/UpdateUserProfile.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.UpdateUserProfile+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Updates a specified user profile. Required Permissions: To use this action,+-- an IAM user must have an attached policy that explicitly grants+-- permissions. For more information on user permissions, see Managing User+-- Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateUserProfile.html>+module Network.AWS.OpsWorks.UpdateUserProfile+ (+ -- * Request+ UpdateUserProfile+ -- ** Request constructor+ , updateUserProfile+ -- ** Request lenses+ , uupAllowSelfManagement+ , uupIamUserArn+ , uupSshPublicKey+ , uupSshUsername++ -- * Response+ , UpdateUserProfileResponse+ -- ** Response constructor+ , updateUserProfileResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data UpdateUserProfile = UpdateUserProfile+ { _uupAllowSelfManagement :: Maybe Bool+ , _uupIamUserArn :: Text+ , _uupSshPublicKey :: Maybe Text+ , _uupSshUsername :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'UpdateUserProfile' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'uupAllowSelfManagement' @::@ 'Maybe' 'Bool'+--+-- * 'uupIamUserArn' @::@ 'Text'+--+-- * 'uupSshPublicKey' @::@ 'Maybe' 'Text'+--+-- * 'uupSshUsername' @::@ 'Maybe' 'Text'+--+updateUserProfile :: Text -- ^ 'uupIamUserArn'+ -> UpdateUserProfile+updateUserProfile p1 = UpdateUserProfile+ { _uupIamUserArn = p1+ , _uupSshUsername = Nothing+ , _uupSshPublicKey = Nothing+ , _uupAllowSelfManagement = Nothing+ }++-- | Whether users can specify their own SSH public key through the My+-- Settings page. For more information, see Managing User Permissions.+uupAllowSelfManagement :: Lens' UpdateUserProfile (Maybe Bool)+uupAllowSelfManagement =+ lens _uupAllowSelfManagement (\s a -> s { _uupAllowSelfManagement = a })++-- | The user IAM ARN.+uupIamUserArn :: Lens' UpdateUserProfile Text+uupIamUserArn = lens _uupIamUserArn (\s a -> s { _uupIamUserArn = a })++-- | The user's new SSH public key.+uupSshPublicKey :: Lens' UpdateUserProfile (Maybe Text)+uupSshPublicKey = lens _uupSshPublicKey (\s a -> s { _uupSshPublicKey = a })++-- | The user's SSH user name. The allowable characters are [a-z], [A-Z],+-- [0-9], '-', and '_'. If the specified name includes other punctuation+-- marks, AWS OpsWorks removes them. For example, my.name will be changed to+-- myname. If you do not specify an SSH user name, AWS OpsWorks generates+-- one from the IAM user name.+uupSshUsername :: Lens' UpdateUserProfile (Maybe Text)+uupSshUsername = lens _uupSshUsername (\s a -> s { _uupSshUsername = a })++data UpdateUserProfileResponse = UpdateUserProfileResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'UpdateUserProfileResponse' constructor.+updateUserProfileResponse :: UpdateUserProfileResponse+updateUserProfileResponse = UpdateUserProfileResponse++instance ToPath UpdateUserProfile where+ toPath = const "/"++instance ToQuery UpdateUserProfile where+ toQuery = const mempty++instance ToHeaders UpdateUserProfile++instance ToJSON UpdateUserProfile where+ toJSON UpdateUserProfile{..} = object+ [ "IamUserArn" .= _uupIamUserArn+ , "SshUsername" .= _uupSshUsername+ , "SshPublicKey" .= _uupSshPublicKey+ , "AllowSelfManagement" .= _uupAllowSelfManagement+ ]++instance AWSRequest UpdateUserProfile where+ type Sv UpdateUserProfile = OpsWorks+ type Rs UpdateUserProfile = UpdateUserProfileResponse++ request = post "UpdateUserProfile"+ response = nullResponse UpdateUserProfileResponse
+ gen/Network/AWS/OpsWorks/UpdateVolume.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.OpsWorks.UpdateVolume+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Updates an Amazon EBS volume's name or mount point. For more information,+-- see Resource Management. Required Permissions: To use this action, an IAM+-- user must have a Manage permissions level for the stack, or an attached+-- policy that explicitly grants permissions. For more information on user+-- permissions, see Managing User Permissions.+--+-- <http://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateVolume.html>+module Network.AWS.OpsWorks.UpdateVolume+ (+ -- * Request+ UpdateVolume+ -- ** Request constructor+ , updateVolume+ -- ** Request lenses+ , uv1MountPoint+ , uv1Name+ , uv1VolumeId++ -- * Response+ , UpdateVolumeResponse+ -- ** Response constructor+ , updateVolumeResponse+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.OpsWorks.Types+import qualified GHC.Exts++data UpdateVolume = UpdateVolume+ { _uv1MountPoint :: Maybe Text+ , _uv1Name :: Maybe Text+ , _uv1VolumeId :: Text+ } deriving (Eq, Ord, Show)++-- | 'UpdateVolume' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'uv1MountPoint' @::@ 'Maybe' 'Text'+--+-- * 'uv1Name' @::@ 'Maybe' 'Text'+--+-- * 'uv1VolumeId' @::@ 'Text'+--+updateVolume :: Text -- ^ 'uv1VolumeId'+ -> UpdateVolume+updateVolume p1 = UpdateVolume+ { _uv1VolumeId = p1+ , _uv1Name = Nothing+ , _uv1MountPoint = Nothing+ }++-- | The new mount point.+uv1MountPoint :: Lens' UpdateVolume (Maybe Text)+uv1MountPoint = lens _uv1MountPoint (\s a -> s { _uv1MountPoint = a })++-- | The new name.+uv1Name :: Lens' UpdateVolume (Maybe Text)+uv1Name = lens _uv1Name (\s a -> s { _uv1Name = a })++-- | The volume ID.+uv1VolumeId :: Lens' UpdateVolume Text+uv1VolumeId = lens _uv1VolumeId (\s a -> s { _uv1VolumeId = a })++data UpdateVolumeResponse = UpdateVolumeResponse+ deriving (Eq, Ord, Show, Generic)++-- | 'UpdateVolumeResponse' constructor.+updateVolumeResponse :: UpdateVolumeResponse+updateVolumeResponse = UpdateVolumeResponse++instance ToPath UpdateVolume where+ toPath = const "/"++instance ToQuery UpdateVolume where+ toQuery = const mempty++instance ToHeaders UpdateVolume++instance ToJSON UpdateVolume where+ toJSON UpdateVolume{..} = object+ [ "VolumeId" .= _uv1VolumeId+ , "Name" .= _uv1Name+ , "MountPoint" .= _uv1MountPoint+ ]++instance AWSRequest UpdateVolume where+ type Sv UpdateVolume = OpsWorks+ type Rs UpdateVolume = UpdateVolumeResponse++ request = post "UpdateVolume"+ response = nullResponse UpdateVolumeResponse