amazonka-lightsail (empty) → 1.4.5
raw patch · 155 files changed
+12086/−0 lines, 155 filesdep +amazonka-coredep +amazonka-lightsaildep +amazonka-testsetup-changed
Dependencies added: amazonka-core, amazonka-lightsail, amazonka-test, base, bytestring, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +45/−0
- Setup.hs +2/−0
- amazonka-lightsail.cabal +127/−0
- fixture/AllocateStaticIP.yaml +10/−0
- fixture/AllocateStaticIPResponse.proto +0/−0
- fixture/AttachStaticIP.yaml +10/−0
- fixture/AttachStaticIPResponse.proto +0/−0
- fixture/CloseInstancePublicPorts.yaml +10/−0
- fixture/CloseInstancePublicPortsResponse.proto +0/−0
- fixture/CreateDomain.yaml +10/−0
- fixture/CreateDomainEntry.yaml +10/−0
- fixture/CreateDomainEntryResponse.proto +0/−0
- fixture/CreateDomainResponse.proto +0/−0
- fixture/CreateInstanceSnapshot.yaml +10/−0
- fixture/CreateInstanceSnapshotResponse.proto +0/−0
- fixture/CreateInstances.yaml +10/−0
- fixture/CreateInstancesFromSnapshot.yaml +10/−0
- fixture/CreateInstancesFromSnapshotResponse.proto +0/−0
- fixture/CreateInstancesResponse.proto +0/−0
- fixture/CreateKeyPair.yaml +10/−0
- fixture/CreateKeyPairResponse.proto +0/−0
- fixture/DeleteDomain.yaml +10/−0
- fixture/DeleteDomainEntry.yaml +10/−0
- fixture/DeleteDomainEntryResponse.proto +0/−0
- fixture/DeleteDomainResponse.proto +0/−0
- fixture/DeleteInstance.yaml +10/−0
- fixture/DeleteInstanceResponse.proto +0/−0
- fixture/DeleteInstanceSnapshot.yaml +10/−0
- fixture/DeleteInstanceSnapshotResponse.proto +0/−0
- fixture/DeleteKeyPair.yaml +10/−0
- fixture/DeleteKeyPairResponse.proto +0/−0
- fixture/DetachStaticIP.yaml +10/−0
- fixture/DetachStaticIPResponse.proto +0/−0
- fixture/DownloadDefaultKeyPair.yaml +10/−0
- fixture/DownloadDefaultKeyPairResponse.proto +0/−0
- fixture/GetActiveNames.yaml +10/−0
- fixture/GetActiveNamesResponse.proto +0/−0
- fixture/GetBlueprints.yaml +10/−0
- fixture/GetBlueprintsResponse.proto +0/−0
- fixture/GetBundles.yaml +10/−0
- fixture/GetBundlesResponse.proto +0/−0
- fixture/GetDomain.yaml +10/−0
- fixture/GetDomainResponse.proto +0/−0
- fixture/GetDomains.yaml +10/−0
- fixture/GetDomainsResponse.proto +0/−0
- fixture/GetInstance.yaml +10/−0
- fixture/GetInstanceAccessDetails.yaml +10/−0
- fixture/GetInstanceAccessDetailsResponse.proto +0/−0
- fixture/GetInstanceMetricData.yaml +10/−0
- fixture/GetInstanceMetricDataResponse.proto +0/−0
- fixture/GetInstancePortStates.yaml +10/−0
- fixture/GetInstancePortStatesResponse.proto +0/−0
- fixture/GetInstanceResponse.proto +0/−0
- fixture/GetInstanceSnapshot.yaml +10/−0
- fixture/GetInstanceSnapshotResponse.proto +0/−0
- fixture/GetInstanceSnapshots.yaml +10/−0
- fixture/GetInstanceSnapshotsResponse.proto +0/−0
- fixture/GetInstanceState.yaml +10/−0
- fixture/GetInstanceStateResponse.proto +0/−0
- fixture/GetInstances.yaml +10/−0
- fixture/GetInstancesResponse.proto +0/−0
- fixture/GetKeyPair.yaml +10/−0
- fixture/GetKeyPairResponse.proto +0/−0
- fixture/GetKeyPairs.yaml +10/−0
- fixture/GetKeyPairsResponse.proto +0/−0
- fixture/GetOperation.yaml +10/−0
- fixture/GetOperationResponse.proto +0/−0
- fixture/GetOperations.yaml +10/−0
- fixture/GetOperationsForResource.yaml +10/−0
- fixture/GetOperationsForResourceResponse.proto +0/−0
- fixture/GetOperationsResponse.proto +0/−0
- fixture/GetRegions.yaml +10/−0
- fixture/GetRegionsResponse.proto +0/−0
- fixture/GetStaticIP.yaml +10/−0
- fixture/GetStaticIPResponse.proto +0/−0
- fixture/GetStaticIPs.yaml +10/−0
- fixture/GetStaticIPsResponse.proto +0/−0
- fixture/ImportKeyPair.yaml +10/−0
- fixture/ImportKeyPairResponse.proto +0/−0
- fixture/IsVPCPeered.yaml +10/−0
- fixture/IsVPCPeeredResponse.proto +0/−0
- fixture/OpenInstancePublicPorts.yaml +10/−0
- fixture/OpenInstancePublicPortsResponse.proto +0/−0
- fixture/PeerVPC.yaml +10/−0
- fixture/PeerVPCResponse.proto +0/−0
- fixture/RebootInstance.yaml +10/−0
- fixture/RebootInstanceResponse.proto +0/−0
- fixture/ReleaseStaticIP.yaml +10/−0
- fixture/ReleaseStaticIPResponse.proto +0/−0
- fixture/StartInstance.yaml +10/−0
- fixture/StartInstanceResponse.proto +0/−0
- fixture/StopInstance.yaml +10/−0
- fixture/StopInstanceResponse.proto +0/−0
- fixture/UnpeerVPC.yaml +10/−0
- fixture/UnpeerVPCResponse.proto +0/−0
- fixture/UpdateDomainEntry.yaml +10/−0
- fixture/UpdateDomainEntryResponse.proto +0/−0
- gen/Network/AWS/Lightsail.hs +552/−0
- gen/Network/AWS/Lightsail/AllocateStaticIP.hs +135/−0
- gen/Network/AWS/Lightsail/AttachStaticIP.hs +145/−0
- gen/Network/AWS/Lightsail/CloseInstancePublicPorts.hs +146/−0
- gen/Network/AWS/Lightsail/CreateDomain.hs +132/−0
- gen/Network/AWS/Lightsail/CreateDomainEntry.hs +145/−0
- gen/Network/AWS/Lightsail/CreateInstanceSnapshot.hs +148/−0
- gen/Network/AWS/Lightsail/CreateInstances.hs +196/−0
- gen/Network/AWS/Lightsail/CreateInstancesFromSnapshot.hs +190/−0
- gen/Network/AWS/Lightsail/CreateKeyPair.hs +162/−0
- gen/Network/AWS/Lightsail/DeleteDomain.hs +132/−0
- gen/Network/AWS/Lightsail/DeleteDomainEntry.hs +145/−0
- gen/Network/AWS/Lightsail/DeleteInstance.hs +134/−0
- gen/Network/AWS/Lightsail/DeleteInstanceSnapshot.hs +138/−0
- gen/Network/AWS/Lightsail/DeleteKeyPair.hs +132/−0
- gen/Network/AWS/Lightsail/DetachStaticIP.hs +134/−0
- gen/Network/AWS/Lightsail/DownloadDefaultKeyPair.hs +130/−0
- gen/Network/AWS/Lightsail/GetActiveNames.hs +142/−0
- gen/Network/AWS/Lightsail/GetBlueprints.hs +153/−0
- gen/Network/AWS/Lightsail/GetBundles.hs +153/−0
- gen/Network/AWS/Lightsail/GetDomain.hs +132/−0
- gen/Network/AWS/Lightsail/GetDomains.hs +142/−0
- gen/Network/AWS/Lightsail/GetInstance.hs +133/−0
- gen/Network/AWS/Lightsail/GetInstanceAccessDetails.hs +145/−0
- gen/Network/AWS/Lightsail/GetInstanceMetricData.hs +211/−0
- gen/Network/AWS/Lightsail/GetInstancePortStates.hs +136/−0
- gen/Network/AWS/Lightsail/GetInstanceSnapshot.hs +137/−0
- gen/Network/AWS/Lightsail/GetInstanceSnapshots.hs +144/−0
- gen/Network/AWS/Lightsail/GetInstanceState.hs +134/−0
- gen/Network/AWS/Lightsail/GetInstances.hs +142/−0
- gen/Network/AWS/Lightsail/GetKeyPair.hs +132/−0
- gen/Network/AWS/Lightsail/GetKeyPairs.hs +142/−0
- gen/Network/AWS/Lightsail/GetOperation.hs +132/−0
- gen/Network/AWS/Lightsail/GetOperations.hs +144/−0
- gen/Network/AWS/Lightsail/GetOperationsForResource.hs +156/−0
- gen/Network/AWS/Lightsail/GetRegions.hs +133/−0
- gen/Network/AWS/Lightsail/GetStaticIP.hs +133/−0
- gen/Network/AWS/Lightsail/GetStaticIPs.hs +142/−0
- gen/Network/AWS/Lightsail/ImportKeyPair.hs +144/−0
- gen/Network/AWS/Lightsail/IsVPCPeered.hs +117/−0
- gen/Network/AWS/Lightsail/OpenInstancePublicPorts.hs +146/−0
- gen/Network/AWS/Lightsail/PeerVPC.hs +117/−0
- gen/Network/AWS/Lightsail/RebootInstance.hs +134/−0
- gen/Network/AWS/Lightsail/ReleaseStaticIP.hs +134/−0
- gen/Network/AWS/Lightsail/StartInstance.hs +133/−0
- gen/Network/AWS/Lightsail/StopInstance.hs +134/−0
- gen/Network/AWS/Lightsail/Types.hs +384/−0
- gen/Network/AWS/Lightsail/Types/Product.hs +1911/−0
- gen/Network/AWS/Lightsail/Types/Sum.hs +588/−0
- gen/Network/AWS/Lightsail/UnpeerVPC.hs +117/−0
- gen/Network/AWS/Lightsail/UpdateDomainEntry.hs +146/−0
- gen/Network/AWS/Lightsail/Waiters.hs +21/−0
- src/.gitkeep +0/−0
- test/Main.hs +21/−0
- test/Test/AWS/Gen/Lightsail.hs +885/−0
- test/Test/AWS/Lightsail.hs +20/−0
- test/Test/AWS/Lightsail/Internal.hs +9/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,45 @@+# Amazon Lightsail SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`1.4.5`+++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-lightsail)+and the [AWS API Reference](https://aws.amazon.com/documentation/).++The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information, sending requests,+and receiving responses.++Lenses are used for constructing and manipulating types,+due to the depth of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++See [Network.AWS.Lightsail](http://hackage.haskell.org/package/amazonka-lightsail/docs/Network-AWS-Lightsail.html)+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-lightsail` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ amazonka-lightsail.cabal view
@@ -0,0 +1,127 @@+name: amazonka-lightsail+version: 1.4.5+synopsis: Amazon Lightsail SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2013-2016 Brendan Hay+category: Network, AWS, Cloud, Distributed Computing+build-type: Simple+cabal-version: >= 1.10+extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep+description:+ The types from this library are intended to be used with+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides+ mechanisms for specifying AuthN/AuthZ information, sending requests,+ and receiving responses.+ .+ Lenses are used for constructing and manipulating types,+ due to the depth of nesting of AWS types and transparency regarding+ de/serialisation into more palatable Haskell values.+ The provided lenses should be compatible with any of the major lens libraries+ such as <http://hackage.haskell.org/package/lens lens> or+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Network.AWS.Lightsail" or <https://aws.amazon.com/documentation/ the AWS documentation>+ to get started.++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.AWS.Lightsail+ , Network.AWS.Lightsail.AllocateStaticIP+ , Network.AWS.Lightsail.AttachStaticIP+ , Network.AWS.Lightsail.CloseInstancePublicPorts+ , Network.AWS.Lightsail.CreateDomain+ , Network.AWS.Lightsail.CreateDomainEntry+ , Network.AWS.Lightsail.CreateInstanceSnapshot+ , Network.AWS.Lightsail.CreateInstances+ , Network.AWS.Lightsail.CreateInstancesFromSnapshot+ , Network.AWS.Lightsail.CreateKeyPair+ , Network.AWS.Lightsail.DeleteDomain+ , Network.AWS.Lightsail.DeleteDomainEntry+ , Network.AWS.Lightsail.DeleteInstance+ , Network.AWS.Lightsail.DeleteInstanceSnapshot+ , Network.AWS.Lightsail.DeleteKeyPair+ , Network.AWS.Lightsail.DetachStaticIP+ , Network.AWS.Lightsail.DownloadDefaultKeyPair+ , Network.AWS.Lightsail.GetActiveNames+ , Network.AWS.Lightsail.GetBlueprints+ , Network.AWS.Lightsail.GetBundles+ , Network.AWS.Lightsail.GetDomain+ , Network.AWS.Lightsail.GetDomains+ , Network.AWS.Lightsail.GetInstance+ , Network.AWS.Lightsail.GetInstanceAccessDetails+ , Network.AWS.Lightsail.GetInstanceMetricData+ , Network.AWS.Lightsail.GetInstancePortStates+ , Network.AWS.Lightsail.GetInstanceSnapshot+ , Network.AWS.Lightsail.GetInstanceSnapshots+ , Network.AWS.Lightsail.GetInstanceState+ , Network.AWS.Lightsail.GetInstances+ , Network.AWS.Lightsail.GetKeyPair+ , Network.AWS.Lightsail.GetKeyPairs+ , Network.AWS.Lightsail.GetOperation+ , Network.AWS.Lightsail.GetOperations+ , Network.AWS.Lightsail.GetOperationsForResource+ , Network.AWS.Lightsail.GetRegions+ , Network.AWS.Lightsail.GetStaticIP+ , Network.AWS.Lightsail.GetStaticIPs+ , Network.AWS.Lightsail.ImportKeyPair+ , Network.AWS.Lightsail.IsVPCPeered+ , Network.AWS.Lightsail.OpenInstancePublicPorts+ , Network.AWS.Lightsail.PeerVPC+ , Network.AWS.Lightsail.RebootInstance+ , Network.AWS.Lightsail.ReleaseStaticIP+ , Network.AWS.Lightsail.StartInstance+ , Network.AWS.Lightsail.StopInstance+ , Network.AWS.Lightsail.Types+ , Network.AWS.Lightsail.UnpeerVPC+ , Network.AWS.Lightsail.UpdateDomainEntry+ , Network.AWS.Lightsail.Waiters++ other-modules:+ Network.AWS.Lightsail.Types.Product+ , Network.AWS.Lightsail.Types.Sum++ build-depends:+ amazonka-core == 1.4.5.*+ , base >= 4.7 && < 5++test-suite amazonka-lightsail-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs++ ghc-options: -Wall -threaded++ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.AWS.Lightsail+ , Test.AWS.Gen.Lightsail+ , Test.AWS.Lightsail.Internal++ build-depends:+ amazonka-core == 1.4.5.*+ , amazonka-test == 1.4.5.*+ , amazonka-lightsail == 1.4.5.*+ , base+ , bytestring+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/AllocateStaticIP.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/AllocateStaticIPResponse.proto view
+ fixture/AttachStaticIP.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/AttachStaticIPResponse.proto view
+ fixture/CloseInstancePublicPorts.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CloseInstancePublicPortsResponse.proto view
+ fixture/CreateDomain.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateDomainEntry.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateDomainEntryResponse.proto view
+ fixture/CreateDomainResponse.proto view
+ fixture/CreateInstanceSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateInstanceSnapshotResponse.proto view
+ fixture/CreateInstances.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateInstancesFromSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateInstancesFromSnapshotResponse.proto view
+ fixture/CreateInstancesResponse.proto view
+ fixture/CreateKeyPair.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateKeyPairResponse.proto view
+ fixture/DeleteDomain.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteDomainEntry.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteDomainEntryResponse.proto view
+ fixture/DeleteDomainResponse.proto view
+ fixture/DeleteInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteInstanceResponse.proto view
+ fixture/DeleteInstanceSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteInstanceSnapshotResponse.proto view
+ fixture/DeleteKeyPair.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteKeyPairResponse.proto view
+ fixture/DetachStaticIP.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DetachStaticIPResponse.proto view
+ fixture/DownloadDefaultKeyPair.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DownloadDefaultKeyPairResponse.proto view
+ fixture/GetActiveNames.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetActiveNamesResponse.proto view
+ fixture/GetBlueprints.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetBlueprintsResponse.proto view
+ fixture/GetBundles.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetBundlesResponse.proto view
+ fixture/GetDomain.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetDomainResponse.proto view
+ fixture/GetDomains.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetDomainsResponse.proto view
+ fixture/GetInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetInstanceAccessDetails.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetInstanceAccessDetailsResponse.proto view
+ fixture/GetInstanceMetricData.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetInstanceMetricDataResponse.proto view
+ fixture/GetInstancePortStates.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetInstancePortStatesResponse.proto view
+ fixture/GetInstanceResponse.proto view
+ fixture/GetInstanceSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetInstanceSnapshotResponse.proto view
+ fixture/GetInstanceSnapshots.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetInstanceSnapshotsResponse.proto view
+ fixture/GetInstanceState.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetInstanceStateResponse.proto view
+ fixture/GetInstances.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetInstancesResponse.proto view
+ fixture/GetKeyPair.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetKeyPairResponse.proto view
+ fixture/GetKeyPairs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetKeyPairsResponse.proto view
+ fixture/GetOperation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetOperationResponse.proto view
+ fixture/GetOperations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetOperationsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetOperationsForResourceResponse.proto view
+ fixture/GetOperationsResponse.proto view
+ fixture/GetRegions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetRegionsResponse.proto view
+ fixture/GetStaticIP.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetStaticIPResponse.proto view
+ fixture/GetStaticIPs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetStaticIPsResponse.proto view
+ fixture/ImportKeyPair.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ImportKeyPairResponse.proto view
+ fixture/IsVPCPeered.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/IsVPCPeeredResponse.proto view
+ fixture/OpenInstancePublicPorts.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/OpenInstancePublicPortsResponse.proto view
+ fixture/PeerVPC.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/PeerVPCResponse.proto view
+ fixture/RebootInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/RebootInstanceResponse.proto view
+ fixture/ReleaseStaticIP.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ReleaseStaticIPResponse.proto view
+ fixture/StartInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StartInstanceResponse.proto view
+ fixture/StopInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StopInstanceResponse.proto view
+ fixture/UnpeerVPC.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UnpeerVPCResponse.proto view
+ fixture/UpdateDomainEntry.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lightsail.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateDomainEntryResponse.proto view
+ gen/Network/AWS/Lightsail.hs view
@@ -0,0 +1,552 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Amazon Lightsail is the easiest way to get started with AWS for developers who just need virtual private servers. Lightsail includes everything you need to launch your project quickly - a virtual machine, SSD-based storage, data transfer, DNS management, and a static IP - for a low, predictable price. You manage those Lightsail servers through the Lightsail console or by using the API or command-line interface (CLI).+--+--+-- For more information about Lightsail concepts and tasks, see the <http://lightsail.aws.amazon.com/ls/docs Lightsail Dev Guide> .+--+-- To use the Lightsail API or the CLI, you will need to use AWS Identity and Access Management (IAM) to generate access keys. For details about how to set this up, see the <http://lightsail.aws.amazon.com/ls/docs/how-to/articles/lightsail-how-to-set-up-access-keys-to-use-sdk-api-cli Lightsail Dev Guide> .+--+module Network.AWS.Lightsail+ (+ -- * Service Configuration+ lightsail++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ , _AccessDeniedException++ -- ** AccountSetupInProgressException+ , _AccountSetupInProgressException++ -- ** NotFoundException+ , _NotFoundException++ -- ** OperationFailureException+ , _OperationFailureException++ -- ** ServiceException+ , _ServiceException++ -- ** UnauthenticatedException+ , _UnauthenticatedException++ -- ** InvalidInputException+ , _InvalidInputException++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CloseInstancePublicPorts+ , module Network.AWS.Lightsail.CloseInstancePublicPorts++ -- ** AllocateStaticIP+ , module Network.AWS.Lightsail.AllocateStaticIP++ -- ** DeleteKeyPair+ , module Network.AWS.Lightsail.DeleteKeyPair++ -- ** DeleteInstanceSnapshot+ , module Network.AWS.Lightsail.DeleteInstanceSnapshot++ -- ** GetInstances+ , module Network.AWS.Lightsail.GetInstances++ -- ** GetInstance+ , module Network.AWS.Lightsail.GetInstance++ -- ** AttachStaticIP+ , module Network.AWS.Lightsail.AttachStaticIP++ -- ** DownloadDefaultKeyPair+ , module Network.AWS.Lightsail.DownloadDefaultKeyPair++ -- ** GetDomains+ , module Network.AWS.Lightsail.GetDomains++ -- ** CreateDomainEntry+ , module Network.AWS.Lightsail.CreateDomainEntry++ -- ** ImportKeyPair+ , module Network.AWS.Lightsail.ImportKeyPair++ -- ** GetInstanceSnapshots+ , module Network.AWS.Lightsail.GetInstanceSnapshots++ -- ** ReleaseStaticIP+ , module Network.AWS.Lightsail.ReleaseStaticIP++ -- ** DeleteInstance+ , module Network.AWS.Lightsail.DeleteInstance++ -- ** RebootInstance+ , module Network.AWS.Lightsail.RebootInstance++ -- ** GetInstanceSnapshot+ , module Network.AWS.Lightsail.GetInstanceSnapshot++ -- ** GetDomain+ , module Network.AWS.Lightsail.GetDomain++ -- ** GetActiveNames+ , module Network.AWS.Lightsail.GetActiveNames++ -- ** GetInstanceAccessDetails+ , module Network.AWS.Lightsail.GetInstanceAccessDetails++ -- ** StopInstance+ , module Network.AWS.Lightsail.StopInstance++ -- ** CreateInstanceSnapshot+ , module Network.AWS.Lightsail.CreateInstanceSnapshot++ -- ** IsVPCPeered+ , module Network.AWS.Lightsail.IsVPCPeered++ -- ** GetStaticIPs+ , module Network.AWS.Lightsail.GetStaticIPs++ -- ** UnpeerVPC+ , module Network.AWS.Lightsail.UnpeerVPC++ -- ** CreateInstancesFromSnapshot+ , module Network.AWS.Lightsail.CreateInstancesFromSnapshot++ -- ** CreateDomain+ , module Network.AWS.Lightsail.CreateDomain++ -- ** PeerVPC+ , module Network.AWS.Lightsail.PeerVPC++ -- ** GetStaticIP+ , module Network.AWS.Lightsail.GetStaticIP++ -- ** GetBlueprints+ , module Network.AWS.Lightsail.GetBlueprints++ -- ** GetInstancePortStates+ , module Network.AWS.Lightsail.GetInstancePortStates++ -- ** DeleteDomainEntry+ , module Network.AWS.Lightsail.DeleteDomainEntry++ -- ** UpdateDomainEntry+ , module Network.AWS.Lightsail.UpdateDomainEntry++ -- ** GetRegions+ , module Network.AWS.Lightsail.GetRegions++ -- ** GetInstanceState+ , module Network.AWS.Lightsail.GetInstanceState++ -- ** GetKeyPairs+ , module Network.AWS.Lightsail.GetKeyPairs++ -- ** GetOperations+ , module Network.AWS.Lightsail.GetOperations++ -- ** GetOperation+ , module Network.AWS.Lightsail.GetOperation++ -- ** GetInstanceMetricData+ , module Network.AWS.Lightsail.GetInstanceMetricData++ -- ** GetKeyPair+ , module Network.AWS.Lightsail.GetKeyPair++ -- ** DetachStaticIP+ , module Network.AWS.Lightsail.DetachStaticIP++ -- ** CreateInstances+ , module Network.AWS.Lightsail.CreateInstances++ -- ** OpenInstancePublicPorts+ , module Network.AWS.Lightsail.OpenInstancePublicPorts++ -- ** GetBundles+ , module Network.AWS.Lightsail.GetBundles++ -- ** DeleteDomain+ , module Network.AWS.Lightsail.DeleteDomain++ -- ** GetOperationsForResource+ , module Network.AWS.Lightsail.GetOperationsForResource++ -- ** CreateKeyPair+ , module Network.AWS.Lightsail.CreateKeyPair++ -- ** StartInstance+ , module Network.AWS.Lightsail.StartInstance++ -- * Types++ -- ** AccessDirection+ , AccessDirection (..)++ -- ** BlueprintType+ , BlueprintType (..)++ -- ** InstanceAccessProtocol+ , InstanceAccessProtocol (..)++ -- ** InstanceMetricName+ , InstanceMetricName (..)++ -- ** InstanceSnapshotState+ , InstanceSnapshotState (..)++ -- ** MetricStatistic+ , MetricStatistic (..)++ -- ** MetricUnit+ , MetricUnit (..)++ -- ** NetworkProtocol+ , NetworkProtocol (..)++ -- ** OperationStatus+ , OperationStatus (..)++ -- ** OperationType+ , OperationType (..)++ -- ** PortAccessType+ , PortAccessType (..)++ -- ** PortState+ , PortState (..)++ -- ** RegionName+ , RegionName (..)++ -- ** ResourceType+ , ResourceType (..)++ -- ** AvailabilityZone+ , AvailabilityZone+ , availabilityZone+ , azState+ , azZoneName++ -- ** Blueprint+ , Blueprint+ , blueprint+ , bVersionCode+ , bGroup+ , bMinPower+ , bProductURL+ , bLicenseURL+ , bName+ , bVersion+ , bBlueprintId+ , bType+ , bIsActive+ , bDescription++ -- ** Bundle+ , Bundle+ , bundle+ , bunCpuCount+ , bunTransferPerMonthInGb+ , bunBundleId+ , bunInstanceType+ , bunName+ , bunPower+ , bunDiskSizeInGb+ , bunPrice+ , bunIsActive+ , bunRamSizeInGb++ -- ** Disk+ , Disk+ , disk+ , dResourceType+ , dArn+ , dPath+ , dCreatedAt+ , dLocation+ , dIops+ , dIsAttached+ , dAttachmentState+ , dName+ , dSizeInGb+ , dSupportCode+ , dIsSystemDisk+ , dAttachedTo+ , dGbInUse++ -- ** Domain+ , Domain+ , domain+ , domResourceType+ , domDomainEntries+ , domArn+ , domCreatedAt+ , domLocation+ , domName+ , domSupportCode++ -- ** DomainEntry+ , DomainEntry+ , domainEntry+ , deName+ , deId+ , deOptions+ , deType+ , deTarget++ -- ** Instance+ , Instance+ , instance'+ , iState+ , iIpv6Address+ , iResourceType+ , iArn+ , iCreatedAt+ , iLocation+ , iSshKeyName+ , iUsername+ , iNetworking+ , iBundleId+ , iName+ , iSupportCode+ , iBlueprintId+ , iPrivateIPAddress+ , iBlueprintName+ , iIsStaticIP+ , iPublicIPAddress+ , iHardware++ -- ** InstanceAccessDetails+ , InstanceAccessDetails+ , instanceAccessDetails+ , iadCertKey+ , iadIpAddress+ , iadPrivateKey+ , iadExpiresAt+ , iadUsername+ , iadProtocol+ , iadPassword+ , iadInstanceName++ -- ** InstanceHardware+ , InstanceHardware+ , instanceHardware+ , ihCpuCount+ , ihDisks+ , ihRamSizeInGb++ -- ** InstanceNetworking+ , InstanceNetworking+ , instanceNetworking+ , inMonthlyTransfer+ , inPorts++ -- ** InstancePortInfo+ , InstancePortInfo+ , instancePortInfo+ , ipiFromPort+ , ipiCommonName+ , ipiProtocol+ , ipiAccessDirection+ , ipiAccessType+ , ipiToPort+ , ipiAccessFrom++ -- ** InstanceSnapshot+ , InstanceSnapshot+ , instanceSnapshot+ , insFromBlueprintId+ , insState+ , insResourceType+ , insArn+ , insCreatedAt+ , insLocation+ , insProgress+ , insName+ , insFromBundleId+ , insSizeInGb+ , insSupportCode+ , insFromInstanceARN+ , insFromInstanceName++ -- ** InstanceState+ , InstanceState+ , instanceState+ , isName+ , isCode++ -- ** KeyPair+ , KeyPair+ , keyPair+ , kpResourceType+ , kpArn+ , kpCreatedAt+ , kpLocation+ , kpFingerprint+ , kpName+ , kpSupportCode++ -- ** MetricDatapoint+ , MetricDatapoint+ , metricDatapoint+ , mdSampleCount+ , mdMaximum+ , mdAverage+ , mdMinimum+ , mdSum+ , mdTimestamp+ , mdUnit++ -- ** MonthlyTransfer+ , MonthlyTransfer+ , monthlyTransfer+ , mtGbPerMonthAllocated++ -- ** Operation+ , Operation+ , operation+ , oStatus+ , oOperationDetails+ , oResourceType+ , oCreatedAt+ , oResourceName+ , oLocation+ , oStatusChangedAt+ , oErrorDetails+ , oErrorCode+ , oId+ , oOperationType+ , oIsTerminal++ -- ** PortInfo+ , PortInfo+ , portInfo+ , piFromPort+ , piProtocol+ , piToPort++ -- ** RegionInfo+ , RegionInfo+ , regionInfo+ , riAvailabilityZones+ , riName+ , riDisplayName+ , riContinentCode+ , riDescription++ -- ** ResourceLocation+ , ResourceLocation+ , resourceLocation+ , rlRegionName+ , rlAvailabilityZone++ -- ** StaticIP+ , StaticIP+ , staticIP+ , siIpAddress+ , siResourceType+ , siArn+ , siCreatedAt+ , siLocation+ , siIsAttached+ , siName+ , siSupportCode+ , siAttachedTo+ ) where++import Network.AWS.Lightsail.AllocateStaticIP+import Network.AWS.Lightsail.AttachStaticIP+import Network.AWS.Lightsail.CloseInstancePublicPorts+import Network.AWS.Lightsail.CreateDomain+import Network.AWS.Lightsail.CreateDomainEntry+import Network.AWS.Lightsail.CreateInstances+import Network.AWS.Lightsail.CreateInstancesFromSnapshot+import Network.AWS.Lightsail.CreateInstanceSnapshot+import Network.AWS.Lightsail.CreateKeyPair+import Network.AWS.Lightsail.DeleteDomain+import Network.AWS.Lightsail.DeleteDomainEntry+import Network.AWS.Lightsail.DeleteInstance+import Network.AWS.Lightsail.DeleteInstanceSnapshot+import Network.AWS.Lightsail.DeleteKeyPair+import Network.AWS.Lightsail.DetachStaticIP+import Network.AWS.Lightsail.DownloadDefaultKeyPair+import Network.AWS.Lightsail.GetActiveNames+import Network.AWS.Lightsail.GetBlueprints+import Network.AWS.Lightsail.GetBundles+import Network.AWS.Lightsail.GetDomain+import Network.AWS.Lightsail.GetDomains+import Network.AWS.Lightsail.GetInstance+import Network.AWS.Lightsail.GetInstanceAccessDetails+import Network.AWS.Lightsail.GetInstanceMetricData+import Network.AWS.Lightsail.GetInstancePortStates+import Network.AWS.Lightsail.GetInstances+import Network.AWS.Lightsail.GetInstanceSnapshot+import Network.AWS.Lightsail.GetInstanceSnapshots+import Network.AWS.Lightsail.GetInstanceState+import Network.AWS.Lightsail.GetKeyPair+import Network.AWS.Lightsail.GetKeyPairs+import Network.AWS.Lightsail.GetOperation+import Network.AWS.Lightsail.GetOperations+import Network.AWS.Lightsail.GetOperationsForResource+import Network.AWS.Lightsail.GetRegions+import Network.AWS.Lightsail.GetStaticIP+import Network.AWS.Lightsail.GetStaticIPs+import Network.AWS.Lightsail.ImportKeyPair+import Network.AWS.Lightsail.IsVPCPeered+import Network.AWS.Lightsail.OpenInstancePublicPorts+import Network.AWS.Lightsail.PeerVPC+import Network.AWS.Lightsail.RebootInstance+import Network.AWS.Lightsail.ReleaseStaticIP+import Network.AWS.Lightsail.StartInstance+import Network.AWS.Lightsail.StopInstance+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.UnpeerVPC+import Network.AWS.Lightsail.UpdateDomainEntry+import Network.AWS.Lightsail.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'Lightsail'.+-}++{- $operations+Some AWS operations return results that are incomplete and require subsequent+requests in order to obtain the entire result set. The process of sending+subsequent requests to continue where a previous request left off is called+pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+1000 objects at a time, and you must send subsequent requests with the+appropriate Marker in order to retrieve the next page of results.++Operations that have an 'AWSPager' instance can transparently perform subsequent+requests, correctly setting Markers and other request facets to iterate through+the entire result set of a truncated API operation. Operations which support+this have an additional note in the documentation.++Many operations have the ability to filter results on the server side. See the+individual operation parameters for details.+-}++{- $waiters+Waiters poll by repeatedly sending a request until some remote success condition+configured by the 'Wait' specification is fulfilled. The 'Wait' specification+determines how many attempts should be made, in addition to delay and retry strategies.+-}
+ gen/Network/AWS/Lightsail/AllocateStaticIP.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.AllocateStaticIP+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Allocates a static IP address.+--+--+module Network.AWS.Lightsail.AllocateStaticIP+ (+ -- * Creating a Request+ allocateStaticIP+ , AllocateStaticIP+ -- * Request Lenses+ , asiStaticIPName++ -- * Destructuring the Response+ , allocateStaticIPResponse+ , AllocateStaticIPResponse+ -- * Response Lenses+ , asirsOperations+ , asirsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'allocateStaticIP' smart constructor.+newtype AllocateStaticIP = AllocateStaticIP'+ { _asiStaticIPName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AllocateStaticIP' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asiStaticIPName' - The name of the static IP address.+allocateStaticIP+ :: Text -- ^ 'asiStaticIPName'+ -> AllocateStaticIP+allocateStaticIP pStaticIPName_ =+ AllocateStaticIP'+ { _asiStaticIPName = pStaticIPName_+ }++-- | The name of the static IP address.+asiStaticIPName :: Lens' AllocateStaticIP Text+asiStaticIPName = lens _asiStaticIPName (\ s a -> s{_asiStaticIPName = a});++instance AWSRequest AllocateStaticIP where+ type Rs AllocateStaticIP = AllocateStaticIPResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ AllocateStaticIPResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable AllocateStaticIP++instance NFData AllocateStaticIP++instance ToHeaders AllocateStaticIP where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.AllocateStaticIp" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON AllocateStaticIP where+ toJSON AllocateStaticIP'{..}+ = object+ (catMaybes+ [Just ("staticIpName" .= _asiStaticIPName)])++instance ToPath AllocateStaticIP where+ toPath = const "/"++instance ToQuery AllocateStaticIP where+ toQuery = const mempty++-- | /See:/ 'allocateStaticIPResponse' smart constructor.+data AllocateStaticIPResponse = AllocateStaticIPResponse'+ { _asirsOperations :: !(Maybe [Operation])+ , _asirsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AllocateStaticIPResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asirsOperations' - An array of key-value pairs containing information about the static IP address you allocated.+--+-- * 'asirsResponseStatus' - -- | The response status code.+allocateStaticIPResponse+ :: Int -- ^ 'asirsResponseStatus'+ -> AllocateStaticIPResponse+allocateStaticIPResponse pResponseStatus_ =+ AllocateStaticIPResponse'+ { _asirsOperations = Nothing+ , _asirsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the static IP address you allocated.+asirsOperations :: Lens' AllocateStaticIPResponse [Operation]+asirsOperations = lens _asirsOperations (\ s a -> s{_asirsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+asirsResponseStatus :: Lens' AllocateStaticIPResponse Int+asirsResponseStatus = lens _asirsResponseStatus (\ s a -> s{_asirsResponseStatus = a});++instance NFData AllocateStaticIPResponse
+ gen/Network/AWS/Lightsail/AttachStaticIP.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.AttachStaticIP+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Attaches a static IP address to a specific Amazon Lightsail instance.+--+--+module Network.AWS.Lightsail.AttachStaticIP+ (+ -- * Creating a Request+ attachStaticIP+ , AttachStaticIP+ -- * Request Lenses+ , asipStaticIPName+ , asipInstanceName++ -- * Destructuring the Response+ , attachStaticIPResponse+ , AttachStaticIPResponse+ -- * Response Lenses+ , asiprsOperations+ , asiprsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'attachStaticIP' smart constructor.+data AttachStaticIP = AttachStaticIP'+ { _asipStaticIPName :: !Text+ , _asipInstanceName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttachStaticIP' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asipStaticIPName' - The name of the static IP.+--+-- * 'asipInstanceName' - The instance name to which you want to attach the static IP address.+attachStaticIP+ :: Text -- ^ 'asipStaticIPName'+ -> Text -- ^ 'asipInstanceName'+ -> AttachStaticIP+attachStaticIP pStaticIPName_ pInstanceName_ =+ AttachStaticIP'+ { _asipStaticIPName = pStaticIPName_+ , _asipInstanceName = pInstanceName_+ }++-- | The name of the static IP.+asipStaticIPName :: Lens' AttachStaticIP Text+asipStaticIPName = lens _asipStaticIPName (\ s a -> s{_asipStaticIPName = a});++-- | The instance name to which you want to attach the static IP address.+asipInstanceName :: Lens' AttachStaticIP Text+asipInstanceName = lens _asipInstanceName (\ s a -> s{_asipInstanceName = a});++instance AWSRequest AttachStaticIP where+ type Rs AttachStaticIP = AttachStaticIPResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ AttachStaticIPResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable AttachStaticIP++instance NFData AttachStaticIP++instance ToHeaders AttachStaticIP where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.AttachStaticIp" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON AttachStaticIP where+ toJSON AttachStaticIP'{..}+ = object+ (catMaybes+ [Just ("staticIpName" .= _asipStaticIPName),+ Just ("instanceName" .= _asipInstanceName)])++instance ToPath AttachStaticIP where+ toPath = const "/"++instance ToQuery AttachStaticIP where+ toQuery = const mempty++-- | /See:/ 'attachStaticIPResponse' smart constructor.+data AttachStaticIPResponse = AttachStaticIPResponse'+ { _asiprsOperations :: !(Maybe [Operation])+ , _asiprsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttachStaticIPResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asiprsOperations' - An array of key-value pairs containing information about your API operations.+--+-- * 'asiprsResponseStatus' - -- | The response status code.+attachStaticIPResponse+ :: Int -- ^ 'asiprsResponseStatus'+ -> AttachStaticIPResponse+attachStaticIPResponse pResponseStatus_ =+ AttachStaticIPResponse'+ { _asiprsOperations = Nothing+ , _asiprsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about your API operations.+asiprsOperations :: Lens' AttachStaticIPResponse [Operation]+asiprsOperations = lens _asiprsOperations (\ s a -> s{_asiprsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+asiprsResponseStatus :: Lens' AttachStaticIPResponse Int+asiprsResponseStatus = lens _asiprsResponseStatus (\ s a -> s{_asiprsResponseStatus = a});++instance NFData AttachStaticIPResponse
+ gen/Network/AWS/Lightsail/CloseInstancePublicPorts.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.CloseInstancePublicPorts+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Closes the public ports on a specific Amazon Lightsail instance.+--+--+module Network.AWS.Lightsail.CloseInstancePublicPorts+ (+ -- * Creating a Request+ closeInstancePublicPorts+ , CloseInstancePublicPorts+ -- * Request Lenses+ , cippPortInfo+ , cippInstanceName++ -- * Destructuring the Response+ , closeInstancePublicPortsResponse+ , CloseInstancePublicPortsResponse+ -- * Response Lenses+ , cipprsOperation+ , cipprsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'closeInstancePublicPorts' smart constructor.+data CloseInstancePublicPorts = CloseInstancePublicPorts'+ { _cippPortInfo :: !PortInfo+ , _cippInstanceName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CloseInstancePublicPorts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cippPortInfo' - Information about the public port you are trying to close.+--+-- * 'cippInstanceName' - The name of the instance on which you're attempting to close the public ports.+closeInstancePublicPorts+ :: PortInfo -- ^ 'cippPortInfo'+ -> Text -- ^ 'cippInstanceName'+ -> CloseInstancePublicPorts+closeInstancePublicPorts pPortInfo_ pInstanceName_ =+ CloseInstancePublicPorts'+ { _cippPortInfo = pPortInfo_+ , _cippInstanceName = pInstanceName_+ }++-- | Information about the public port you are trying to close.+cippPortInfo :: Lens' CloseInstancePublicPorts PortInfo+cippPortInfo = lens _cippPortInfo (\ s a -> s{_cippPortInfo = a});++-- | The name of the instance on which you're attempting to close the public ports.+cippInstanceName :: Lens' CloseInstancePublicPorts Text+cippInstanceName = lens _cippInstanceName (\ s a -> s{_cippInstanceName = a});++instance AWSRequest CloseInstancePublicPorts where+ type Rs CloseInstancePublicPorts =+ CloseInstancePublicPortsResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ CloseInstancePublicPortsResponse' <$>+ (x .?> "operation") <*> (pure (fromEnum s)))++instance Hashable CloseInstancePublicPorts++instance NFData CloseInstancePublicPorts++instance ToHeaders CloseInstancePublicPorts where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.CloseInstancePublicPorts" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CloseInstancePublicPorts where+ toJSON CloseInstancePublicPorts'{..}+ = object+ (catMaybes+ [Just ("portInfo" .= _cippPortInfo),+ Just ("instanceName" .= _cippInstanceName)])++instance ToPath CloseInstancePublicPorts where+ toPath = const "/"++instance ToQuery CloseInstancePublicPorts where+ toQuery = const mempty++-- | /See:/ 'closeInstancePublicPortsResponse' smart constructor.+data CloseInstancePublicPortsResponse = CloseInstancePublicPortsResponse'+ { _cipprsOperation :: !(Maybe Operation)+ , _cipprsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CloseInstancePublicPortsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cipprsOperation' - An array of key-value pairs that contains information about the operation.+--+-- * 'cipprsResponseStatus' - -- | The response status code.+closeInstancePublicPortsResponse+ :: Int -- ^ 'cipprsResponseStatus'+ -> CloseInstancePublicPortsResponse+closeInstancePublicPortsResponse pResponseStatus_ =+ CloseInstancePublicPortsResponse'+ { _cipprsOperation = Nothing+ , _cipprsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs that contains information about the operation.+cipprsOperation :: Lens' CloseInstancePublicPortsResponse (Maybe Operation)+cipprsOperation = lens _cipprsOperation (\ s a -> s{_cipprsOperation = a});++-- | -- | The response status code.+cipprsResponseStatus :: Lens' CloseInstancePublicPortsResponse Int+cipprsResponseStatus = lens _cipprsResponseStatus (\ s a -> s{_cipprsResponseStatus = a});++instance NFData CloseInstancePublicPortsResponse
+ gen/Network/AWS/Lightsail/CreateDomain.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.CreateDomain+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a domain resource for the specified domain (e.g., example.com).+--+--+module Network.AWS.Lightsail.CreateDomain+ (+ -- * Creating a Request+ createDomain+ , CreateDomain+ -- * Request Lenses+ , cdDomainName++ -- * Destructuring the Response+ , createDomainResponse+ , CreateDomainResponse+ -- * Response Lenses+ , cdrsOperation+ , cdrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDomain' smart constructor.+newtype CreateDomain = CreateDomain'+ { _cdDomainName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDomain' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdDomainName' - The domain name to manage (e.g., @example.com@ ).+createDomain+ :: Text -- ^ 'cdDomainName'+ -> CreateDomain+createDomain pDomainName_ =+ CreateDomain'+ { _cdDomainName = pDomainName_+ }++-- | The domain name to manage (e.g., @example.com@ ).+cdDomainName :: Lens' CreateDomain Text+cdDomainName = lens _cdDomainName (\ s a -> s{_cdDomainName = a});++instance AWSRequest CreateDomain where+ type Rs CreateDomain = CreateDomainResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ CreateDomainResponse' <$>+ (x .?> "operation") <*> (pure (fromEnum s)))++instance Hashable CreateDomain++instance NFData CreateDomain++instance ToHeaders CreateDomain where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.CreateDomain" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateDomain where+ toJSON CreateDomain'{..}+ = object+ (catMaybes [Just ("domainName" .= _cdDomainName)])++instance ToPath CreateDomain where+ toPath = const "/"++instance ToQuery CreateDomain where+ toQuery = const mempty++-- | /See:/ 'createDomainResponse' smart constructor.+data CreateDomainResponse = CreateDomainResponse'+ { _cdrsOperation :: !(Maybe Operation)+ , _cdrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDomainResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdrsOperation' - An array of key-value pairs containing information about the domain resource you created.+--+-- * 'cdrsResponseStatus' - -- | The response status code.+createDomainResponse+ :: Int -- ^ 'cdrsResponseStatus'+ -> CreateDomainResponse+createDomainResponse pResponseStatus_ =+ CreateDomainResponse'+ { _cdrsOperation = Nothing+ , _cdrsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the domain resource you created.+cdrsOperation :: Lens' CreateDomainResponse (Maybe Operation)+cdrsOperation = lens _cdrsOperation (\ s a -> s{_cdrsOperation = a});++-- | -- | The response status code.+cdrsResponseStatus :: Lens' CreateDomainResponse Int+cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a});++instance NFData CreateDomainResponse
+ gen/Network/AWS/Lightsail/CreateDomainEntry.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.CreateDomainEntry+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates one of the following entry records associated with the domain: A record, CNAME record, TXT record, or MX record.+--+--+module Network.AWS.Lightsail.CreateDomainEntry+ (+ -- * Creating a Request+ createDomainEntry+ , CreateDomainEntry+ -- * Request Lenses+ , cdeDomainName+ , cdeDomainEntry++ -- * Destructuring the Response+ , createDomainEntryResponse+ , CreateDomainEntryResponse+ -- * Response Lenses+ , cdersOperation+ , cdersResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDomainEntry' smart constructor.+data CreateDomainEntry = CreateDomainEntry'+ { _cdeDomainName :: !Text+ , _cdeDomainEntry :: !DomainEntry+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDomainEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdeDomainName' - The domain name (e.g., @example.com@ ) for which you want to create the domain entry.+--+-- * 'cdeDomainEntry' - An array of key-value pairs containing information about the domain entry request.+createDomainEntry+ :: Text -- ^ 'cdeDomainName'+ -> DomainEntry -- ^ 'cdeDomainEntry'+ -> CreateDomainEntry+createDomainEntry pDomainName_ pDomainEntry_ =+ CreateDomainEntry'+ { _cdeDomainName = pDomainName_+ , _cdeDomainEntry = pDomainEntry_+ }++-- | The domain name (e.g., @example.com@ ) for which you want to create the domain entry.+cdeDomainName :: Lens' CreateDomainEntry Text+cdeDomainName = lens _cdeDomainName (\ s a -> s{_cdeDomainName = a});++-- | An array of key-value pairs containing information about the domain entry request.+cdeDomainEntry :: Lens' CreateDomainEntry DomainEntry+cdeDomainEntry = lens _cdeDomainEntry (\ s a -> s{_cdeDomainEntry = a});++instance AWSRequest CreateDomainEntry where+ type Rs CreateDomainEntry = CreateDomainEntryResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ CreateDomainEntryResponse' <$>+ (x .?> "operation") <*> (pure (fromEnum s)))++instance Hashable CreateDomainEntry++instance NFData CreateDomainEntry++instance ToHeaders CreateDomainEntry where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.CreateDomainEntry" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateDomainEntry where+ toJSON CreateDomainEntry'{..}+ = object+ (catMaybes+ [Just ("domainName" .= _cdeDomainName),+ Just ("domainEntry" .= _cdeDomainEntry)])++instance ToPath CreateDomainEntry where+ toPath = const "/"++instance ToQuery CreateDomainEntry where+ toQuery = const mempty++-- | /See:/ 'createDomainEntryResponse' smart constructor.+data CreateDomainEntryResponse = CreateDomainEntryResponse'+ { _cdersOperation :: !(Maybe Operation)+ , _cdersResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDomainEntryResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdersOperation' - An array of key-value pairs containing information about the operation.+--+-- * 'cdersResponseStatus' - -- | The response status code.+createDomainEntryResponse+ :: Int -- ^ 'cdersResponseStatus'+ -> CreateDomainEntryResponse+createDomainEntryResponse pResponseStatus_ =+ CreateDomainEntryResponse'+ { _cdersOperation = Nothing+ , _cdersResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the operation.+cdersOperation :: Lens' CreateDomainEntryResponse (Maybe Operation)+cdersOperation = lens _cdersOperation (\ s a -> s{_cdersOperation = a});++-- | -- | The response status code.+cdersResponseStatus :: Lens' CreateDomainEntryResponse Int+cdersResponseStatus = lens _cdersResponseStatus (\ s a -> s{_cdersResponseStatus = a});++instance NFData CreateDomainEntryResponse
+ gen/Network/AWS/Lightsail/CreateInstanceSnapshot.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.CreateInstanceSnapshot+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a snapshot of a specific virtual private server, or /instance/ . You can use a snapshot to create a new instance that is based on that snapshot.+--+--+module Network.AWS.Lightsail.CreateInstanceSnapshot+ (+ -- * Creating a Request+ createInstanceSnapshot+ , CreateInstanceSnapshot+ -- * Request Lenses+ , cisInstanceSnapshotName+ , cisInstanceName++ -- * Destructuring the Response+ , createInstanceSnapshotResponse+ , CreateInstanceSnapshotResponse+ -- * Response Lenses+ , cisrsOperations+ , cisrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createInstanceSnapshot' smart constructor.+data CreateInstanceSnapshot = CreateInstanceSnapshot'+ { _cisInstanceSnapshotName :: !Text+ , _cisInstanceName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateInstanceSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cisInstanceSnapshotName' - The name for your new snapshot.+--+-- * 'cisInstanceName' - The Lightsail instance on which to base your snapshot.+createInstanceSnapshot+ :: Text -- ^ 'cisInstanceSnapshotName'+ -> Text -- ^ 'cisInstanceName'+ -> CreateInstanceSnapshot+createInstanceSnapshot pInstanceSnapshotName_ pInstanceName_ =+ CreateInstanceSnapshot'+ { _cisInstanceSnapshotName = pInstanceSnapshotName_+ , _cisInstanceName = pInstanceName_+ }++-- | The name for your new snapshot.+cisInstanceSnapshotName :: Lens' CreateInstanceSnapshot Text+cisInstanceSnapshotName = lens _cisInstanceSnapshotName (\ s a -> s{_cisInstanceSnapshotName = a});++-- | The Lightsail instance on which to base your snapshot.+cisInstanceName :: Lens' CreateInstanceSnapshot Text+cisInstanceName = lens _cisInstanceName (\ s a -> s{_cisInstanceName = a});++instance AWSRequest CreateInstanceSnapshot where+ type Rs CreateInstanceSnapshot =+ CreateInstanceSnapshotResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ CreateInstanceSnapshotResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable CreateInstanceSnapshot++instance NFData CreateInstanceSnapshot++instance ToHeaders CreateInstanceSnapshot where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.CreateInstanceSnapshot" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateInstanceSnapshot where+ toJSON CreateInstanceSnapshot'{..}+ = object+ (catMaybes+ [Just+ ("instanceSnapshotName" .= _cisInstanceSnapshotName),+ Just ("instanceName" .= _cisInstanceName)])++instance ToPath CreateInstanceSnapshot where+ toPath = const "/"++instance ToQuery CreateInstanceSnapshot where+ toQuery = const mempty++-- | /See:/ 'createInstanceSnapshotResponse' smart constructor.+data CreateInstanceSnapshotResponse = CreateInstanceSnapshotResponse'+ { _cisrsOperations :: !(Maybe [Operation])+ , _cisrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateInstanceSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cisrsOperations' - An array of key-value pairs containing information about the results of your create instances snapshot request.+--+-- * 'cisrsResponseStatus' - -- | The response status code.+createInstanceSnapshotResponse+ :: Int -- ^ 'cisrsResponseStatus'+ -> CreateInstanceSnapshotResponse+createInstanceSnapshotResponse pResponseStatus_ =+ CreateInstanceSnapshotResponse'+ { _cisrsOperations = Nothing+ , _cisrsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the results of your create instances snapshot request.+cisrsOperations :: Lens' CreateInstanceSnapshotResponse [Operation]+cisrsOperations = lens _cisrsOperations (\ s a -> s{_cisrsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+cisrsResponseStatus :: Lens' CreateInstanceSnapshotResponse Int+cisrsResponseStatus = lens _cisrsResponseStatus (\ s a -> s{_cisrsResponseStatus = a});++instance NFData CreateInstanceSnapshotResponse
+ gen/Network/AWS/Lightsail/CreateInstances.hs view
@@ -0,0 +1,196 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.CreateInstances+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates one or more Amazon Lightsail virtual private servers, or /instances/ .+--+--+module Network.AWS.Lightsail.CreateInstances+ (+ -- * Creating a Request+ createInstances+ , CreateInstances+ -- * Request Lenses+ , ciCustomImageName+ , ciUserData+ , ciKeyPairName+ , ciInstanceNames+ , ciAvailabilityZone+ , ciBlueprintId+ , ciBundleId++ -- * Destructuring the Response+ , createInstancesResponse+ , CreateInstancesResponse+ -- * Response Lenses+ , cirsOperations+ , cirsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createInstances' smart constructor.+data CreateInstances = CreateInstances'+ { _ciCustomImageName :: !(Maybe Text)+ , _ciUserData :: !(Maybe Text)+ , _ciKeyPairName :: !(Maybe Text)+ , _ciInstanceNames :: ![Text]+ , _ciAvailabilityZone :: !Text+ , _ciBlueprintId :: !Text+ , _ciBundleId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciCustomImageName' - The name for your custom image.+--+-- * 'ciUserData' - A launch script you can create that configures a server with additional user data. For example, you might want to run @apt-get –y update@ .+--+-- * 'ciKeyPairName' - The name of your key pair.+--+-- * 'ciInstanceNames' - The names to use for your new Lightsail instances. Separate multiple values using quotation marks and commas, for example: @["MyFirstInstance","MySecondInstance"]@+--+-- * 'ciAvailabilityZone' - The Availability Zone in which to create your instance. Use the following format: @us-east-1a@ (case sensitive).+--+-- * 'ciBlueprintId' - The ID for a virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ). Use the get blueprints operation to return a list of available images (or /blueprints/ ).+--+-- * 'ciBundleId' - The bundle of specification information for your virtual private server (or /instance/ ), including the pricing plan (e.g., @micro_1_0@ ).+createInstances+ :: Text -- ^ 'ciAvailabilityZone'+ -> Text -- ^ 'ciBlueprintId'+ -> Text -- ^ 'ciBundleId'+ -> CreateInstances+createInstances pAvailabilityZone_ pBlueprintId_ pBundleId_ =+ CreateInstances'+ { _ciCustomImageName = Nothing+ , _ciUserData = Nothing+ , _ciKeyPairName = Nothing+ , _ciInstanceNames = mempty+ , _ciAvailabilityZone = pAvailabilityZone_+ , _ciBlueprintId = pBlueprintId_+ , _ciBundleId = pBundleId_+ }++-- | The name for your custom image.+ciCustomImageName :: Lens' CreateInstances (Maybe Text)+ciCustomImageName = lens _ciCustomImageName (\ s a -> s{_ciCustomImageName = a});++-- | A launch script you can create that configures a server with additional user data. For example, you might want to run @apt-get –y update@ .+ciUserData :: Lens' CreateInstances (Maybe Text)+ciUserData = lens _ciUserData (\ s a -> s{_ciUserData = a});++-- | The name of your key pair.+ciKeyPairName :: Lens' CreateInstances (Maybe Text)+ciKeyPairName = lens _ciKeyPairName (\ s a -> s{_ciKeyPairName = a});++-- | The names to use for your new Lightsail instances. Separate multiple values using quotation marks and commas, for example: @["MyFirstInstance","MySecondInstance"]@+ciInstanceNames :: Lens' CreateInstances [Text]+ciInstanceNames = lens _ciInstanceNames (\ s a -> s{_ciInstanceNames = a}) . _Coerce;++-- | The Availability Zone in which to create your instance. Use the following format: @us-east-1a@ (case sensitive).+ciAvailabilityZone :: Lens' CreateInstances Text+ciAvailabilityZone = lens _ciAvailabilityZone (\ s a -> s{_ciAvailabilityZone = a});++-- | The ID for a virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ). Use the get blueprints operation to return a list of available images (or /blueprints/ ).+ciBlueprintId :: Lens' CreateInstances Text+ciBlueprintId = lens _ciBlueprintId (\ s a -> s{_ciBlueprintId = a});++-- | The bundle of specification information for your virtual private server (or /instance/ ), including the pricing plan (e.g., @micro_1_0@ ).+ciBundleId :: Lens' CreateInstances Text+ciBundleId = lens _ciBundleId (\ s a -> s{_ciBundleId = a});++instance AWSRequest CreateInstances where+ type Rs CreateInstances = CreateInstancesResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ CreateInstancesResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable CreateInstances++instance NFData CreateInstances++instance ToHeaders CreateInstances where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.CreateInstances" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateInstances where+ toJSON CreateInstances'{..}+ = object+ (catMaybes+ [("customImageName" .=) <$> _ciCustomImageName,+ ("userData" .=) <$> _ciUserData,+ ("keyPairName" .=) <$> _ciKeyPairName,+ Just ("instanceNames" .= _ciInstanceNames),+ Just ("availabilityZone" .= _ciAvailabilityZone),+ Just ("blueprintId" .= _ciBlueprintId),+ Just ("bundleId" .= _ciBundleId)])++instance ToPath CreateInstances where+ toPath = const "/"++instance ToQuery CreateInstances where+ toQuery = const mempty++-- | /See:/ 'createInstancesResponse' smart constructor.+data CreateInstancesResponse = CreateInstancesResponse'+ { _cirsOperations :: !(Maybe [Operation])+ , _cirsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cirsOperations' - An array of key-value pairs containing information about the results of your create instances request.+--+-- * 'cirsResponseStatus' - -- | The response status code.+createInstancesResponse+ :: Int -- ^ 'cirsResponseStatus'+ -> CreateInstancesResponse+createInstancesResponse pResponseStatus_ =+ CreateInstancesResponse'+ { _cirsOperations = Nothing+ , _cirsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the results of your create instances request.+cirsOperations :: Lens' CreateInstancesResponse [Operation]+cirsOperations = lens _cirsOperations (\ s a -> s{_cirsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+cirsResponseStatus :: Lens' CreateInstancesResponse Int+cirsResponseStatus = lens _cirsResponseStatus (\ s a -> s{_cirsResponseStatus = a});++instance NFData CreateInstancesResponse
+ gen/Network/AWS/Lightsail/CreateInstancesFromSnapshot.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.CreateInstancesFromSnapshot+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Uses a specific snapshot as a blueprint for creating one or more new instances that are based on that identical configuration.+--+--+module Network.AWS.Lightsail.CreateInstancesFromSnapshot+ (+ -- * Creating a Request+ createInstancesFromSnapshot+ , CreateInstancesFromSnapshot+ -- * Request Lenses+ , cifsUserData+ , cifsKeyPairName+ , cifsInstanceNames+ , cifsAvailabilityZone+ , cifsInstanceSnapshotName+ , cifsBundleId++ -- * Destructuring the Response+ , createInstancesFromSnapshotResponse+ , CreateInstancesFromSnapshotResponse+ -- * Response Lenses+ , cifsrsOperations+ , cifsrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createInstancesFromSnapshot' smart constructor.+data CreateInstancesFromSnapshot = CreateInstancesFromSnapshot'+ { _cifsUserData :: !(Maybe Text)+ , _cifsKeyPairName :: !(Maybe Text)+ , _cifsInstanceNames :: ![Text]+ , _cifsAvailabilityZone :: !Text+ , _cifsInstanceSnapshotName :: !Text+ , _cifsBundleId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateInstancesFromSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cifsUserData' - You can create a launch script that configures a server with additional user data. For example, @apt-get –y update@ .+--+-- * 'cifsKeyPairName' - The name for your key pair.+--+-- * 'cifsInstanceNames' - The names for your new instances.+--+-- * 'cifsAvailabilityZone' - The Availability Zone where you want to create your instances. Use the following formatting: @us-east-1a@ (case sensitive).+--+-- * 'cifsInstanceSnapshotName' - The name of the instance snapshot on which you are basing your new instances. Use the get instance snapshots operation to return information about your existing snapshots.+--+-- * 'cifsBundleId' - The bundle of specification information for your virtual private server (or /instance/ ), including the pricing plan (e.g., @micro_1_0@ ).+createInstancesFromSnapshot+ :: Text -- ^ 'cifsAvailabilityZone'+ -> Text -- ^ 'cifsInstanceSnapshotName'+ -> Text -- ^ 'cifsBundleId'+ -> CreateInstancesFromSnapshot+createInstancesFromSnapshot pAvailabilityZone_ pInstanceSnapshotName_ pBundleId_ =+ CreateInstancesFromSnapshot'+ { _cifsUserData = Nothing+ , _cifsKeyPairName = Nothing+ , _cifsInstanceNames = mempty+ , _cifsAvailabilityZone = pAvailabilityZone_+ , _cifsInstanceSnapshotName = pInstanceSnapshotName_+ , _cifsBundleId = pBundleId_+ }++-- | You can create a launch script that configures a server with additional user data. For example, @apt-get –y update@ .+cifsUserData :: Lens' CreateInstancesFromSnapshot (Maybe Text)+cifsUserData = lens _cifsUserData (\ s a -> s{_cifsUserData = a});++-- | The name for your key pair.+cifsKeyPairName :: Lens' CreateInstancesFromSnapshot (Maybe Text)+cifsKeyPairName = lens _cifsKeyPairName (\ s a -> s{_cifsKeyPairName = a});++-- | The names for your new instances.+cifsInstanceNames :: Lens' CreateInstancesFromSnapshot [Text]+cifsInstanceNames = lens _cifsInstanceNames (\ s a -> s{_cifsInstanceNames = a}) . _Coerce;++-- | The Availability Zone where you want to create your instances. Use the following formatting: @us-east-1a@ (case sensitive).+cifsAvailabilityZone :: Lens' CreateInstancesFromSnapshot Text+cifsAvailabilityZone = lens _cifsAvailabilityZone (\ s a -> s{_cifsAvailabilityZone = a});++-- | The name of the instance snapshot on which you are basing your new instances. Use the get instance snapshots operation to return information about your existing snapshots.+cifsInstanceSnapshotName :: Lens' CreateInstancesFromSnapshot Text+cifsInstanceSnapshotName = lens _cifsInstanceSnapshotName (\ s a -> s{_cifsInstanceSnapshotName = a});++-- | The bundle of specification information for your virtual private server (or /instance/ ), including the pricing plan (e.g., @micro_1_0@ ).+cifsBundleId :: Lens' CreateInstancesFromSnapshot Text+cifsBundleId = lens _cifsBundleId (\ s a -> s{_cifsBundleId = a});++instance AWSRequest CreateInstancesFromSnapshot where+ type Rs CreateInstancesFromSnapshot =+ CreateInstancesFromSnapshotResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ CreateInstancesFromSnapshotResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable CreateInstancesFromSnapshot++instance NFData CreateInstancesFromSnapshot++instance ToHeaders CreateInstancesFromSnapshot where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.CreateInstancesFromSnapshot" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateInstancesFromSnapshot where+ toJSON CreateInstancesFromSnapshot'{..}+ = object+ (catMaybes+ [("userData" .=) <$> _cifsUserData,+ ("keyPairName" .=) <$> _cifsKeyPairName,+ Just ("instanceNames" .= _cifsInstanceNames),+ Just ("availabilityZone" .= _cifsAvailabilityZone),+ Just+ ("instanceSnapshotName" .=+ _cifsInstanceSnapshotName),+ Just ("bundleId" .= _cifsBundleId)])++instance ToPath CreateInstancesFromSnapshot where+ toPath = const "/"++instance ToQuery CreateInstancesFromSnapshot where+ toQuery = const mempty++-- | /See:/ 'createInstancesFromSnapshotResponse' smart constructor.+data CreateInstancesFromSnapshotResponse = CreateInstancesFromSnapshotResponse'+ { _cifsrsOperations :: !(Maybe [Operation])+ , _cifsrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateInstancesFromSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cifsrsOperations' - An array of key-value pairs containing information about the results of your create instances from snapshot request.+--+-- * 'cifsrsResponseStatus' - -- | The response status code.+createInstancesFromSnapshotResponse+ :: Int -- ^ 'cifsrsResponseStatus'+ -> CreateInstancesFromSnapshotResponse+createInstancesFromSnapshotResponse pResponseStatus_ =+ CreateInstancesFromSnapshotResponse'+ { _cifsrsOperations = Nothing+ , _cifsrsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the results of your create instances from snapshot request.+cifsrsOperations :: Lens' CreateInstancesFromSnapshotResponse [Operation]+cifsrsOperations = lens _cifsrsOperations (\ s a -> s{_cifsrsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+cifsrsResponseStatus :: Lens' CreateInstancesFromSnapshotResponse Int+cifsrsResponseStatus = lens _cifsrsResponseStatus (\ s a -> s{_cifsrsResponseStatus = a});++instance NFData CreateInstancesFromSnapshotResponse
+ gen/Network/AWS/Lightsail/CreateKeyPair.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.CreateKeyPair+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates sn SSH key pair.+--+--+module Network.AWS.Lightsail.CreateKeyPair+ (+ -- * Creating a Request+ createKeyPair+ , CreateKeyPair+ -- * Request Lenses+ , ckpKeyPairName++ -- * Destructuring the Response+ , createKeyPairResponse+ , CreateKeyPairResponse+ -- * Response Lenses+ , ckprsKeyPair+ , ckprsOperation+ , ckprsPublicKeyBase64+ , ckprsPrivateKeyBase64+ , ckprsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createKeyPair' smart constructor.+newtype CreateKeyPair = CreateKeyPair'+ { _ckpKeyPairName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateKeyPair' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ckpKeyPairName' - The name for your new key pair.+createKeyPair+ :: Text -- ^ 'ckpKeyPairName'+ -> CreateKeyPair+createKeyPair pKeyPairName_ =+ CreateKeyPair'+ { _ckpKeyPairName = pKeyPairName_+ }++-- | The name for your new key pair.+ckpKeyPairName :: Lens' CreateKeyPair Text+ckpKeyPairName = lens _ckpKeyPairName (\ s a -> s{_ckpKeyPairName = a});++instance AWSRequest CreateKeyPair where+ type Rs CreateKeyPair = CreateKeyPairResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ CreateKeyPairResponse' <$>+ (x .?> "keyPair") <*> (x .?> "operation") <*>+ (x .?> "publicKeyBase64")+ <*> (x .?> "privateKeyBase64")+ <*> (pure (fromEnum s)))++instance Hashable CreateKeyPair++instance NFData CreateKeyPair++instance ToHeaders CreateKeyPair where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.CreateKeyPair" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateKeyPair where+ toJSON CreateKeyPair'{..}+ = object+ (catMaybes [Just ("keyPairName" .= _ckpKeyPairName)])++instance ToPath CreateKeyPair where+ toPath = const "/"++instance ToQuery CreateKeyPair where+ toQuery = const mempty++-- | /See:/ 'createKeyPairResponse' smart constructor.+data CreateKeyPairResponse = CreateKeyPairResponse'+ { _ckprsKeyPair :: !(Maybe KeyPair)+ , _ckprsOperation :: !(Maybe Operation)+ , _ckprsPublicKeyBase64 :: !(Maybe Text)+ , _ckprsPrivateKeyBase64 :: !(Maybe Text)+ , _ckprsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateKeyPairResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ckprsKeyPair' - An array of key-value pairs containing information about the new key pair you just created.+--+-- * 'ckprsOperation' - An array of key-value pairs containing information about the results of your create key pair request.+--+-- * 'ckprsPublicKeyBase64' - A base64-encoded public key of the @ssh-rsa@ type.+--+-- * 'ckprsPrivateKeyBase64' - A base64-encoded RSA private key.+--+-- * 'ckprsResponseStatus' - -- | The response status code.+createKeyPairResponse+ :: Int -- ^ 'ckprsResponseStatus'+ -> CreateKeyPairResponse+createKeyPairResponse pResponseStatus_ =+ CreateKeyPairResponse'+ { _ckprsKeyPair = Nothing+ , _ckprsOperation = Nothing+ , _ckprsPublicKeyBase64 = Nothing+ , _ckprsPrivateKeyBase64 = Nothing+ , _ckprsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the new key pair you just created.+ckprsKeyPair :: Lens' CreateKeyPairResponse (Maybe KeyPair)+ckprsKeyPair = lens _ckprsKeyPair (\ s a -> s{_ckprsKeyPair = a});++-- | An array of key-value pairs containing information about the results of your create key pair request.+ckprsOperation :: Lens' CreateKeyPairResponse (Maybe Operation)+ckprsOperation = lens _ckprsOperation (\ s a -> s{_ckprsOperation = a});++-- | A base64-encoded public key of the @ssh-rsa@ type.+ckprsPublicKeyBase64 :: Lens' CreateKeyPairResponse (Maybe Text)+ckprsPublicKeyBase64 = lens _ckprsPublicKeyBase64 (\ s a -> s{_ckprsPublicKeyBase64 = a});++-- | A base64-encoded RSA private key.+ckprsPrivateKeyBase64 :: Lens' CreateKeyPairResponse (Maybe Text)+ckprsPrivateKeyBase64 = lens _ckprsPrivateKeyBase64 (\ s a -> s{_ckprsPrivateKeyBase64 = a});++-- | -- | The response status code.+ckprsResponseStatus :: Lens' CreateKeyPairResponse Int+ckprsResponseStatus = lens _ckprsResponseStatus (\ s a -> s{_ckprsResponseStatus = a});++instance NFData CreateKeyPairResponse
+ gen/Network/AWS/Lightsail/DeleteDomain.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.DeleteDomain+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified domain recordset and all of its domain records.+--+--+module Network.AWS.Lightsail.DeleteDomain+ (+ -- * Creating a Request+ deleteDomain+ , DeleteDomain+ -- * Request Lenses+ , ddDomainName++ -- * Destructuring the Response+ , deleteDomainResponse+ , DeleteDomainResponse+ -- * Response Lenses+ , ddrsOperation+ , ddrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteDomain' smart constructor.+newtype DeleteDomain = DeleteDomain'+ { _ddDomainName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDomain' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddDomainName' - The specific domain name to delete.+deleteDomain+ :: Text -- ^ 'ddDomainName'+ -> DeleteDomain+deleteDomain pDomainName_ =+ DeleteDomain'+ { _ddDomainName = pDomainName_+ }++-- | The specific domain name to delete.+ddDomainName :: Lens' DeleteDomain Text+ddDomainName = lens _ddDomainName (\ s a -> s{_ddDomainName = a});++instance AWSRequest DeleteDomain where+ type Rs DeleteDomain = DeleteDomainResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ DeleteDomainResponse' <$>+ (x .?> "operation") <*> (pure (fromEnum s)))++instance Hashable DeleteDomain++instance NFData DeleteDomain++instance ToHeaders DeleteDomain where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.DeleteDomain" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteDomain where+ toJSON DeleteDomain'{..}+ = object+ (catMaybes [Just ("domainName" .= _ddDomainName)])++instance ToPath DeleteDomain where+ toPath = const "/"++instance ToQuery DeleteDomain where+ toQuery = const mempty++-- | /See:/ 'deleteDomainResponse' smart constructor.+data DeleteDomainResponse = DeleteDomainResponse'+ { _ddrsOperation :: !(Maybe Operation)+ , _ddrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDomainResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddrsOperation' - An array of key-value pairs containing information about the results of your delete domain request.+--+-- * 'ddrsResponseStatus' - -- | The response status code.+deleteDomainResponse+ :: Int -- ^ 'ddrsResponseStatus'+ -> DeleteDomainResponse+deleteDomainResponse pResponseStatus_ =+ DeleteDomainResponse'+ { _ddrsOperation = Nothing+ , _ddrsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the results of your delete domain request.+ddrsOperation :: Lens' DeleteDomainResponse (Maybe Operation)+ddrsOperation = lens _ddrsOperation (\ s a -> s{_ddrsOperation = a});++-- | -- | The response status code.+ddrsResponseStatus :: Lens' DeleteDomainResponse Int+ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a});++instance NFData DeleteDomainResponse
+ gen/Network/AWS/Lightsail/DeleteDomainEntry.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.DeleteDomainEntry+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a specific domain entry.+--+--+module Network.AWS.Lightsail.DeleteDomainEntry+ (+ -- * Creating a Request+ deleteDomainEntry+ , DeleteDomainEntry+ -- * Request Lenses+ , ddeDomainName+ , ddeDomainEntry++ -- * Destructuring the Response+ , deleteDomainEntryResponse+ , DeleteDomainEntryResponse+ -- * Response Lenses+ , ddersOperation+ , ddersResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteDomainEntry' smart constructor.+data DeleteDomainEntry = DeleteDomainEntry'+ { _ddeDomainName :: !Text+ , _ddeDomainEntry :: !DomainEntry+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDomainEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddeDomainName' - The name of the domain entry to delete.+--+-- * 'ddeDomainEntry' - An array of key-value pairs containing information about your domain entries.+deleteDomainEntry+ :: Text -- ^ 'ddeDomainName'+ -> DomainEntry -- ^ 'ddeDomainEntry'+ -> DeleteDomainEntry+deleteDomainEntry pDomainName_ pDomainEntry_ =+ DeleteDomainEntry'+ { _ddeDomainName = pDomainName_+ , _ddeDomainEntry = pDomainEntry_+ }++-- | The name of the domain entry to delete.+ddeDomainName :: Lens' DeleteDomainEntry Text+ddeDomainName = lens _ddeDomainName (\ s a -> s{_ddeDomainName = a});++-- | An array of key-value pairs containing information about your domain entries.+ddeDomainEntry :: Lens' DeleteDomainEntry DomainEntry+ddeDomainEntry = lens _ddeDomainEntry (\ s a -> s{_ddeDomainEntry = a});++instance AWSRequest DeleteDomainEntry where+ type Rs DeleteDomainEntry = DeleteDomainEntryResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ DeleteDomainEntryResponse' <$>+ (x .?> "operation") <*> (pure (fromEnum s)))++instance Hashable DeleteDomainEntry++instance NFData DeleteDomainEntry++instance ToHeaders DeleteDomainEntry where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.DeleteDomainEntry" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteDomainEntry where+ toJSON DeleteDomainEntry'{..}+ = object+ (catMaybes+ [Just ("domainName" .= _ddeDomainName),+ Just ("domainEntry" .= _ddeDomainEntry)])++instance ToPath DeleteDomainEntry where+ toPath = const "/"++instance ToQuery DeleteDomainEntry where+ toQuery = const mempty++-- | /See:/ 'deleteDomainEntryResponse' smart constructor.+data DeleteDomainEntryResponse = DeleteDomainEntryResponse'+ { _ddersOperation :: !(Maybe Operation)+ , _ddersResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDomainEntryResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddersOperation' - An array of key-value pairs containing information about the results of your delete domain entry request.+--+-- * 'ddersResponseStatus' - -- | The response status code.+deleteDomainEntryResponse+ :: Int -- ^ 'ddersResponseStatus'+ -> DeleteDomainEntryResponse+deleteDomainEntryResponse pResponseStatus_ =+ DeleteDomainEntryResponse'+ { _ddersOperation = Nothing+ , _ddersResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the results of your delete domain entry request.+ddersOperation :: Lens' DeleteDomainEntryResponse (Maybe Operation)+ddersOperation = lens _ddersOperation (\ s a -> s{_ddersOperation = a});++-- | -- | The response status code.+ddersResponseStatus :: Lens' DeleteDomainEntryResponse Int+ddersResponseStatus = lens _ddersResponseStatus (\ s a -> s{_ddersResponseStatus = a});++instance NFData DeleteDomainEntryResponse
+ gen/Network/AWS/Lightsail/DeleteInstance.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.DeleteInstance+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a specific Amazon Lightsail virtual private server, or /instance/ .+--+--+module Network.AWS.Lightsail.DeleteInstance+ (+ -- * Creating a Request+ deleteInstance+ , DeleteInstance+ -- * Request Lenses+ , diInstanceName++ -- * Destructuring the Response+ , deleteInstanceResponse+ , DeleteInstanceResponse+ -- * Response Lenses+ , dirsOperations+ , dirsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteInstance' smart constructor.+newtype DeleteInstance = DeleteInstance'+ { _diInstanceName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diInstanceName' - The name of the instance to delete.+deleteInstance+ :: Text -- ^ 'diInstanceName'+ -> DeleteInstance+deleteInstance pInstanceName_ =+ DeleteInstance'+ { _diInstanceName = pInstanceName_+ }++-- | The name of the instance to delete.+diInstanceName :: Lens' DeleteInstance Text+diInstanceName = lens _diInstanceName (\ s a -> s{_diInstanceName = a});++instance AWSRequest DeleteInstance where+ type Rs DeleteInstance = DeleteInstanceResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ DeleteInstanceResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable DeleteInstance++instance NFData DeleteInstance++instance ToHeaders DeleteInstance where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.DeleteInstance" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteInstance where+ toJSON DeleteInstance'{..}+ = object+ (catMaybes+ [Just ("instanceName" .= _diInstanceName)])++instance ToPath DeleteInstance where+ toPath = const "/"++instance ToQuery DeleteInstance where+ toQuery = const mempty++-- | /See:/ 'deleteInstanceResponse' smart constructor.+data DeleteInstanceResponse = DeleteInstanceResponse'+ { _dirsOperations :: !(Maybe [Operation])+ , _dirsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteInstanceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dirsOperations' - An array of key-value pairs containing information about the results of your delete instance request.+--+-- * 'dirsResponseStatus' - -- | The response status code.+deleteInstanceResponse+ :: Int -- ^ 'dirsResponseStatus'+ -> DeleteInstanceResponse+deleteInstanceResponse pResponseStatus_ =+ DeleteInstanceResponse'+ { _dirsOperations = Nothing+ , _dirsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the results of your delete instance request.+dirsOperations :: Lens' DeleteInstanceResponse [Operation]+dirsOperations = lens _dirsOperations (\ s a -> s{_dirsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+dirsResponseStatus :: Lens' DeleteInstanceResponse Int+dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a});++instance NFData DeleteInstanceResponse
+ gen/Network/AWS/Lightsail/DeleteInstanceSnapshot.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.DeleteInstanceSnapshot+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a specific snapshot of a virtual private server (or /instance/ ).+--+--+module Network.AWS.Lightsail.DeleteInstanceSnapshot+ (+ -- * Creating a Request+ deleteInstanceSnapshot+ , DeleteInstanceSnapshot+ -- * Request Lenses+ , disInstanceSnapshotName++ -- * Destructuring the Response+ , deleteInstanceSnapshotResponse+ , DeleteInstanceSnapshotResponse+ -- * Response Lenses+ , disrsOperations+ , disrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteInstanceSnapshot' smart constructor.+newtype DeleteInstanceSnapshot = DeleteInstanceSnapshot'+ { _disInstanceSnapshotName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteInstanceSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'disInstanceSnapshotName' - The name of the snapshot to delete.+deleteInstanceSnapshot+ :: Text -- ^ 'disInstanceSnapshotName'+ -> DeleteInstanceSnapshot+deleteInstanceSnapshot pInstanceSnapshotName_ =+ DeleteInstanceSnapshot'+ { _disInstanceSnapshotName = pInstanceSnapshotName_+ }++-- | The name of the snapshot to delete.+disInstanceSnapshotName :: Lens' DeleteInstanceSnapshot Text+disInstanceSnapshotName = lens _disInstanceSnapshotName (\ s a -> s{_disInstanceSnapshotName = a});++instance AWSRequest DeleteInstanceSnapshot where+ type Rs DeleteInstanceSnapshot =+ DeleteInstanceSnapshotResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ DeleteInstanceSnapshotResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable DeleteInstanceSnapshot++instance NFData DeleteInstanceSnapshot++instance ToHeaders DeleteInstanceSnapshot where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.DeleteInstanceSnapshot" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteInstanceSnapshot where+ toJSON DeleteInstanceSnapshot'{..}+ = object+ (catMaybes+ [Just+ ("instanceSnapshotName" .=+ _disInstanceSnapshotName)])++instance ToPath DeleteInstanceSnapshot where+ toPath = const "/"++instance ToQuery DeleteInstanceSnapshot where+ toQuery = const mempty++-- | /See:/ 'deleteInstanceSnapshotResponse' smart constructor.+data DeleteInstanceSnapshotResponse = DeleteInstanceSnapshotResponse'+ { _disrsOperations :: !(Maybe [Operation])+ , _disrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteInstanceSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'disrsOperations' - An array of key-value pairs containing information about the results of your delete instance snapshot request.+--+-- * 'disrsResponseStatus' - -- | The response status code.+deleteInstanceSnapshotResponse+ :: Int -- ^ 'disrsResponseStatus'+ -> DeleteInstanceSnapshotResponse+deleteInstanceSnapshotResponse pResponseStatus_ =+ DeleteInstanceSnapshotResponse'+ { _disrsOperations = Nothing+ , _disrsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the results of your delete instance snapshot request.+disrsOperations :: Lens' DeleteInstanceSnapshotResponse [Operation]+disrsOperations = lens _disrsOperations (\ s a -> s{_disrsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+disrsResponseStatus :: Lens' DeleteInstanceSnapshotResponse Int+disrsResponseStatus = lens _disrsResponseStatus (\ s a -> s{_disrsResponseStatus = a});++instance NFData DeleteInstanceSnapshotResponse
+ gen/Network/AWS/Lightsail/DeleteKeyPair.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.DeleteKeyPair+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a specific SSH key pair.+--+--+module Network.AWS.Lightsail.DeleteKeyPair+ (+ -- * Creating a Request+ deleteKeyPair+ , DeleteKeyPair+ -- * Request Lenses+ , dkpKeyPairName++ -- * Destructuring the Response+ , deleteKeyPairResponse+ , DeleteKeyPairResponse+ -- * Response Lenses+ , dkprsOperation+ , dkprsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteKeyPair' smart constructor.+newtype DeleteKeyPair = DeleteKeyPair'+ { _dkpKeyPairName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteKeyPair' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dkpKeyPairName' - The name of the key pair to delete.+deleteKeyPair+ :: Text -- ^ 'dkpKeyPairName'+ -> DeleteKeyPair+deleteKeyPair pKeyPairName_ =+ DeleteKeyPair'+ { _dkpKeyPairName = pKeyPairName_+ }++-- | The name of the key pair to delete.+dkpKeyPairName :: Lens' DeleteKeyPair Text+dkpKeyPairName = lens _dkpKeyPairName (\ s a -> s{_dkpKeyPairName = a});++instance AWSRequest DeleteKeyPair where+ type Rs DeleteKeyPair = DeleteKeyPairResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ DeleteKeyPairResponse' <$>+ (x .?> "operation") <*> (pure (fromEnum s)))++instance Hashable DeleteKeyPair++instance NFData DeleteKeyPair++instance ToHeaders DeleteKeyPair where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.DeleteKeyPair" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteKeyPair where+ toJSON DeleteKeyPair'{..}+ = object+ (catMaybes [Just ("keyPairName" .= _dkpKeyPairName)])++instance ToPath DeleteKeyPair where+ toPath = const "/"++instance ToQuery DeleteKeyPair where+ toQuery = const mempty++-- | /See:/ 'deleteKeyPairResponse' smart constructor.+data DeleteKeyPairResponse = DeleteKeyPairResponse'+ { _dkprsOperation :: !(Maybe Operation)+ , _dkprsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteKeyPairResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dkprsOperation' - An array of key-value pairs containing information about the results of your delete key pair request.+--+-- * 'dkprsResponseStatus' - -- | The response status code.+deleteKeyPairResponse+ :: Int -- ^ 'dkprsResponseStatus'+ -> DeleteKeyPairResponse+deleteKeyPairResponse pResponseStatus_ =+ DeleteKeyPairResponse'+ { _dkprsOperation = Nothing+ , _dkprsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the results of your delete key pair request.+dkprsOperation :: Lens' DeleteKeyPairResponse (Maybe Operation)+dkprsOperation = lens _dkprsOperation (\ s a -> s{_dkprsOperation = a});++-- | -- | The response status code.+dkprsResponseStatus :: Lens' DeleteKeyPairResponse Int+dkprsResponseStatus = lens _dkprsResponseStatus (\ s a -> s{_dkprsResponseStatus = a});++instance NFData DeleteKeyPairResponse
+ gen/Network/AWS/Lightsail/DetachStaticIP.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.DetachStaticIP+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Detaches a static IP from the Amazon Lightsail instance to which it is attached.+--+--+module Network.AWS.Lightsail.DetachStaticIP+ (+ -- * Creating a Request+ detachStaticIP+ , DetachStaticIP+ -- * Request Lenses+ , dsiStaticIPName++ -- * Destructuring the Response+ , detachStaticIPResponse+ , DetachStaticIPResponse+ -- * Response Lenses+ , dsirsOperations+ , dsirsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'detachStaticIP' smart constructor.+newtype DetachStaticIP = DetachStaticIP'+ { _dsiStaticIPName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DetachStaticIP' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsiStaticIPName' - The name of the static IP to detach from the instance.+detachStaticIP+ :: Text -- ^ 'dsiStaticIPName'+ -> DetachStaticIP+detachStaticIP pStaticIPName_ =+ DetachStaticIP'+ { _dsiStaticIPName = pStaticIPName_+ }++-- | The name of the static IP to detach from the instance.+dsiStaticIPName :: Lens' DetachStaticIP Text+dsiStaticIPName = lens _dsiStaticIPName (\ s a -> s{_dsiStaticIPName = a});++instance AWSRequest DetachStaticIP where+ type Rs DetachStaticIP = DetachStaticIPResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ DetachStaticIPResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable DetachStaticIP++instance NFData DetachStaticIP++instance ToHeaders DetachStaticIP where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.DetachStaticIp" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DetachStaticIP where+ toJSON DetachStaticIP'{..}+ = object+ (catMaybes+ [Just ("staticIpName" .= _dsiStaticIPName)])++instance ToPath DetachStaticIP where+ toPath = const "/"++instance ToQuery DetachStaticIP where+ toQuery = const mempty++-- | /See:/ 'detachStaticIPResponse' smart constructor.+data DetachStaticIPResponse = DetachStaticIPResponse'+ { _dsirsOperations :: !(Maybe [Operation])+ , _dsirsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DetachStaticIPResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsirsOperations' - An array of key-value pairs containing information about the results of your detach static IP request.+--+-- * 'dsirsResponseStatus' - -- | The response status code.+detachStaticIPResponse+ :: Int -- ^ 'dsirsResponseStatus'+ -> DetachStaticIPResponse+detachStaticIPResponse pResponseStatus_ =+ DetachStaticIPResponse'+ { _dsirsOperations = Nothing+ , _dsirsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the results of your detach static IP request.+dsirsOperations :: Lens' DetachStaticIPResponse [Operation]+dsirsOperations = lens _dsirsOperations (\ s a -> s{_dsirsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+dsirsResponseStatus :: Lens' DetachStaticIPResponse Int+dsirsResponseStatus = lens _dsirsResponseStatus (\ s a -> s{_dsirsResponseStatus = a});++instance NFData DetachStaticIPResponse
+ gen/Network/AWS/Lightsail/DownloadDefaultKeyPair.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.DownloadDefaultKeyPair+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Downloads the default SSH key pair from the user's account.+--+--+module Network.AWS.Lightsail.DownloadDefaultKeyPair+ (+ -- * Creating a Request+ downloadDefaultKeyPair+ , DownloadDefaultKeyPair++ -- * Destructuring the Response+ , downloadDefaultKeyPairResponse+ , DownloadDefaultKeyPairResponse+ -- * Response Lenses+ , ddkprsPublicKeyBase64+ , ddkprsPrivateKeyBase64+ , ddkprsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'downloadDefaultKeyPair' smart constructor.+data DownloadDefaultKeyPair =+ DownloadDefaultKeyPair'+ deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DownloadDefaultKeyPair' with the minimum fields required to make a request.+--+downloadDefaultKeyPair+ :: DownloadDefaultKeyPair+downloadDefaultKeyPair = DownloadDefaultKeyPair'++instance AWSRequest DownloadDefaultKeyPair where+ type Rs DownloadDefaultKeyPair =+ DownloadDefaultKeyPairResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ DownloadDefaultKeyPairResponse' <$>+ (x .?> "publicKeyBase64") <*>+ (x .?> "privateKeyBase64")+ <*> (pure (fromEnum s)))++instance Hashable DownloadDefaultKeyPair++instance NFData DownloadDefaultKeyPair++instance ToHeaders DownloadDefaultKeyPair where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.DownloadDefaultKeyPair" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DownloadDefaultKeyPair where+ toJSON = const (Object mempty)++instance ToPath DownloadDefaultKeyPair where+ toPath = const "/"++instance ToQuery DownloadDefaultKeyPair where+ toQuery = const mempty++-- | /See:/ 'downloadDefaultKeyPairResponse' smart constructor.+data DownloadDefaultKeyPairResponse = DownloadDefaultKeyPairResponse'+ { _ddkprsPublicKeyBase64 :: !(Maybe Text)+ , _ddkprsPrivateKeyBase64 :: !(Maybe Text)+ , _ddkprsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DownloadDefaultKeyPairResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddkprsPublicKeyBase64' - A base64-encoded public key of the @ssh-rsa@ type.+--+-- * 'ddkprsPrivateKeyBase64' - A base64-encoded RSA private key.+--+-- * 'ddkprsResponseStatus' - -- | The response status code.+downloadDefaultKeyPairResponse+ :: Int -- ^ 'ddkprsResponseStatus'+ -> DownloadDefaultKeyPairResponse+downloadDefaultKeyPairResponse pResponseStatus_ =+ DownloadDefaultKeyPairResponse'+ { _ddkprsPublicKeyBase64 = Nothing+ , _ddkprsPrivateKeyBase64 = Nothing+ , _ddkprsResponseStatus = pResponseStatus_+ }++-- | A base64-encoded public key of the @ssh-rsa@ type.+ddkprsPublicKeyBase64 :: Lens' DownloadDefaultKeyPairResponse (Maybe Text)+ddkprsPublicKeyBase64 = lens _ddkprsPublicKeyBase64 (\ s a -> s{_ddkprsPublicKeyBase64 = a});++-- | A base64-encoded RSA private key.+ddkprsPrivateKeyBase64 :: Lens' DownloadDefaultKeyPairResponse (Maybe Text)+ddkprsPrivateKeyBase64 = lens _ddkprsPrivateKeyBase64 (\ s a -> s{_ddkprsPrivateKeyBase64 = a});++-- | -- | The response status code.+ddkprsResponseStatus :: Lens' DownloadDefaultKeyPairResponse Int+ddkprsResponseStatus = lens _ddkprsResponseStatus (\ s a -> s{_ddkprsResponseStatus = a});++instance NFData DownloadDefaultKeyPairResponse
+ gen/Network/AWS/Lightsail/GetActiveNames.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetActiveNames+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the names of all active (not deleted) resources.+--+--+module Network.AWS.Lightsail.GetActiveNames+ (+ -- * Creating a Request+ getActiveNames+ , GetActiveNames+ -- * Request Lenses+ , ganPageToken++ -- * Destructuring the Response+ , getActiveNamesResponse+ , GetActiveNamesResponse+ -- * Response Lenses+ , ganrsNextPageToken+ , ganrsActiveNames+ , ganrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getActiveNames' smart constructor.+newtype GetActiveNames = GetActiveNames'+ { _ganPageToken :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetActiveNames' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ganPageToken' - A token used for paginating results from your get active names request.+getActiveNames+ :: GetActiveNames+getActiveNames =+ GetActiveNames'+ { _ganPageToken = Nothing+ }++-- | A token used for paginating results from your get active names request.+ganPageToken :: Lens' GetActiveNames (Maybe Text)+ganPageToken = lens _ganPageToken (\ s a -> s{_ganPageToken = a});++instance AWSRequest GetActiveNames where+ type Rs GetActiveNames = GetActiveNamesResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetActiveNamesResponse' <$>+ (x .?> "nextPageToken") <*>+ (x .?> "activeNames" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable GetActiveNames++instance NFData GetActiveNames++instance ToHeaders GetActiveNames where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetActiveNames" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetActiveNames where+ toJSON GetActiveNames'{..}+ = object+ (catMaybes [("pageToken" .=) <$> _ganPageToken])++instance ToPath GetActiveNames where+ toPath = const "/"++instance ToQuery GetActiveNames where+ toQuery = const mempty++-- | /See:/ 'getActiveNamesResponse' smart constructor.+data GetActiveNamesResponse = GetActiveNamesResponse'+ { _ganrsNextPageToken :: !(Maybe Text)+ , _ganrsActiveNames :: !(Maybe [Text])+ , _ganrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetActiveNamesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ganrsNextPageToken' - A token used for advancing to the next page of results from your get active names request.+--+-- * 'ganrsActiveNames' - The list of active names returned by the get active names request.+--+-- * 'ganrsResponseStatus' - -- | The response status code.+getActiveNamesResponse+ :: Int -- ^ 'ganrsResponseStatus'+ -> GetActiveNamesResponse+getActiveNamesResponse pResponseStatus_ =+ GetActiveNamesResponse'+ { _ganrsNextPageToken = Nothing+ , _ganrsActiveNames = Nothing+ , _ganrsResponseStatus = pResponseStatus_+ }++-- | A token used for advancing to the next page of results from your get active names request.+ganrsNextPageToken :: Lens' GetActiveNamesResponse (Maybe Text)+ganrsNextPageToken = lens _ganrsNextPageToken (\ s a -> s{_ganrsNextPageToken = a});++-- | The list of active names returned by the get active names request.+ganrsActiveNames :: Lens' GetActiveNamesResponse [Text]+ganrsActiveNames = lens _ganrsActiveNames (\ s a -> s{_ganrsActiveNames = a}) . _Default . _Coerce;++-- | -- | The response status code.+ganrsResponseStatus :: Lens' GetActiveNamesResponse Int+ganrsResponseStatus = lens _ganrsResponseStatus (\ s a -> s{_ganrsResponseStatus = a});++instance NFData GetActiveNamesResponse
+ gen/Network/AWS/Lightsail/GetBlueprints.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetBlueprints+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the list of available instance images, or /blueprints/ . You can use a blueprint to create a new virtual private server already running a specific operating system, as well as a preinstalled app or development stack. The software each instance is running depends on the blueprint image you choose.+--+--+module Network.AWS.Lightsail.GetBlueprints+ (+ -- * Creating a Request+ getBlueprints+ , GetBlueprints+ -- * Request Lenses+ , gbIncludeInactive+ , gbPageToken++ -- * Destructuring the Response+ , getBlueprintsResponse+ , GetBlueprintsResponse+ -- * Response Lenses+ , gbsrsBlueprints+ , gbsrsNextPageToken+ , gbsrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getBlueprints' smart constructor.+data GetBlueprints = GetBlueprints'+ { _gbIncludeInactive :: !(Maybe Bool)+ , _gbPageToken :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetBlueprints' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbIncludeInactive' - A Boolean value indicating whether to include inactive results in your request.+--+-- * 'gbPageToken' - A token used for advancing to the next page of results from your get blueprints request.+getBlueprints+ :: GetBlueprints+getBlueprints =+ GetBlueprints'+ { _gbIncludeInactive = Nothing+ , _gbPageToken = Nothing+ }++-- | A Boolean value indicating whether to include inactive results in your request.+gbIncludeInactive :: Lens' GetBlueprints (Maybe Bool)+gbIncludeInactive = lens _gbIncludeInactive (\ s a -> s{_gbIncludeInactive = a});++-- | A token used for advancing to the next page of results from your get blueprints request.+gbPageToken :: Lens' GetBlueprints (Maybe Text)+gbPageToken = lens _gbPageToken (\ s a -> s{_gbPageToken = a});++instance AWSRequest GetBlueprints where+ type Rs GetBlueprints = GetBlueprintsResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetBlueprintsResponse' <$>+ (x .?> "blueprints" .!@ mempty) <*>+ (x .?> "nextPageToken")+ <*> (pure (fromEnum s)))++instance Hashable GetBlueprints++instance NFData GetBlueprints++instance ToHeaders GetBlueprints where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetBlueprints" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetBlueprints where+ toJSON GetBlueprints'{..}+ = object+ (catMaybes+ [("includeInactive" .=) <$> _gbIncludeInactive,+ ("pageToken" .=) <$> _gbPageToken])++instance ToPath GetBlueprints where+ toPath = const "/"++instance ToQuery GetBlueprints where+ toQuery = const mempty++-- | /See:/ 'getBlueprintsResponse' smart constructor.+data GetBlueprintsResponse = GetBlueprintsResponse'+ { _gbsrsBlueprints :: !(Maybe [Blueprint])+ , _gbsrsNextPageToken :: !(Maybe Text)+ , _gbsrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetBlueprintsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbsrsBlueprints' - An array of key-value pairs that contains information about the available blueprints.+--+-- * 'gbsrsNextPageToken' - A token used for advancing to the next page of results from your get blueprints request.+--+-- * 'gbsrsResponseStatus' - -- | The response status code.+getBlueprintsResponse+ :: Int -- ^ 'gbsrsResponseStatus'+ -> GetBlueprintsResponse+getBlueprintsResponse pResponseStatus_ =+ GetBlueprintsResponse'+ { _gbsrsBlueprints = Nothing+ , _gbsrsNextPageToken = Nothing+ , _gbsrsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs that contains information about the available blueprints.+gbsrsBlueprints :: Lens' GetBlueprintsResponse [Blueprint]+gbsrsBlueprints = lens _gbsrsBlueprints (\ s a -> s{_gbsrsBlueprints = a}) . _Default . _Coerce;++-- | A token used for advancing to the next page of results from your get blueprints request.+gbsrsNextPageToken :: Lens' GetBlueprintsResponse (Maybe Text)+gbsrsNextPageToken = lens _gbsrsNextPageToken (\ s a -> s{_gbsrsNextPageToken = a});++-- | -- | The response status code.+gbsrsResponseStatus :: Lens' GetBlueprintsResponse Int+gbsrsResponseStatus = lens _gbsrsResponseStatus (\ s a -> s{_gbsrsResponseStatus = a});++instance NFData GetBlueprintsResponse
+ gen/Network/AWS/Lightsail/GetBundles.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetBundles+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the list of bundles that are available for purchase. A bundle describes the specs for your virtual private server (or /instance/ ).+--+--+module Network.AWS.Lightsail.GetBundles+ (+ -- * Creating a Request+ getBundles+ , GetBundles+ -- * Request Lenses+ , gIncludeInactive+ , gPageToken++ -- * Destructuring the Response+ , getBundlesResponse+ , GetBundlesResponse+ -- * Response Lenses+ , gbrsNextPageToken+ , gbrsBundles+ , gbrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getBundles' smart constructor.+data GetBundles = GetBundles'+ { _gIncludeInactive :: !(Maybe Bool)+ , _gPageToken :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetBundles' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gIncludeInactive' - A Boolean value that indicates whether to include inactive bundle results in your request.+--+-- * 'gPageToken' - A token used for advancing to the next page of results from your get bundles request.+getBundles+ :: GetBundles+getBundles =+ GetBundles'+ { _gIncludeInactive = Nothing+ , _gPageToken = Nothing+ }++-- | A Boolean value that indicates whether to include inactive bundle results in your request.+gIncludeInactive :: Lens' GetBundles (Maybe Bool)+gIncludeInactive = lens _gIncludeInactive (\ s a -> s{_gIncludeInactive = a});++-- | A token used for advancing to the next page of results from your get bundles request.+gPageToken :: Lens' GetBundles (Maybe Text)+gPageToken = lens _gPageToken (\ s a -> s{_gPageToken = a});++instance AWSRequest GetBundles where+ type Rs GetBundles = GetBundlesResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetBundlesResponse' <$>+ (x .?> "nextPageToken") <*>+ (x .?> "bundles" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable GetBundles++instance NFData GetBundles++instance ToHeaders GetBundles where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetBundles" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetBundles where+ toJSON GetBundles'{..}+ = object+ (catMaybes+ [("includeInactive" .=) <$> _gIncludeInactive,+ ("pageToken" .=) <$> _gPageToken])++instance ToPath GetBundles where+ toPath = const "/"++instance ToQuery GetBundles where+ toQuery = const mempty++-- | /See:/ 'getBundlesResponse' smart constructor.+data GetBundlesResponse = GetBundlesResponse'+ { _gbrsNextPageToken :: !(Maybe Text)+ , _gbrsBundles :: !(Maybe [Bundle])+ , _gbrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetBundlesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbrsNextPageToken' - A token used for advancing to the next page of results from your get active names request.+--+-- * 'gbrsBundles' - An array of key-value pairs that contains information about the available bundles.+--+-- * 'gbrsResponseStatus' - -- | The response status code.+getBundlesResponse+ :: Int -- ^ 'gbrsResponseStatus'+ -> GetBundlesResponse+getBundlesResponse pResponseStatus_ =+ GetBundlesResponse'+ { _gbrsNextPageToken = Nothing+ , _gbrsBundles = Nothing+ , _gbrsResponseStatus = pResponseStatus_+ }++-- | A token used for advancing to the next page of results from your get active names request.+gbrsNextPageToken :: Lens' GetBundlesResponse (Maybe Text)+gbrsNextPageToken = lens _gbrsNextPageToken (\ s a -> s{_gbrsNextPageToken = a});++-- | An array of key-value pairs that contains information about the available bundles.+gbrsBundles :: Lens' GetBundlesResponse [Bundle]+gbrsBundles = lens _gbrsBundles (\ s a -> s{_gbrsBundles = a}) . _Default . _Coerce;++-- | -- | The response status code.+gbrsResponseStatus :: Lens' GetBundlesResponse Int+gbrsResponseStatus = lens _gbrsResponseStatus (\ s a -> s{_gbrsResponseStatus = a});++instance NFData GetBundlesResponse
+ gen/Network/AWS/Lightsail/GetDomain.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetDomain+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a specific domain recordset.+--+--+module Network.AWS.Lightsail.GetDomain+ (+ -- * Creating a Request+ getDomain+ , GetDomain+ -- * Request Lenses+ , gdDomainName++ -- * Destructuring the Response+ , getDomainResponse+ , GetDomainResponse+ -- * Response Lenses+ , gdrsDomain+ , gdrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDomain' smart constructor.+newtype GetDomain = GetDomain'+ { _gdDomainName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDomain' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdDomainName' - The domain name for which your want to return information about.+getDomain+ :: Text -- ^ 'gdDomainName'+ -> GetDomain+getDomain pDomainName_ =+ GetDomain'+ { _gdDomainName = pDomainName_+ }++-- | The domain name for which your want to return information about.+gdDomainName :: Lens' GetDomain Text+gdDomainName = lens _gdDomainName (\ s a -> s{_gdDomainName = a});++instance AWSRequest GetDomain where+ type Rs GetDomain = GetDomainResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetDomainResponse' <$>+ (x .?> "domain") <*> (pure (fromEnum s)))++instance Hashable GetDomain++instance NFData GetDomain++instance ToHeaders GetDomain where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetDomain" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetDomain where+ toJSON GetDomain'{..}+ = object+ (catMaybes [Just ("domainName" .= _gdDomainName)])++instance ToPath GetDomain where+ toPath = const "/"++instance ToQuery GetDomain where+ toQuery = const mempty++-- | /See:/ 'getDomainResponse' smart constructor.+data GetDomainResponse = GetDomainResponse'+ { _gdrsDomain :: !(Maybe Domain)+ , _gdrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDomainResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdrsDomain' - An array of key-value pairs containing information about your get domain request.+--+-- * 'gdrsResponseStatus' - -- | The response status code.+getDomainResponse+ :: Int -- ^ 'gdrsResponseStatus'+ -> GetDomainResponse+getDomainResponse pResponseStatus_ =+ GetDomainResponse'+ { _gdrsDomain = Nothing+ , _gdrsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about your get domain request.+gdrsDomain :: Lens' GetDomainResponse (Maybe Domain)+gdrsDomain = lens _gdrsDomain (\ s a -> s{_gdrsDomain = a});++-- | -- | The response status code.+gdrsResponseStatus :: Lens' GetDomainResponse Int+gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a});++instance NFData GetDomainResponse
+ gen/Network/AWS/Lightsail/GetDomains.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetDomains+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of all domains in the user's account.+--+--+module Network.AWS.Lightsail.GetDomains+ (+ -- * Creating a Request+ getDomains+ , GetDomains+ -- * Request Lenses+ , gdPageToken++ -- * Destructuring the Response+ , getDomainsResponse+ , GetDomainsResponse+ -- * Response Lenses+ , gdsrsNextPageToken+ , gdsrsDomains+ , gdsrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDomains' smart constructor.+newtype GetDomains = GetDomains'+ { _gdPageToken :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDomains' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdPageToken' - A token used for advancing to the next page of results from your get domains request.+getDomains+ :: GetDomains+getDomains =+ GetDomains'+ { _gdPageToken = Nothing+ }++-- | A token used for advancing to the next page of results from your get domains request.+gdPageToken :: Lens' GetDomains (Maybe Text)+gdPageToken = lens _gdPageToken (\ s a -> s{_gdPageToken = a});++instance AWSRequest GetDomains where+ type Rs GetDomains = GetDomainsResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetDomainsResponse' <$>+ (x .?> "nextPageToken") <*>+ (x .?> "domains" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable GetDomains++instance NFData GetDomains++instance ToHeaders GetDomains where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetDomains" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetDomains where+ toJSON GetDomains'{..}+ = object+ (catMaybes [("pageToken" .=) <$> _gdPageToken])++instance ToPath GetDomains where+ toPath = const "/"++instance ToQuery GetDomains where+ toQuery = const mempty++-- | /See:/ 'getDomainsResponse' smart constructor.+data GetDomainsResponse = GetDomainsResponse'+ { _gdsrsNextPageToken :: !(Maybe Text)+ , _gdsrsDomains :: !(Maybe [Domain])+ , _gdsrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDomainsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdsrsNextPageToken' - A token used for advancing to the next page of results from your get active names request.+--+-- * 'gdsrsDomains' - An array of key-value pairs containing information about each of the domain entries in the user's account.+--+-- * 'gdsrsResponseStatus' - -- | The response status code.+getDomainsResponse+ :: Int -- ^ 'gdsrsResponseStatus'+ -> GetDomainsResponse+getDomainsResponse pResponseStatus_ =+ GetDomainsResponse'+ { _gdsrsNextPageToken = Nothing+ , _gdsrsDomains = Nothing+ , _gdsrsResponseStatus = pResponseStatus_+ }++-- | A token used for advancing to the next page of results from your get active names request.+gdsrsNextPageToken :: Lens' GetDomainsResponse (Maybe Text)+gdsrsNextPageToken = lens _gdsrsNextPageToken (\ s a -> s{_gdsrsNextPageToken = a});++-- | An array of key-value pairs containing information about each of the domain entries in the user's account.+gdsrsDomains :: Lens' GetDomainsResponse [Domain]+gdsrsDomains = lens _gdsrsDomains (\ s a -> s{_gdsrsDomains = a}) . _Default . _Coerce;++-- | -- | The response status code.+gdsrsResponseStatus :: Lens' GetDomainsResponse Int+gdsrsResponseStatus = lens _gdsrsResponseStatus (\ s a -> s{_gdsrsResponseStatus = a});++instance NFData GetDomainsResponse
+ gen/Network/AWS/Lightsail/GetInstance.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetInstance+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a specific Amazon Lightsail instance, which is a virtual private server.+--+--+module Network.AWS.Lightsail.GetInstance+ (+ -- * Creating a Request+ getInstance+ , GetInstance+ -- * Request Lenses+ , giInstanceName++ -- * Destructuring the Response+ , getInstanceResponse+ , GetInstanceResponse+ -- * Response Lenses+ , girsInstance+ , girsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getInstance' smart constructor.+newtype GetInstance = GetInstance'+ { _giInstanceName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'giInstanceName' - The name of the instance.+getInstance+ :: Text -- ^ 'giInstanceName'+ -> GetInstance+getInstance pInstanceName_ =+ GetInstance'+ { _giInstanceName = pInstanceName_+ }++-- | The name of the instance.+giInstanceName :: Lens' GetInstance Text+giInstanceName = lens _giInstanceName (\ s a -> s{_giInstanceName = a});++instance AWSRequest GetInstance where+ type Rs GetInstance = GetInstanceResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetInstanceResponse' <$>+ (x .?> "instance") <*> (pure (fromEnum s)))++instance Hashable GetInstance++instance NFData GetInstance++instance ToHeaders GetInstance where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetInstance" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetInstance where+ toJSON GetInstance'{..}+ = object+ (catMaybes+ [Just ("instanceName" .= _giInstanceName)])++instance ToPath GetInstance where+ toPath = const "/"++instance ToQuery GetInstance where+ toQuery = const mempty++-- | /See:/ 'getInstanceResponse' smart constructor.+data GetInstanceResponse = GetInstanceResponse'+ { _girsInstance :: !(Maybe Instance)+ , _girsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstanceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'girsInstance' - An array of key-value pairs containing information about the specified instance.+--+-- * 'girsResponseStatus' - -- | The response status code.+getInstanceResponse+ :: Int -- ^ 'girsResponseStatus'+ -> GetInstanceResponse+getInstanceResponse pResponseStatus_ =+ GetInstanceResponse'+ { _girsInstance = Nothing+ , _girsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the specified instance.+girsInstance :: Lens' GetInstanceResponse (Maybe Instance)+girsInstance = lens _girsInstance (\ s a -> s{_girsInstance = a});++-- | -- | The response status code.+girsResponseStatus :: Lens' GetInstanceResponse Int+girsResponseStatus = lens _girsResponseStatus (\ s a -> s{_girsResponseStatus = a});++instance NFData GetInstanceResponse
+ gen/Network/AWS/Lightsail/GetInstanceAccessDetails.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetInstanceAccessDetails+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns temporary SSH keys you can use to connect to a specific virtual private server, or /instance/ .+--+--+module Network.AWS.Lightsail.GetInstanceAccessDetails+ (+ -- * Creating a Request+ getInstanceAccessDetails+ , GetInstanceAccessDetails+ -- * Request Lenses+ , giadProtocol+ , giadInstanceName++ -- * Destructuring the Response+ , getInstanceAccessDetailsResponse+ , GetInstanceAccessDetailsResponse+ -- * Response Lenses+ , giadrsAccessDetails+ , giadrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getInstanceAccessDetails' smart constructor.+data GetInstanceAccessDetails = GetInstanceAccessDetails'+ { _giadProtocol :: !(Maybe InstanceAccessProtocol)+ , _giadInstanceName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstanceAccessDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'giadProtocol' - The protocol to use to connect to your instance. Defaults to @ssh@ .+--+-- * 'giadInstanceName' - The name of the instance to access.+getInstanceAccessDetails+ :: Text -- ^ 'giadInstanceName'+ -> GetInstanceAccessDetails+getInstanceAccessDetails pInstanceName_ =+ GetInstanceAccessDetails'+ { _giadProtocol = Nothing+ , _giadInstanceName = pInstanceName_+ }++-- | The protocol to use to connect to your instance. Defaults to @ssh@ .+giadProtocol :: Lens' GetInstanceAccessDetails (Maybe InstanceAccessProtocol)+giadProtocol = lens _giadProtocol (\ s a -> s{_giadProtocol = a});++-- | The name of the instance to access.+giadInstanceName :: Lens' GetInstanceAccessDetails Text+giadInstanceName = lens _giadInstanceName (\ s a -> s{_giadInstanceName = a});++instance AWSRequest GetInstanceAccessDetails where+ type Rs GetInstanceAccessDetails =+ GetInstanceAccessDetailsResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetInstanceAccessDetailsResponse' <$>+ (x .?> "accessDetails") <*> (pure (fromEnum s)))++instance Hashable GetInstanceAccessDetails++instance NFData GetInstanceAccessDetails++instance ToHeaders GetInstanceAccessDetails where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetInstanceAccessDetails" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetInstanceAccessDetails where+ toJSON GetInstanceAccessDetails'{..}+ = object+ (catMaybes+ [("protocol" .=) <$> _giadProtocol,+ Just ("instanceName" .= _giadInstanceName)])++instance ToPath GetInstanceAccessDetails where+ toPath = const "/"++instance ToQuery GetInstanceAccessDetails where+ toQuery = const mempty++-- | /See:/ 'getInstanceAccessDetailsResponse' smart constructor.+data GetInstanceAccessDetailsResponse = GetInstanceAccessDetailsResponse'+ { _giadrsAccessDetails :: !(Maybe InstanceAccessDetails)+ , _giadrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstanceAccessDetailsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'giadrsAccessDetails' - An array of key-value pairs containing information about a get instance access request.+--+-- * 'giadrsResponseStatus' - -- | The response status code.+getInstanceAccessDetailsResponse+ :: Int -- ^ 'giadrsResponseStatus'+ -> GetInstanceAccessDetailsResponse+getInstanceAccessDetailsResponse pResponseStatus_ =+ GetInstanceAccessDetailsResponse'+ { _giadrsAccessDetails = Nothing+ , _giadrsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about a get instance access request.+giadrsAccessDetails :: Lens' GetInstanceAccessDetailsResponse (Maybe InstanceAccessDetails)+giadrsAccessDetails = lens _giadrsAccessDetails (\ s a -> s{_giadrsAccessDetails = a});++-- | -- | The response status code.+giadrsResponseStatus :: Lens' GetInstanceAccessDetailsResponse Int+giadrsResponseStatus = lens _giadrsResponseStatus (\ s a -> s{_giadrsResponseStatus = a});++instance NFData GetInstanceAccessDetailsResponse
+ gen/Network/AWS/Lightsail/GetInstanceMetricData.hs view
@@ -0,0 +1,211 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetInstanceMetricData+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the data points for the specified Amazon Lightsail instance metric, given an instance name.+--+--+module Network.AWS.Lightsail.GetInstanceMetricData+ (+ -- * Creating a Request+ getInstanceMetricData+ , GetInstanceMetricData+ -- * Request Lenses+ , gimdInstanceName+ , gimdMetricName+ , gimdPeriod+ , gimdStartTime+ , gimdEndTime+ , gimdUnit+ , gimdStatistics++ -- * Destructuring the Response+ , getInstanceMetricDataResponse+ , GetInstanceMetricDataResponse+ -- * Response Lenses+ , gimdrsMetricName+ , gimdrsMetricData+ , gimdrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getInstanceMetricData' smart constructor.+data GetInstanceMetricData = GetInstanceMetricData'+ { _gimdInstanceName :: !Text+ , _gimdMetricName :: !InstanceMetricName+ , _gimdPeriod :: !Nat+ , _gimdStartTime :: !POSIX+ , _gimdEndTime :: !POSIX+ , _gimdUnit :: !MetricUnit+ , _gimdStatistics :: ![MetricStatistic]+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstanceMetricData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gimdInstanceName' - The name of the instance for which you want to get metrics data.+--+-- * 'gimdMetricName' - The metric name to get data about.+--+-- * 'gimdPeriod' - The time period for which you are requesting data.+--+-- * 'gimdStartTime' - The start time of the time period.+--+-- * 'gimdEndTime' - The end time of the time period.+--+-- * 'gimdUnit' - The unit. The list of valid values is below.+--+-- * 'gimdStatistics' - The instance statistics.+getInstanceMetricData+ :: Text -- ^ 'gimdInstanceName'+ -> InstanceMetricName -- ^ 'gimdMetricName'+ -> Natural -- ^ 'gimdPeriod'+ -> UTCTime -- ^ 'gimdStartTime'+ -> UTCTime -- ^ 'gimdEndTime'+ -> MetricUnit -- ^ 'gimdUnit'+ -> GetInstanceMetricData+getInstanceMetricData pInstanceName_ pMetricName_ pPeriod_ pStartTime_ pEndTime_ pUnit_ =+ GetInstanceMetricData'+ { _gimdInstanceName = pInstanceName_+ , _gimdMetricName = pMetricName_+ , _gimdPeriod = _Nat # pPeriod_+ , _gimdStartTime = _Time # pStartTime_+ , _gimdEndTime = _Time # pEndTime_+ , _gimdUnit = pUnit_+ , _gimdStatistics = mempty+ }++-- | The name of the instance for which you want to get metrics data.+gimdInstanceName :: Lens' GetInstanceMetricData Text+gimdInstanceName = lens _gimdInstanceName (\ s a -> s{_gimdInstanceName = a});++-- | The metric name to get data about.+gimdMetricName :: Lens' GetInstanceMetricData InstanceMetricName+gimdMetricName = lens _gimdMetricName (\ s a -> s{_gimdMetricName = a});++-- | The time period for which you are requesting data.+gimdPeriod :: Lens' GetInstanceMetricData Natural+gimdPeriod = lens _gimdPeriod (\ s a -> s{_gimdPeriod = a}) . _Nat;++-- | The start time of the time period.+gimdStartTime :: Lens' GetInstanceMetricData UTCTime+gimdStartTime = lens _gimdStartTime (\ s a -> s{_gimdStartTime = a}) . _Time;++-- | The end time of the time period.+gimdEndTime :: Lens' GetInstanceMetricData UTCTime+gimdEndTime = lens _gimdEndTime (\ s a -> s{_gimdEndTime = a}) . _Time;++-- | The unit. The list of valid values is below.+gimdUnit :: Lens' GetInstanceMetricData MetricUnit+gimdUnit = lens _gimdUnit (\ s a -> s{_gimdUnit = a});++-- | The instance statistics.+gimdStatistics :: Lens' GetInstanceMetricData [MetricStatistic]+gimdStatistics = lens _gimdStatistics (\ s a -> s{_gimdStatistics = a}) . _Coerce;++instance AWSRequest GetInstanceMetricData where+ type Rs GetInstanceMetricData =+ GetInstanceMetricDataResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetInstanceMetricDataResponse' <$>+ (x .?> "metricName") <*>+ (x .?> "metricData" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable GetInstanceMetricData++instance NFData GetInstanceMetricData++instance ToHeaders GetInstanceMetricData where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetInstanceMetricData" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetInstanceMetricData where+ toJSON GetInstanceMetricData'{..}+ = object+ (catMaybes+ [Just ("instanceName" .= _gimdInstanceName),+ Just ("metricName" .= _gimdMetricName),+ Just ("period" .= _gimdPeriod),+ Just ("startTime" .= _gimdStartTime),+ Just ("endTime" .= _gimdEndTime),+ Just ("unit" .= _gimdUnit),+ Just ("statistics" .= _gimdStatistics)])++instance ToPath GetInstanceMetricData where+ toPath = const "/"++instance ToQuery GetInstanceMetricData where+ toQuery = const mempty++-- | /See:/ 'getInstanceMetricDataResponse' smart constructor.+data GetInstanceMetricDataResponse = GetInstanceMetricDataResponse'+ { _gimdrsMetricName :: !(Maybe InstanceMetricName)+ , _gimdrsMetricData :: !(Maybe [MetricDatapoint])+ , _gimdrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstanceMetricDataResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gimdrsMetricName' - The metric name to return data for.+--+-- * 'gimdrsMetricData' - An array of key-value pairs containing information about the results of your get instance metric data request.+--+-- * 'gimdrsResponseStatus' - -- | The response status code.+getInstanceMetricDataResponse+ :: Int -- ^ 'gimdrsResponseStatus'+ -> GetInstanceMetricDataResponse+getInstanceMetricDataResponse pResponseStatus_ =+ GetInstanceMetricDataResponse'+ { _gimdrsMetricName = Nothing+ , _gimdrsMetricData = Nothing+ , _gimdrsResponseStatus = pResponseStatus_+ }++-- | The metric name to return data for.+gimdrsMetricName :: Lens' GetInstanceMetricDataResponse (Maybe InstanceMetricName)+gimdrsMetricName = lens _gimdrsMetricName (\ s a -> s{_gimdrsMetricName = a});++-- | An array of key-value pairs containing information about the results of your get instance metric data request.+gimdrsMetricData :: Lens' GetInstanceMetricDataResponse [MetricDatapoint]+gimdrsMetricData = lens _gimdrsMetricData (\ s a -> s{_gimdrsMetricData = a}) . _Default . _Coerce;++-- | -- | The response status code.+gimdrsResponseStatus :: Lens' GetInstanceMetricDataResponse Int+gimdrsResponseStatus = lens _gimdrsResponseStatus (\ s a -> s{_gimdrsResponseStatus = a});++instance NFData GetInstanceMetricDataResponse
+ gen/Network/AWS/Lightsail/GetInstancePortStates.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetInstancePortStates+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the port states for a specific virtual private server, or /instance/ .+--+--+module Network.AWS.Lightsail.GetInstancePortStates+ (+ -- * Creating a Request+ getInstancePortStates+ , GetInstancePortStates+ -- * Request Lenses+ , gipsInstanceName++ -- * Destructuring the Response+ , getInstancePortStatesResponse+ , GetInstancePortStatesResponse+ -- * Response Lenses+ , gipsrsPortStates+ , gipsrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getInstancePortStates' smart constructor.+newtype GetInstancePortStates = GetInstancePortStates'+ { _gipsInstanceName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstancePortStates' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gipsInstanceName' - The name of the instance.+getInstancePortStates+ :: Text -- ^ 'gipsInstanceName'+ -> GetInstancePortStates+getInstancePortStates pInstanceName_ =+ GetInstancePortStates'+ { _gipsInstanceName = pInstanceName_+ }++-- | The name of the instance.+gipsInstanceName :: Lens' GetInstancePortStates Text+gipsInstanceName = lens _gipsInstanceName (\ s a -> s{_gipsInstanceName = a});++instance AWSRequest GetInstancePortStates where+ type Rs GetInstancePortStates =+ GetInstancePortStatesResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetInstancePortStatesResponse' <$>+ (x .?> "portStates" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable GetInstancePortStates++instance NFData GetInstancePortStates++instance ToHeaders GetInstancePortStates where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetInstancePortStates" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetInstancePortStates where+ toJSON GetInstancePortStates'{..}+ = object+ (catMaybes+ [Just ("instanceName" .= _gipsInstanceName)])++instance ToPath GetInstancePortStates where+ toPath = const "/"++instance ToQuery GetInstancePortStates where+ toQuery = const mempty++-- | /See:/ 'getInstancePortStatesResponse' smart constructor.+data GetInstancePortStatesResponse = GetInstancePortStatesResponse'+ { _gipsrsPortStates :: !(Maybe [PortState])+ , _gipsrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstancePortStatesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gipsrsPortStates' - Information about the port states resulting from your request.+--+-- * 'gipsrsResponseStatus' - -- | The response status code.+getInstancePortStatesResponse+ :: Int -- ^ 'gipsrsResponseStatus'+ -> GetInstancePortStatesResponse+getInstancePortStatesResponse pResponseStatus_ =+ GetInstancePortStatesResponse'+ { _gipsrsPortStates = Nothing+ , _gipsrsResponseStatus = pResponseStatus_+ }++-- | Information about the port states resulting from your request.+gipsrsPortStates :: Lens' GetInstancePortStatesResponse [PortState]+gipsrsPortStates = lens _gipsrsPortStates (\ s a -> s{_gipsrsPortStates = a}) . _Default . _Coerce;++-- | -- | The response status code.+gipsrsResponseStatus :: Lens' GetInstancePortStatesResponse Int+gipsrsResponseStatus = lens _gipsrsResponseStatus (\ s a -> s{_gipsrsResponseStatus = a});++instance NFData GetInstancePortStatesResponse
+ gen/Network/AWS/Lightsail/GetInstanceSnapshot.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetInstanceSnapshot+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a specific instance snapshot.+--+--+module Network.AWS.Lightsail.GetInstanceSnapshot+ (+ -- * Creating a Request+ getInstanceSnapshot+ , GetInstanceSnapshot+ -- * Request Lenses+ , gisInstanceSnapshotName++ -- * Destructuring the Response+ , getInstanceSnapshotResponse+ , GetInstanceSnapshotResponse+ -- * Response Lenses+ , gisrsInstanceSnapshot+ , gisrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getInstanceSnapshot' smart constructor.+newtype GetInstanceSnapshot = GetInstanceSnapshot'+ { _gisInstanceSnapshotName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstanceSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gisInstanceSnapshotName' - The name of the snapshot for which you are requesting information.+getInstanceSnapshot+ :: Text -- ^ 'gisInstanceSnapshotName'+ -> GetInstanceSnapshot+getInstanceSnapshot pInstanceSnapshotName_ =+ GetInstanceSnapshot'+ { _gisInstanceSnapshotName = pInstanceSnapshotName_+ }++-- | The name of the snapshot for which you are requesting information.+gisInstanceSnapshotName :: Lens' GetInstanceSnapshot Text+gisInstanceSnapshotName = lens _gisInstanceSnapshotName (\ s a -> s{_gisInstanceSnapshotName = a});++instance AWSRequest GetInstanceSnapshot where+ type Rs GetInstanceSnapshot =+ GetInstanceSnapshotResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetInstanceSnapshotResponse' <$>+ (x .?> "instanceSnapshot") <*> (pure (fromEnum s)))++instance Hashable GetInstanceSnapshot++instance NFData GetInstanceSnapshot++instance ToHeaders GetInstanceSnapshot where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetInstanceSnapshot" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetInstanceSnapshot where+ toJSON GetInstanceSnapshot'{..}+ = object+ (catMaybes+ [Just+ ("instanceSnapshotName" .=+ _gisInstanceSnapshotName)])++instance ToPath GetInstanceSnapshot where+ toPath = const "/"++instance ToQuery GetInstanceSnapshot where+ toQuery = const mempty++-- | /See:/ 'getInstanceSnapshotResponse' smart constructor.+data GetInstanceSnapshotResponse = GetInstanceSnapshotResponse'+ { _gisrsInstanceSnapshot :: !(Maybe InstanceSnapshot)+ , _gisrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstanceSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gisrsInstanceSnapshot' - An array of key-value pairs containing information about the results of your get instance snapshot request.+--+-- * 'gisrsResponseStatus' - -- | The response status code.+getInstanceSnapshotResponse+ :: Int -- ^ 'gisrsResponseStatus'+ -> GetInstanceSnapshotResponse+getInstanceSnapshotResponse pResponseStatus_ =+ GetInstanceSnapshotResponse'+ { _gisrsInstanceSnapshot = Nothing+ , _gisrsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the results of your get instance snapshot request.+gisrsInstanceSnapshot :: Lens' GetInstanceSnapshotResponse (Maybe InstanceSnapshot)+gisrsInstanceSnapshot = lens _gisrsInstanceSnapshot (\ s a -> s{_gisrsInstanceSnapshot = a});++-- | -- | The response status code.+gisrsResponseStatus :: Lens' GetInstanceSnapshotResponse Int+gisrsResponseStatus = lens _gisrsResponseStatus (\ s a -> s{_gisrsResponseStatus = a});++instance NFData GetInstanceSnapshotResponse
+ gen/Network/AWS/Lightsail/GetInstanceSnapshots.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetInstanceSnapshots+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns all instance snapshots for the user's account.+--+--+module Network.AWS.Lightsail.GetInstanceSnapshots+ (+ -- * Creating a Request+ getInstanceSnapshots+ , GetInstanceSnapshots+ -- * Request Lenses+ , gisPageToken++ -- * Destructuring the Response+ , getInstanceSnapshotsResponse+ , GetInstanceSnapshotsResponse+ -- * Response Lenses+ , gissrsNextPageToken+ , gissrsInstanceSnapshots+ , gissrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getInstanceSnapshots' smart constructor.+newtype GetInstanceSnapshots = GetInstanceSnapshots'+ { _gisPageToken :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstanceSnapshots' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gisPageToken' - A token used for advancing to the next page of results from your get instance snapshots request.+getInstanceSnapshots+ :: GetInstanceSnapshots+getInstanceSnapshots =+ GetInstanceSnapshots'+ { _gisPageToken = Nothing+ }++-- | A token used for advancing to the next page of results from your get instance snapshots request.+gisPageToken :: Lens' GetInstanceSnapshots (Maybe Text)+gisPageToken = lens _gisPageToken (\ s a -> s{_gisPageToken = a});++instance AWSRequest GetInstanceSnapshots where+ type Rs GetInstanceSnapshots =+ GetInstanceSnapshotsResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetInstanceSnapshotsResponse' <$>+ (x .?> "nextPageToken") <*>+ (x .?> "instanceSnapshots" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable GetInstanceSnapshots++instance NFData GetInstanceSnapshots++instance ToHeaders GetInstanceSnapshots where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetInstanceSnapshots" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetInstanceSnapshots where+ toJSON GetInstanceSnapshots'{..}+ = object+ (catMaybes [("pageToken" .=) <$> _gisPageToken])++instance ToPath GetInstanceSnapshots where+ toPath = const "/"++instance ToQuery GetInstanceSnapshots where+ toQuery = const mempty++-- | /See:/ 'getInstanceSnapshotsResponse' smart constructor.+data GetInstanceSnapshotsResponse = GetInstanceSnapshotsResponse'+ { _gissrsNextPageToken :: !(Maybe Text)+ , _gissrsInstanceSnapshots :: !(Maybe [InstanceSnapshot])+ , _gissrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstanceSnapshotsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gissrsNextPageToken' - A token used for advancing to the next page of results from your get instance snapshots request.+--+-- * 'gissrsInstanceSnapshots' - An array of key-value pairs containing information about the results of your get instance snapshots request.+--+-- * 'gissrsResponseStatus' - -- | The response status code.+getInstanceSnapshotsResponse+ :: Int -- ^ 'gissrsResponseStatus'+ -> GetInstanceSnapshotsResponse+getInstanceSnapshotsResponse pResponseStatus_ =+ GetInstanceSnapshotsResponse'+ { _gissrsNextPageToken = Nothing+ , _gissrsInstanceSnapshots = Nothing+ , _gissrsResponseStatus = pResponseStatus_+ }++-- | A token used for advancing to the next page of results from your get instance snapshots request.+gissrsNextPageToken :: Lens' GetInstanceSnapshotsResponse (Maybe Text)+gissrsNextPageToken = lens _gissrsNextPageToken (\ s a -> s{_gissrsNextPageToken = a});++-- | An array of key-value pairs containing information about the results of your get instance snapshots request.+gissrsInstanceSnapshots :: Lens' GetInstanceSnapshotsResponse [InstanceSnapshot]+gissrsInstanceSnapshots = lens _gissrsInstanceSnapshots (\ s a -> s{_gissrsInstanceSnapshots = a}) . _Default . _Coerce;++-- | -- | The response status code.+gissrsResponseStatus :: Lens' GetInstanceSnapshotsResponse Int+gissrsResponseStatus = lens _gissrsResponseStatus (\ s a -> s{_gissrsResponseStatus = a});++instance NFData GetInstanceSnapshotsResponse
+ gen/Network/AWS/Lightsail/GetInstanceState.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetInstanceState+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the state of a specific instance. Works on one instance at a time.+--+--+module Network.AWS.Lightsail.GetInstanceState+ (+ -- * Creating a Request+ getInstanceState+ , GetInstanceState+ -- * Request Lenses+ , gisInstanceName++ -- * Destructuring the Response+ , getInstanceStateResponse+ , GetInstanceStateResponse+ -- * Response Lenses+ , getrsState+ , getrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getInstanceState' smart constructor.+newtype GetInstanceState = GetInstanceState'+ { _gisInstanceName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstanceState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gisInstanceName' - The name of the instance to get state information about.+getInstanceState+ :: Text -- ^ 'gisInstanceName'+ -> GetInstanceState+getInstanceState pInstanceName_ =+ GetInstanceState'+ { _gisInstanceName = pInstanceName_+ }++-- | The name of the instance to get state information about.+gisInstanceName :: Lens' GetInstanceState Text+gisInstanceName = lens _gisInstanceName (\ s a -> s{_gisInstanceName = a});++instance AWSRequest GetInstanceState where+ type Rs GetInstanceState = GetInstanceStateResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetInstanceStateResponse' <$>+ (x .?> "state") <*> (pure (fromEnum s)))++instance Hashable GetInstanceState++instance NFData GetInstanceState++instance ToHeaders GetInstanceState where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetInstanceState" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetInstanceState where+ toJSON GetInstanceState'{..}+ = object+ (catMaybes+ [Just ("instanceName" .= _gisInstanceName)])++instance ToPath GetInstanceState where+ toPath = const "/"++instance ToQuery GetInstanceState where+ toQuery = const mempty++-- | /See:/ 'getInstanceStateResponse' smart constructor.+data GetInstanceStateResponse = GetInstanceStateResponse'+ { _getrsState :: !(Maybe InstanceState)+ , _getrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstanceStateResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'getrsState' - The state of the instance.+--+-- * 'getrsResponseStatus' - -- | The response status code.+getInstanceStateResponse+ :: Int -- ^ 'getrsResponseStatus'+ -> GetInstanceStateResponse+getInstanceStateResponse pResponseStatus_ =+ GetInstanceStateResponse'+ { _getrsState = Nothing+ , _getrsResponseStatus = pResponseStatus_+ }++-- | The state of the instance.+getrsState :: Lens' GetInstanceStateResponse (Maybe InstanceState)+getrsState = lens _getrsState (\ s a -> s{_getrsState = a});++-- | -- | The response status code.+getrsResponseStatus :: Lens' GetInstanceStateResponse Int+getrsResponseStatus = lens _getrsResponseStatus (\ s a -> s{_getrsResponseStatus = a});++instance NFData GetInstanceStateResponse
+ gen/Network/AWS/Lightsail/GetInstances.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetInstances+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about all Amazon Lightsail virtual private servers, or /instances/ .+--+--+module Network.AWS.Lightsail.GetInstances+ (+ -- * Creating a Request+ getInstances+ , GetInstances+ -- * Request Lenses+ , giPageToken++ -- * Destructuring the Response+ , getInstancesResponse+ , GetInstancesResponse+ -- * Response Lenses+ , grsNextPageToken+ , grsInstances+ , grsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getInstances' smart constructor.+newtype GetInstances = GetInstances'+ { _giPageToken :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'giPageToken' - A token used for advancing to the next page of results from your get instances request.+getInstances+ :: GetInstances+getInstances =+ GetInstances'+ { _giPageToken = Nothing+ }++-- | A token used for advancing to the next page of results from your get instances request.+giPageToken :: Lens' GetInstances (Maybe Text)+giPageToken = lens _giPageToken (\ s a -> s{_giPageToken = a});++instance AWSRequest GetInstances where+ type Rs GetInstances = GetInstancesResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetInstancesResponse' <$>+ (x .?> "nextPageToken") <*>+ (x .?> "instances" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable GetInstances++instance NFData GetInstances++instance ToHeaders GetInstances where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetInstances" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetInstances where+ toJSON GetInstances'{..}+ = object+ (catMaybes [("pageToken" .=) <$> _giPageToken])++instance ToPath GetInstances where+ toPath = const "/"++instance ToQuery GetInstances where+ toQuery = const mempty++-- | /See:/ 'getInstancesResponse' smart constructor.+data GetInstancesResponse = GetInstancesResponse'+ { _grsNextPageToken :: !(Maybe Text)+ , _grsInstances :: !(Maybe [Instance])+ , _grsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grsNextPageToken' - A token used for advancing to the next page of results from your get instances request.+--+-- * 'grsInstances' - An array of key-value pairs containing information about your instances.+--+-- * 'grsResponseStatus' - -- | The response status code.+getInstancesResponse+ :: Int -- ^ 'grsResponseStatus'+ -> GetInstancesResponse+getInstancesResponse pResponseStatus_ =+ GetInstancesResponse'+ { _grsNextPageToken = Nothing+ , _grsInstances = Nothing+ , _grsResponseStatus = pResponseStatus_+ }++-- | A token used for advancing to the next page of results from your get instances request.+grsNextPageToken :: Lens' GetInstancesResponse (Maybe Text)+grsNextPageToken = lens _grsNextPageToken (\ s a -> s{_grsNextPageToken = a});++-- | An array of key-value pairs containing information about your instances.+grsInstances :: Lens' GetInstancesResponse [Instance]+grsInstances = lens _grsInstances (\ s a -> s{_grsInstances = a}) . _Default . _Coerce;++-- | -- | The response status code.+grsResponseStatus :: Lens' GetInstancesResponse Int+grsResponseStatus = lens _grsResponseStatus (\ s a -> s{_grsResponseStatus = a});++instance NFData GetInstancesResponse
+ gen/Network/AWS/Lightsail/GetKeyPair.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetKeyPair+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a specific key pair.+--+--+module Network.AWS.Lightsail.GetKeyPair+ (+ -- * Creating a Request+ getKeyPair+ , GetKeyPair+ -- * Request Lenses+ , gkpKeyPairName++ -- * Destructuring the Response+ , getKeyPairResponse+ , GetKeyPairResponse+ -- * Response Lenses+ , gkprsKeyPair+ , gkprsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getKeyPair' smart constructor.+newtype GetKeyPair = GetKeyPair'+ { _gkpKeyPairName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetKeyPair' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gkpKeyPairName' - The name of the key pair for which you are requesting information.+getKeyPair+ :: Text -- ^ 'gkpKeyPairName'+ -> GetKeyPair+getKeyPair pKeyPairName_ =+ GetKeyPair'+ { _gkpKeyPairName = pKeyPairName_+ }++-- | The name of the key pair for which you are requesting information.+gkpKeyPairName :: Lens' GetKeyPair Text+gkpKeyPairName = lens _gkpKeyPairName (\ s a -> s{_gkpKeyPairName = a});++instance AWSRequest GetKeyPair where+ type Rs GetKeyPair = GetKeyPairResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetKeyPairResponse' <$>+ (x .?> "keyPair") <*> (pure (fromEnum s)))++instance Hashable GetKeyPair++instance NFData GetKeyPair++instance ToHeaders GetKeyPair where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetKeyPair" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetKeyPair where+ toJSON GetKeyPair'{..}+ = object+ (catMaybes [Just ("keyPairName" .= _gkpKeyPairName)])++instance ToPath GetKeyPair where+ toPath = const "/"++instance ToQuery GetKeyPair where+ toQuery = const mempty++-- | /See:/ 'getKeyPairResponse' smart constructor.+data GetKeyPairResponse = GetKeyPairResponse'+ { _gkprsKeyPair :: !(Maybe KeyPair)+ , _gkprsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetKeyPairResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gkprsKeyPair' - An array of key-value pairs containing information about the key pair.+--+-- * 'gkprsResponseStatus' - -- | The response status code.+getKeyPairResponse+ :: Int -- ^ 'gkprsResponseStatus'+ -> GetKeyPairResponse+getKeyPairResponse pResponseStatus_ =+ GetKeyPairResponse'+ { _gkprsKeyPair = Nothing+ , _gkprsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the key pair.+gkprsKeyPair :: Lens' GetKeyPairResponse (Maybe KeyPair)+gkprsKeyPair = lens _gkprsKeyPair (\ s a -> s{_gkprsKeyPair = a});++-- | -- | The response status code.+gkprsResponseStatus :: Lens' GetKeyPairResponse Int+gkprsResponseStatus = lens _gkprsResponseStatus (\ s a -> s{_gkprsResponseStatus = a});++instance NFData GetKeyPairResponse
+ gen/Network/AWS/Lightsail/GetKeyPairs.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetKeyPairs+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about all key pairs in the user's account.+--+--+module Network.AWS.Lightsail.GetKeyPairs+ (+ -- * Creating a Request+ getKeyPairs+ , GetKeyPairs+ -- * Request Lenses+ , gkpPageToken++ -- * Destructuring the Response+ , getKeyPairsResponse+ , GetKeyPairsResponse+ -- * Response Lenses+ , gkpsrsNextPageToken+ , gkpsrsKeyPairs+ , gkpsrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getKeyPairs' smart constructor.+newtype GetKeyPairs = GetKeyPairs'+ { _gkpPageToken :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetKeyPairs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gkpPageToken' - A token used for advancing to the next page of results from your get key pairs request.+getKeyPairs+ :: GetKeyPairs+getKeyPairs =+ GetKeyPairs'+ { _gkpPageToken = Nothing+ }++-- | A token used for advancing to the next page of results from your get key pairs request.+gkpPageToken :: Lens' GetKeyPairs (Maybe Text)+gkpPageToken = lens _gkpPageToken (\ s a -> s{_gkpPageToken = a});++instance AWSRequest GetKeyPairs where+ type Rs GetKeyPairs = GetKeyPairsResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetKeyPairsResponse' <$>+ (x .?> "nextPageToken") <*>+ (x .?> "keyPairs" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable GetKeyPairs++instance NFData GetKeyPairs++instance ToHeaders GetKeyPairs where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetKeyPairs" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetKeyPairs where+ toJSON GetKeyPairs'{..}+ = object+ (catMaybes [("pageToken" .=) <$> _gkpPageToken])++instance ToPath GetKeyPairs where+ toPath = const "/"++instance ToQuery GetKeyPairs where+ toQuery = const mempty++-- | /See:/ 'getKeyPairsResponse' smart constructor.+data GetKeyPairsResponse = GetKeyPairsResponse'+ { _gkpsrsNextPageToken :: !(Maybe Text)+ , _gkpsrsKeyPairs :: !(Maybe [KeyPair])+ , _gkpsrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetKeyPairsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gkpsrsNextPageToken' - A token used for advancing to the next page of results from your get key pairs request.+--+-- * 'gkpsrsKeyPairs' - An array of key-value pairs containing information about the key pairs.+--+-- * 'gkpsrsResponseStatus' - -- | The response status code.+getKeyPairsResponse+ :: Int -- ^ 'gkpsrsResponseStatus'+ -> GetKeyPairsResponse+getKeyPairsResponse pResponseStatus_ =+ GetKeyPairsResponse'+ { _gkpsrsNextPageToken = Nothing+ , _gkpsrsKeyPairs = Nothing+ , _gkpsrsResponseStatus = pResponseStatus_+ }++-- | A token used for advancing to the next page of results from your get key pairs request.+gkpsrsNextPageToken :: Lens' GetKeyPairsResponse (Maybe Text)+gkpsrsNextPageToken = lens _gkpsrsNextPageToken (\ s a -> s{_gkpsrsNextPageToken = a});++-- | An array of key-value pairs containing information about the key pairs.+gkpsrsKeyPairs :: Lens' GetKeyPairsResponse [KeyPair]+gkpsrsKeyPairs = lens _gkpsrsKeyPairs (\ s a -> s{_gkpsrsKeyPairs = a}) . _Default . _Coerce;++-- | -- | The response status code.+gkpsrsResponseStatus :: Lens' GetKeyPairsResponse Int+gkpsrsResponseStatus = lens _gkpsrsResponseStatus (\ s a -> s{_gkpsrsResponseStatus = a});++instance NFData GetKeyPairsResponse
+ gen/Network/AWS/Lightsail/GetOperation.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetOperation+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a specific operation. Operations include events such as when you create an instance, allocate a static IP, attach a static IP, and so on.+--+--+module Network.AWS.Lightsail.GetOperation+ (+ -- * Creating a Request+ getOperation+ , GetOperation+ -- * Request Lenses+ , goOperationId++ -- * Destructuring the Response+ , getOperationResponse+ , GetOperationResponse+ -- * Response Lenses+ , gorsOperation+ , gorsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getOperation' smart constructor.+newtype GetOperation = GetOperation'+ { _goOperationId :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetOperation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'goOperationId' - A GUID used to identify the operation.+getOperation+ :: Text -- ^ 'goOperationId'+ -> GetOperation+getOperation pOperationId_ =+ GetOperation'+ { _goOperationId = pOperationId_+ }++-- | A GUID used to identify the operation.+goOperationId :: Lens' GetOperation Text+goOperationId = lens _goOperationId (\ s a -> s{_goOperationId = a});++instance AWSRequest GetOperation where+ type Rs GetOperation = GetOperationResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetOperationResponse' <$>+ (x .?> "operation") <*> (pure (fromEnum s)))++instance Hashable GetOperation++instance NFData GetOperation++instance ToHeaders GetOperation where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetOperation" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetOperation where+ toJSON GetOperation'{..}+ = object+ (catMaybes [Just ("operationId" .= _goOperationId)])++instance ToPath GetOperation where+ toPath = const "/"++instance ToQuery GetOperation where+ toQuery = const mempty++-- | /See:/ 'getOperationResponse' smart constructor.+data GetOperationResponse = GetOperationResponse'+ { _gorsOperation :: !(Maybe Operation)+ , _gorsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetOperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gorsOperation' - An array of key-value pairs containing information about the results of your get operation request.+--+-- * 'gorsResponseStatus' - -- | The response status code.+getOperationResponse+ :: Int -- ^ 'gorsResponseStatus'+ -> GetOperationResponse+getOperationResponse pResponseStatus_ =+ GetOperationResponse'+ { _gorsOperation = Nothing+ , _gorsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the results of your get operation request.+gorsOperation :: Lens' GetOperationResponse (Maybe Operation)+gorsOperation = lens _gorsOperation (\ s a -> s{_gorsOperation = a});++-- | -- | The response status code.+gorsResponseStatus :: Lens' GetOperationResponse Int+gorsResponseStatus = lens _gorsResponseStatus (\ s a -> s{_gorsResponseStatus = a});++instance NFData GetOperationResponse
+ gen/Network/AWS/Lightsail/GetOperations.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetOperations+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about all operations.+--+--+-- Results are returned from oldest to newest, up to a maximum of 200. Results can be paged by making each subsequent call to @GetOperations@ use the maximum (last) @statusChangedAt@ value from the previous request.+--+module Network.AWS.Lightsail.GetOperations+ (+ -- * Creating a Request+ getOperations+ , GetOperations+ -- * Request Lenses+ , goPageToken++ -- * Destructuring the Response+ , getOperationsResponse+ , GetOperationsResponse+ -- * Response Lenses+ , gosrsNextPageToken+ , gosrsOperations+ , gosrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getOperations' smart constructor.+newtype GetOperations = GetOperations'+ { _goPageToken :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetOperations' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'goPageToken' - A token used for advancing to the next page of results from your get operations request.+getOperations+ :: GetOperations+getOperations =+ GetOperations'+ { _goPageToken = Nothing+ }++-- | A token used for advancing to the next page of results from your get operations request.+goPageToken :: Lens' GetOperations (Maybe Text)+goPageToken = lens _goPageToken (\ s a -> s{_goPageToken = a});++instance AWSRequest GetOperations where+ type Rs GetOperations = GetOperationsResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetOperationsResponse' <$>+ (x .?> "nextPageToken") <*>+ (x .?> "operations" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable GetOperations++instance NFData GetOperations++instance ToHeaders GetOperations where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetOperations" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetOperations where+ toJSON GetOperations'{..}+ = object+ (catMaybes [("pageToken" .=) <$> _goPageToken])++instance ToPath GetOperations where+ toPath = const "/"++instance ToQuery GetOperations where+ toQuery = const mempty++-- | /See:/ 'getOperationsResponse' smart constructor.+data GetOperationsResponse = GetOperationsResponse'+ { _gosrsNextPageToken :: !(Maybe Text)+ , _gosrsOperations :: !(Maybe [Operation])+ , _gosrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetOperationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gosrsNextPageToken' - A token used for advancing to the next page of results from your get operations request.+--+-- * 'gosrsOperations' - An array of key-value pairs containing information about the results of your get operations request.+--+-- * 'gosrsResponseStatus' - -- | The response status code.+getOperationsResponse+ :: Int -- ^ 'gosrsResponseStatus'+ -> GetOperationsResponse+getOperationsResponse pResponseStatus_ =+ GetOperationsResponse'+ { _gosrsNextPageToken = Nothing+ , _gosrsOperations = Nothing+ , _gosrsResponseStatus = pResponseStatus_+ }++-- | A token used for advancing to the next page of results from your get operations request.+gosrsNextPageToken :: Lens' GetOperationsResponse (Maybe Text)+gosrsNextPageToken = lens _gosrsNextPageToken (\ s a -> s{_gosrsNextPageToken = a});++-- | An array of key-value pairs containing information about the results of your get operations request.+gosrsOperations :: Lens' GetOperationsResponse [Operation]+gosrsOperations = lens _gosrsOperations (\ s a -> s{_gosrsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+gosrsResponseStatus :: Lens' GetOperationsResponse Int+gosrsResponseStatus = lens _gosrsResponseStatus (\ s a -> s{_gosrsResponseStatus = a});++instance NFData GetOperationsResponse
+ gen/Network/AWS/Lightsail/GetOperationsForResource.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetOperationsForResource+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets operations for a specific resource (e.g., an instance or a static IP).+--+--+module Network.AWS.Lightsail.GetOperationsForResource+ (+ -- * Creating a Request+ getOperationsForResource+ , GetOperationsForResource+ -- * Request Lenses+ , gofrPageToken+ , gofrResourceName++ -- * Destructuring the Response+ , getOperationsForResourceResponse+ , GetOperationsForResourceResponse+ -- * Response Lenses+ , gofrrsNextPageCount+ , gofrrsOperations+ , gofrrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getOperationsForResource' smart constructor.+data GetOperationsForResource = GetOperationsForResource'+ { _gofrPageToken :: !(Maybe Text)+ , _gofrResourceName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetOperationsForResource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gofrPageToken' - A token used for advancing to the next page of results from your get operations for resource request.+--+-- * 'gofrResourceName' - The name of the resource for which you are requesting information.+getOperationsForResource+ :: Text -- ^ 'gofrResourceName'+ -> GetOperationsForResource+getOperationsForResource pResourceName_ =+ GetOperationsForResource'+ { _gofrPageToken = Nothing+ , _gofrResourceName = pResourceName_+ }++-- | A token used for advancing to the next page of results from your get operations for resource request.+gofrPageToken :: Lens' GetOperationsForResource (Maybe Text)+gofrPageToken = lens _gofrPageToken (\ s a -> s{_gofrPageToken = a});++-- | The name of the resource for which you are requesting information.+gofrResourceName :: Lens' GetOperationsForResource Text+gofrResourceName = lens _gofrResourceName (\ s a -> s{_gofrResourceName = a});++instance AWSRequest GetOperationsForResource where+ type Rs GetOperationsForResource =+ GetOperationsForResourceResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetOperationsForResourceResponse' <$>+ (x .?> "nextPageCount") <*>+ (x .?> "operations" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable GetOperationsForResource++instance NFData GetOperationsForResource++instance ToHeaders GetOperationsForResource where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetOperationsForResource" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetOperationsForResource where+ toJSON GetOperationsForResource'{..}+ = object+ (catMaybes+ [("pageToken" .=) <$> _gofrPageToken,+ Just ("resourceName" .= _gofrResourceName)])++instance ToPath GetOperationsForResource where+ toPath = const "/"++instance ToQuery GetOperationsForResource where+ toQuery = const mempty++-- | /See:/ 'getOperationsForResourceResponse' smart constructor.+data GetOperationsForResourceResponse = GetOperationsForResourceResponse'+ { _gofrrsNextPageCount :: !(Maybe Text)+ , _gofrrsOperations :: !(Maybe [Operation])+ , _gofrrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetOperationsForResourceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gofrrsNextPageCount' - Returns the number of pages of results that remain.+--+-- * 'gofrrsOperations' - An array of key-value pairs containing information about the results of your get operations for resource request.+--+-- * 'gofrrsResponseStatus' - -- | The response status code.+getOperationsForResourceResponse+ :: Int -- ^ 'gofrrsResponseStatus'+ -> GetOperationsForResourceResponse+getOperationsForResourceResponse pResponseStatus_ =+ GetOperationsForResourceResponse'+ { _gofrrsNextPageCount = Nothing+ , _gofrrsOperations = Nothing+ , _gofrrsResponseStatus = pResponseStatus_+ }++-- | Returns the number of pages of results that remain.+gofrrsNextPageCount :: Lens' GetOperationsForResourceResponse (Maybe Text)+gofrrsNextPageCount = lens _gofrrsNextPageCount (\ s a -> s{_gofrrsNextPageCount = a});++-- | An array of key-value pairs containing information about the results of your get operations for resource request.+gofrrsOperations :: Lens' GetOperationsForResourceResponse [Operation]+gofrrsOperations = lens _gofrrsOperations (\ s a -> s{_gofrrsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+gofrrsResponseStatus :: Lens' GetOperationsForResourceResponse Int+gofrrsResponseStatus = lens _gofrrsResponseStatus (\ s a -> s{_gofrrsResponseStatus = a});++instance NFData GetOperationsForResourceResponse
+ gen/Network/AWS/Lightsail/GetRegions.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetRegions+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of all valid regions for Amazon Lightsail.+--+--+module Network.AWS.Lightsail.GetRegions+ (+ -- * Creating a Request+ getRegions+ , GetRegions+ -- * Request Lenses+ , grIncludeAvailabilityZones++ -- * Destructuring the Response+ , getRegionsResponse+ , GetRegionsResponse+ -- * Response Lenses+ , grrsRegions+ , grrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getRegions' smart constructor.+newtype GetRegions = GetRegions'+ { _grIncludeAvailabilityZones :: Maybe Bool+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetRegions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grIncludeAvailabilityZones' - A Boolean value indicating whether to also include Availability Zones in your get regions request. Availability Zones are indicated with a letter: e.g., @us-east-1a@ .+getRegions+ :: GetRegions+getRegions =+ GetRegions'+ { _grIncludeAvailabilityZones = Nothing+ }++-- | A Boolean value indicating whether to also include Availability Zones in your get regions request. Availability Zones are indicated with a letter: e.g., @us-east-1a@ .+grIncludeAvailabilityZones :: Lens' GetRegions (Maybe Bool)+grIncludeAvailabilityZones = lens _grIncludeAvailabilityZones (\ s a -> s{_grIncludeAvailabilityZones = a});++instance AWSRequest GetRegions where+ type Rs GetRegions = GetRegionsResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetRegionsResponse' <$>+ (x .?> "regions" .!@ mempty) <*> (pure (fromEnum s)))++instance Hashable GetRegions++instance NFData GetRegions++instance ToHeaders GetRegions where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetRegions" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetRegions where+ toJSON GetRegions'{..}+ = object+ (catMaybes+ [("includeAvailabilityZones" .=) <$>+ _grIncludeAvailabilityZones])++instance ToPath GetRegions where+ toPath = const "/"++instance ToQuery GetRegions where+ toQuery = const mempty++-- | /See:/ 'getRegionsResponse' smart constructor.+data GetRegionsResponse = GetRegionsResponse'+ { _grrsRegions :: !(Maybe [RegionInfo])+ , _grrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetRegionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grrsRegions' - An array of key-value pairs containing information about your get regions request.+--+-- * 'grrsResponseStatus' - -- | The response status code.+getRegionsResponse+ :: Int -- ^ 'grrsResponseStatus'+ -> GetRegionsResponse+getRegionsResponse pResponseStatus_ =+ GetRegionsResponse'+ { _grrsRegions = Nothing+ , _grrsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about your get regions request.+grrsRegions :: Lens' GetRegionsResponse [RegionInfo]+grrsRegions = lens _grrsRegions (\ s a -> s{_grrsRegions = a}) . _Default . _Coerce;++-- | -- | The response status code.+grrsResponseStatus :: Lens' GetRegionsResponse Int+grrsResponseStatus = lens _grrsResponseStatus (\ s a -> s{_grrsResponseStatus = a});++instance NFData GetRegionsResponse
+ gen/Network/AWS/Lightsail/GetStaticIP.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetStaticIP+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a specific static IP.+--+--+module Network.AWS.Lightsail.GetStaticIP+ (+ -- * Creating a Request+ getStaticIP+ , GetStaticIP+ -- * Request Lenses+ , gsiStaticIPName++ -- * Destructuring the Response+ , getStaticIPResponse+ , GetStaticIPResponse+ -- * Response Lenses+ , gsirsStaticIP+ , gsirsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getStaticIP' smart constructor.+newtype GetStaticIP = GetStaticIP'+ { _gsiStaticIPName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetStaticIP' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsiStaticIPName' - The name of the static IP in Lightsail.+getStaticIP+ :: Text -- ^ 'gsiStaticIPName'+ -> GetStaticIP+getStaticIP pStaticIPName_ =+ GetStaticIP'+ { _gsiStaticIPName = pStaticIPName_+ }++-- | The name of the static IP in Lightsail.+gsiStaticIPName :: Lens' GetStaticIP Text+gsiStaticIPName = lens _gsiStaticIPName (\ s a -> s{_gsiStaticIPName = a});++instance AWSRequest GetStaticIP where+ type Rs GetStaticIP = GetStaticIPResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetStaticIPResponse' <$>+ (x .?> "staticIp") <*> (pure (fromEnum s)))++instance Hashable GetStaticIP++instance NFData GetStaticIP++instance ToHeaders GetStaticIP where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetStaticIp" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetStaticIP where+ toJSON GetStaticIP'{..}+ = object+ (catMaybes+ [Just ("staticIpName" .= _gsiStaticIPName)])++instance ToPath GetStaticIP where+ toPath = const "/"++instance ToQuery GetStaticIP where+ toQuery = const mempty++-- | /See:/ 'getStaticIPResponse' smart constructor.+data GetStaticIPResponse = GetStaticIPResponse'+ { _gsirsStaticIP :: !(Maybe StaticIP)+ , _gsirsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetStaticIPResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsirsStaticIP' - An array of key-value pairs containing information about the requested static IP.+--+-- * 'gsirsResponseStatus' - -- | The response status code.+getStaticIPResponse+ :: Int -- ^ 'gsirsResponseStatus'+ -> GetStaticIPResponse+getStaticIPResponse pResponseStatus_ =+ GetStaticIPResponse'+ { _gsirsStaticIP = Nothing+ , _gsirsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the requested static IP.+gsirsStaticIP :: Lens' GetStaticIPResponse (Maybe StaticIP)+gsirsStaticIP = lens _gsirsStaticIP (\ s a -> s{_gsirsStaticIP = a});++-- | -- | The response status code.+gsirsResponseStatus :: Lens' GetStaticIPResponse Int+gsirsResponseStatus = lens _gsirsResponseStatus (\ s a -> s{_gsirsResponseStatus = a});++instance NFData GetStaticIPResponse
+ gen/Network/AWS/Lightsail/GetStaticIPs.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.GetStaticIPs+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about all static IPs in the user's account.+--+--+module Network.AWS.Lightsail.GetStaticIPs+ (+ -- * Creating a Request+ getStaticIPs+ , GetStaticIPs+ -- * Request Lenses+ , gsiPageToken++ -- * Destructuring the Response+ , getStaticIPsResponse+ , GetStaticIPsResponse+ -- * Response Lenses+ , gsiprsNextPageToken+ , gsiprsStaticIPs+ , gsiprsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getStaticIPs' smart constructor.+newtype GetStaticIPs = GetStaticIPs'+ { _gsiPageToken :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetStaticIPs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsiPageToken' - A token used for advancing to the next page of results from your get static IPs request.+getStaticIPs+ :: GetStaticIPs+getStaticIPs =+ GetStaticIPs'+ { _gsiPageToken = Nothing+ }++-- | A token used for advancing to the next page of results from your get static IPs request.+gsiPageToken :: Lens' GetStaticIPs (Maybe Text)+gsiPageToken = lens _gsiPageToken (\ s a -> s{_gsiPageToken = a});++instance AWSRequest GetStaticIPs where+ type Rs GetStaticIPs = GetStaticIPsResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ GetStaticIPsResponse' <$>+ (x .?> "nextPageToken") <*>+ (x .?> "staticIps" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable GetStaticIPs++instance NFData GetStaticIPs++instance ToHeaders GetStaticIPs where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.GetStaticIps" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetStaticIPs where+ toJSON GetStaticIPs'{..}+ = object+ (catMaybes [("pageToken" .=) <$> _gsiPageToken])++instance ToPath GetStaticIPs where+ toPath = const "/"++instance ToQuery GetStaticIPs where+ toQuery = const mempty++-- | /See:/ 'getStaticIPsResponse' smart constructor.+data GetStaticIPsResponse = GetStaticIPsResponse'+ { _gsiprsNextPageToken :: !(Maybe Text)+ , _gsiprsStaticIPs :: !(Maybe [StaticIP])+ , _gsiprsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetStaticIPsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsiprsNextPageToken' - A token used for advancing to the next page of results from your get static IPs request.+--+-- * 'gsiprsStaticIPs' - An array of key-value pairs containing information about your get static IPs request.+--+-- * 'gsiprsResponseStatus' - -- | The response status code.+getStaticIPsResponse+ :: Int -- ^ 'gsiprsResponseStatus'+ -> GetStaticIPsResponse+getStaticIPsResponse pResponseStatus_ =+ GetStaticIPsResponse'+ { _gsiprsNextPageToken = Nothing+ , _gsiprsStaticIPs = Nothing+ , _gsiprsResponseStatus = pResponseStatus_+ }++-- | A token used for advancing to the next page of results from your get static IPs request.+gsiprsNextPageToken :: Lens' GetStaticIPsResponse (Maybe Text)+gsiprsNextPageToken = lens _gsiprsNextPageToken (\ s a -> s{_gsiprsNextPageToken = a});++-- | An array of key-value pairs containing information about your get static IPs request.+gsiprsStaticIPs :: Lens' GetStaticIPsResponse [StaticIP]+gsiprsStaticIPs = lens _gsiprsStaticIPs (\ s a -> s{_gsiprsStaticIPs = a}) . _Default . _Coerce;++-- | -- | The response status code.+gsiprsResponseStatus :: Lens' GetStaticIPsResponse Int+gsiprsResponseStatus = lens _gsiprsResponseStatus (\ s a -> s{_gsiprsResponseStatus = a});++instance NFData GetStaticIPsResponse
+ gen/Network/AWS/Lightsail/ImportKeyPair.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.ImportKeyPair+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Imports a public SSH key from a specific key pair.+--+--+module Network.AWS.Lightsail.ImportKeyPair+ (+ -- * Creating a Request+ importKeyPair+ , ImportKeyPair+ -- * Request Lenses+ , ikpKeyPairName+ , ikpPublicKeyBase64++ -- * Destructuring the Response+ , importKeyPairResponse+ , ImportKeyPairResponse+ -- * Response Lenses+ , ikprsOperation+ , ikprsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'importKeyPair' smart constructor.+data ImportKeyPair = ImportKeyPair'+ { _ikpKeyPairName :: !Text+ , _ikpPublicKeyBase64 :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportKeyPair' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ikpKeyPairName' - The name of the key pair for which you want to import the public key.+--+-- * 'ikpPublicKeyBase64' - A base64-encoded public key of the @ssh-rsa@ type.+importKeyPair+ :: Text -- ^ 'ikpKeyPairName'+ -> Text -- ^ 'ikpPublicKeyBase64'+ -> ImportKeyPair+importKeyPair pKeyPairName_ pPublicKeyBase64_ =+ ImportKeyPair'+ { _ikpKeyPairName = pKeyPairName_+ , _ikpPublicKeyBase64 = pPublicKeyBase64_+ }++-- | The name of the key pair for which you want to import the public key.+ikpKeyPairName :: Lens' ImportKeyPair Text+ikpKeyPairName = lens _ikpKeyPairName (\ s a -> s{_ikpKeyPairName = a});++-- | A base64-encoded public key of the @ssh-rsa@ type.+ikpPublicKeyBase64 :: Lens' ImportKeyPair Text+ikpPublicKeyBase64 = lens _ikpPublicKeyBase64 (\ s a -> s{_ikpPublicKeyBase64 = a});++instance AWSRequest ImportKeyPair where+ type Rs ImportKeyPair = ImportKeyPairResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ ImportKeyPairResponse' <$>+ (x .?> "operation") <*> (pure (fromEnum s)))++instance Hashable ImportKeyPair++instance NFData ImportKeyPair++instance ToHeaders ImportKeyPair where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.ImportKeyPair" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ImportKeyPair where+ toJSON ImportKeyPair'{..}+ = object+ (catMaybes+ [Just ("keyPairName" .= _ikpKeyPairName),+ Just ("publicKeyBase64" .= _ikpPublicKeyBase64)])++instance ToPath ImportKeyPair where+ toPath = const "/"++instance ToQuery ImportKeyPair where+ toQuery = const mempty++-- | /See:/ 'importKeyPairResponse' smart constructor.+data ImportKeyPairResponse = ImportKeyPairResponse'+ { _ikprsOperation :: !(Maybe Operation)+ , _ikprsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImportKeyPairResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ikprsOperation' - An array of key-value pairs containing information about the request operation.+--+-- * 'ikprsResponseStatus' - -- | The response status code.+importKeyPairResponse+ :: Int -- ^ 'ikprsResponseStatus'+ -> ImportKeyPairResponse+importKeyPairResponse pResponseStatus_ =+ ImportKeyPairResponse'+ { _ikprsOperation = Nothing+ , _ikprsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the request operation.+ikprsOperation :: Lens' ImportKeyPairResponse (Maybe Operation)+ikprsOperation = lens _ikprsOperation (\ s a -> s{_ikprsOperation = a});++-- | -- | The response status code.+ikprsResponseStatus :: Lens' ImportKeyPairResponse Int+ikprsResponseStatus = lens _ikprsResponseStatus (\ s a -> s{_ikprsResponseStatus = a});++instance NFData ImportKeyPairResponse
+ gen/Network/AWS/Lightsail/IsVPCPeered.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.IsVPCPeered+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a Boolean value indicating whether your Lightsail VPC is peered.+--+--+module Network.AWS.Lightsail.IsVPCPeered+ (+ -- * Creating a Request+ isVPCPeered+ , IsVPCPeered++ -- * Destructuring the Response+ , isVPCPeeredResponse+ , IsVPCPeeredResponse+ -- * Response Lenses+ , ivprsIsPeered+ , ivprsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'isVPCPeered' smart constructor.+data IsVPCPeered =+ IsVPCPeered'+ deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'IsVPCPeered' with the minimum fields required to make a request.+--+isVPCPeered+ :: IsVPCPeered+isVPCPeered = IsVPCPeered'++instance AWSRequest IsVPCPeered where+ type Rs IsVPCPeered = IsVPCPeeredResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ IsVPCPeeredResponse' <$>+ (x .?> "isPeered") <*> (pure (fromEnum s)))++instance Hashable IsVPCPeered++instance NFData IsVPCPeered++instance ToHeaders IsVPCPeered where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.IsVpcPeered" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON IsVPCPeered where+ toJSON = const (Object mempty)++instance ToPath IsVPCPeered where+ toPath = const "/"++instance ToQuery IsVPCPeered where+ toQuery = const mempty++-- | /See:/ 'isVPCPeeredResponse' smart constructor.+data IsVPCPeeredResponse = IsVPCPeeredResponse'+ { _ivprsIsPeered :: !(Maybe Bool)+ , _ivprsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'IsVPCPeeredResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ivprsIsPeered' - Returns @true@ if the Lightsail VPC is peered; otherwise, @false@ .+--+-- * 'ivprsResponseStatus' - -- | The response status code.+isVPCPeeredResponse+ :: Int -- ^ 'ivprsResponseStatus'+ -> IsVPCPeeredResponse+isVPCPeeredResponse pResponseStatus_ =+ IsVPCPeeredResponse'+ { _ivprsIsPeered = Nothing+ , _ivprsResponseStatus = pResponseStatus_+ }++-- | Returns @true@ if the Lightsail VPC is peered; otherwise, @false@ .+ivprsIsPeered :: Lens' IsVPCPeeredResponse (Maybe Bool)+ivprsIsPeered = lens _ivprsIsPeered (\ s a -> s{_ivprsIsPeered = a});++-- | -- | The response status code.+ivprsResponseStatus :: Lens' IsVPCPeeredResponse Int+ivprsResponseStatus = lens _ivprsResponseStatus (\ s a -> s{_ivprsResponseStatus = a});++instance NFData IsVPCPeeredResponse
+ gen/Network/AWS/Lightsail/OpenInstancePublicPorts.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.OpenInstancePublicPorts+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds public ports to an Amazon Lightsail instance.+--+--+module Network.AWS.Lightsail.OpenInstancePublicPorts+ (+ -- * Creating a Request+ openInstancePublicPorts+ , OpenInstancePublicPorts+ -- * Request Lenses+ , oippPortInfo+ , oippInstanceName++ -- * Destructuring the Response+ , openInstancePublicPortsResponse+ , OpenInstancePublicPortsResponse+ -- * Response Lenses+ , oipprsOperation+ , oipprsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'openInstancePublicPorts' smart constructor.+data OpenInstancePublicPorts = OpenInstancePublicPorts'+ { _oippPortInfo :: !PortInfo+ , _oippInstanceName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'OpenInstancePublicPorts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oippPortInfo' - An array of key-value pairs containing information about the port mappings.+--+-- * 'oippInstanceName' - The name of the instance for which you want to open the public ports.+openInstancePublicPorts+ :: PortInfo -- ^ 'oippPortInfo'+ -> Text -- ^ 'oippInstanceName'+ -> OpenInstancePublicPorts+openInstancePublicPorts pPortInfo_ pInstanceName_ =+ OpenInstancePublicPorts'+ { _oippPortInfo = pPortInfo_+ , _oippInstanceName = pInstanceName_+ }++-- | An array of key-value pairs containing information about the port mappings.+oippPortInfo :: Lens' OpenInstancePublicPorts PortInfo+oippPortInfo = lens _oippPortInfo (\ s a -> s{_oippPortInfo = a});++-- | The name of the instance for which you want to open the public ports.+oippInstanceName :: Lens' OpenInstancePublicPorts Text+oippInstanceName = lens _oippInstanceName (\ s a -> s{_oippInstanceName = a});++instance AWSRequest OpenInstancePublicPorts where+ type Rs OpenInstancePublicPorts =+ OpenInstancePublicPortsResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ OpenInstancePublicPortsResponse' <$>+ (x .?> "operation") <*> (pure (fromEnum s)))++instance Hashable OpenInstancePublicPorts++instance NFData OpenInstancePublicPorts++instance ToHeaders OpenInstancePublicPorts where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.OpenInstancePublicPorts" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON OpenInstancePublicPorts where+ toJSON OpenInstancePublicPorts'{..}+ = object+ (catMaybes+ [Just ("portInfo" .= _oippPortInfo),+ Just ("instanceName" .= _oippInstanceName)])++instance ToPath OpenInstancePublicPorts where+ toPath = const "/"++instance ToQuery OpenInstancePublicPorts where+ toQuery = const mempty++-- | /See:/ 'openInstancePublicPortsResponse' smart constructor.+data OpenInstancePublicPortsResponse = OpenInstancePublicPortsResponse'+ { _oipprsOperation :: !(Maybe Operation)+ , _oipprsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'OpenInstancePublicPortsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oipprsOperation' - An array of key-value pairs containing information about the request operation.+--+-- * 'oipprsResponseStatus' - -- | The response status code.+openInstancePublicPortsResponse+ :: Int -- ^ 'oipprsResponseStatus'+ -> OpenInstancePublicPortsResponse+openInstancePublicPortsResponse pResponseStatus_ =+ OpenInstancePublicPortsResponse'+ { _oipprsOperation = Nothing+ , _oipprsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the request operation.+oipprsOperation :: Lens' OpenInstancePublicPortsResponse (Maybe Operation)+oipprsOperation = lens _oipprsOperation (\ s a -> s{_oipprsOperation = a});++-- | -- | The response status code.+oipprsResponseStatus :: Lens' OpenInstancePublicPortsResponse Int+oipprsResponseStatus = lens _oipprsResponseStatus (\ s a -> s{_oipprsResponseStatus = a});++instance NFData OpenInstancePublicPortsResponse
+ gen/Network/AWS/Lightsail/PeerVPC.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.PeerVPC+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Tries to peer the Lightsail VPC with the user's default VPC.+--+--+module Network.AWS.Lightsail.PeerVPC+ (+ -- * Creating a Request+ peerVPC+ , PeerVPC++ -- * Destructuring the Response+ , peerVPCResponse+ , PeerVPCResponse+ -- * Response Lenses+ , pvrsOperation+ , pvrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'peerVPC' smart constructor.+data PeerVPC =+ PeerVPC'+ deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PeerVPC' with the minimum fields required to make a request.+--+peerVPC+ :: PeerVPC+peerVPC = PeerVPC'++instance AWSRequest PeerVPC where+ type Rs PeerVPC = PeerVPCResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ PeerVPCResponse' <$>+ (x .?> "operation") <*> (pure (fromEnum s)))++instance Hashable PeerVPC++instance NFData PeerVPC++instance ToHeaders PeerVPC where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.PeerVpc" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PeerVPC where+ toJSON = const (Object mempty)++instance ToPath PeerVPC where+ toPath = const "/"++instance ToQuery PeerVPC where+ toQuery = const mempty++-- | /See:/ 'peerVPCResponse' smart constructor.+data PeerVPCResponse = PeerVPCResponse'+ { _pvrsOperation :: !(Maybe Operation)+ , _pvrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PeerVPCResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pvrsOperation' - An array of key-value pairs containing information about the request operation.+--+-- * 'pvrsResponseStatus' - -- | The response status code.+peerVPCResponse+ :: Int -- ^ 'pvrsResponseStatus'+ -> PeerVPCResponse+peerVPCResponse pResponseStatus_ =+ PeerVPCResponse'+ { _pvrsOperation = Nothing+ , _pvrsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the request operation.+pvrsOperation :: Lens' PeerVPCResponse (Maybe Operation)+pvrsOperation = lens _pvrsOperation (\ s a -> s{_pvrsOperation = a});++-- | -- | The response status code.+pvrsResponseStatus :: Lens' PeerVPCResponse Int+pvrsResponseStatus = lens _pvrsResponseStatus (\ s a -> s{_pvrsResponseStatus = a});++instance NFData PeerVPCResponse
+ gen/Network/AWS/Lightsail/RebootInstance.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.RebootInstance+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Restarts a specific instance. When your Amazon Lightsail instance is finished rebooting, Lightsail assigns a new public IP address. To use the same IP address after restarting, create a static IP address and attach it to the instance.+--+--+module Network.AWS.Lightsail.RebootInstance+ (+ -- * Creating a Request+ rebootInstance+ , RebootInstance+ -- * Request Lenses+ , riInstanceName++ -- * Destructuring the Response+ , rebootInstanceResponse+ , RebootInstanceResponse+ -- * Response Lenses+ , rirsOperations+ , rirsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'rebootInstance' smart constructor.+newtype RebootInstance = RebootInstance'+ { _riInstanceName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RebootInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riInstanceName' - The name of the instance to reboot.+rebootInstance+ :: Text -- ^ 'riInstanceName'+ -> RebootInstance+rebootInstance pInstanceName_ =+ RebootInstance'+ { _riInstanceName = pInstanceName_+ }++-- | The name of the instance to reboot.+riInstanceName :: Lens' RebootInstance Text+riInstanceName = lens _riInstanceName (\ s a -> s{_riInstanceName = a});++instance AWSRequest RebootInstance where+ type Rs RebootInstance = RebootInstanceResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ RebootInstanceResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable RebootInstance++instance NFData RebootInstance++instance ToHeaders RebootInstance where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.RebootInstance" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON RebootInstance where+ toJSON RebootInstance'{..}+ = object+ (catMaybes+ [Just ("instanceName" .= _riInstanceName)])++instance ToPath RebootInstance where+ toPath = const "/"++instance ToQuery RebootInstance where+ toQuery = const mempty++-- | /See:/ 'rebootInstanceResponse' smart constructor.+data RebootInstanceResponse = RebootInstanceResponse'+ { _rirsOperations :: !(Maybe [Operation])+ , _rirsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RebootInstanceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rirsOperations' - An array of key-value pairs containing information about the request operation.+--+-- * 'rirsResponseStatus' - -- | The response status code.+rebootInstanceResponse+ :: Int -- ^ 'rirsResponseStatus'+ -> RebootInstanceResponse+rebootInstanceResponse pResponseStatus_ =+ RebootInstanceResponse'+ { _rirsOperations = Nothing+ , _rirsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the request operation.+rirsOperations :: Lens' RebootInstanceResponse [Operation]+rirsOperations = lens _rirsOperations (\ s a -> s{_rirsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+rirsResponseStatus :: Lens' RebootInstanceResponse Int+rirsResponseStatus = lens _rirsResponseStatus (\ s a -> s{_rirsResponseStatus = a});++instance NFData RebootInstanceResponse
+ gen/Network/AWS/Lightsail/ReleaseStaticIP.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.ReleaseStaticIP+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a specific static IP from your account.+--+--+module Network.AWS.Lightsail.ReleaseStaticIP+ (+ -- * Creating a Request+ releaseStaticIP+ , ReleaseStaticIP+ -- * Request Lenses+ , rsiStaticIPName++ -- * Destructuring the Response+ , releaseStaticIPResponse+ , ReleaseStaticIPResponse+ -- * Response Lenses+ , rsirsOperations+ , rsirsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'releaseStaticIP' smart constructor.+newtype ReleaseStaticIP = ReleaseStaticIP'+ { _rsiStaticIPName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReleaseStaticIP' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsiStaticIPName' - The name of the static IP to delete.+releaseStaticIP+ :: Text -- ^ 'rsiStaticIPName'+ -> ReleaseStaticIP+releaseStaticIP pStaticIPName_ =+ ReleaseStaticIP'+ { _rsiStaticIPName = pStaticIPName_+ }++-- | The name of the static IP to delete.+rsiStaticIPName :: Lens' ReleaseStaticIP Text+rsiStaticIPName = lens _rsiStaticIPName (\ s a -> s{_rsiStaticIPName = a});++instance AWSRequest ReleaseStaticIP where+ type Rs ReleaseStaticIP = ReleaseStaticIPResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ ReleaseStaticIPResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable ReleaseStaticIP++instance NFData ReleaseStaticIP++instance ToHeaders ReleaseStaticIP where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.ReleaseStaticIp" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ReleaseStaticIP where+ toJSON ReleaseStaticIP'{..}+ = object+ (catMaybes+ [Just ("staticIpName" .= _rsiStaticIPName)])++instance ToPath ReleaseStaticIP where+ toPath = const "/"++instance ToQuery ReleaseStaticIP where+ toQuery = const mempty++-- | /See:/ 'releaseStaticIPResponse' smart constructor.+data ReleaseStaticIPResponse = ReleaseStaticIPResponse'+ { _rsirsOperations :: !(Maybe [Operation])+ , _rsirsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReleaseStaticIPResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsirsOperations' - An array of key-value pairs containing information about the request operation.+--+-- * 'rsirsResponseStatus' - -- | The response status code.+releaseStaticIPResponse+ :: Int -- ^ 'rsirsResponseStatus'+ -> ReleaseStaticIPResponse+releaseStaticIPResponse pResponseStatus_ =+ ReleaseStaticIPResponse'+ { _rsirsOperations = Nothing+ , _rsirsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the request operation.+rsirsOperations :: Lens' ReleaseStaticIPResponse [Operation]+rsirsOperations = lens _rsirsOperations (\ s a -> s{_rsirsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+rsirsResponseStatus :: Lens' ReleaseStaticIPResponse Int+rsirsResponseStatus = lens _rsirsResponseStatus (\ s a -> s{_rsirsResponseStatus = a});++instance NFData ReleaseStaticIPResponse
+ gen/Network/AWS/Lightsail/StartInstance.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.StartInstance+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts a specific Amazon Lightsail instance from a stopped state. To restart an instance, use the reboot instance operation.+--+--+module Network.AWS.Lightsail.StartInstance+ (+ -- * Creating a Request+ startInstance+ , StartInstance+ -- * Request Lenses+ , sInstanceName++ -- * Destructuring the Response+ , startInstanceResponse+ , StartInstanceResponse+ -- * Response Lenses+ , srsOperations+ , srsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'startInstance' smart constructor.+newtype StartInstance = StartInstance'+ { _sInstanceName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StartInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sInstanceName' - The name of the instance (a virtual private server) to start.+startInstance+ :: Text -- ^ 'sInstanceName'+ -> StartInstance+startInstance pInstanceName_ =+ StartInstance'+ { _sInstanceName = pInstanceName_+ }++-- | The name of the instance (a virtual private server) to start.+sInstanceName :: Lens' StartInstance Text+sInstanceName = lens _sInstanceName (\ s a -> s{_sInstanceName = a});++instance AWSRequest StartInstance where+ type Rs StartInstance = StartInstanceResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ StartInstanceResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable StartInstance++instance NFData StartInstance++instance ToHeaders StartInstance where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.StartInstance" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StartInstance where+ toJSON StartInstance'{..}+ = object+ (catMaybes [Just ("instanceName" .= _sInstanceName)])++instance ToPath StartInstance where+ toPath = const "/"++instance ToQuery StartInstance where+ toQuery = const mempty++-- | /See:/ 'startInstanceResponse' smart constructor.+data StartInstanceResponse = StartInstanceResponse'+ { _srsOperations :: !(Maybe [Operation])+ , _srsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StartInstanceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srsOperations' - An array of key-value pairs containing information about the request operation.+--+-- * 'srsResponseStatus' - -- | The response status code.+startInstanceResponse+ :: Int -- ^ 'srsResponseStatus'+ -> StartInstanceResponse+startInstanceResponse pResponseStatus_ =+ StartInstanceResponse'+ { _srsOperations = Nothing+ , _srsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the request operation.+srsOperations :: Lens' StartInstanceResponse [Operation]+srsOperations = lens _srsOperations (\ s a -> s{_srsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+srsResponseStatus :: Lens' StartInstanceResponse Int+srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});++instance NFData StartInstanceResponse
+ gen/Network/AWS/Lightsail/StopInstance.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.StopInstance+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops a specific Amazon Lightsail instance that is currently running.+--+--+module Network.AWS.Lightsail.StopInstance+ (+ -- * Creating a Request+ stopInstance+ , StopInstance+ -- * Request Lenses+ , siInstanceName++ -- * Destructuring the Response+ , stopInstanceResponse+ , StopInstanceResponse+ -- * Response Lenses+ , sirsOperations+ , sirsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'stopInstance' smart constructor.+newtype StopInstance = StopInstance'+ { _siInstanceName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StopInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siInstanceName' - The name of the instance (a virtual private server) to stop.+stopInstance+ :: Text -- ^ 'siInstanceName'+ -> StopInstance+stopInstance pInstanceName_ =+ StopInstance'+ { _siInstanceName = pInstanceName_+ }++-- | The name of the instance (a virtual private server) to stop.+siInstanceName :: Lens' StopInstance Text+siInstanceName = lens _siInstanceName (\ s a -> s{_siInstanceName = a});++instance AWSRequest StopInstance where+ type Rs StopInstance = StopInstanceResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ StopInstanceResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable StopInstance++instance NFData StopInstance++instance ToHeaders StopInstance where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.StopInstance" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StopInstance where+ toJSON StopInstance'{..}+ = object+ (catMaybes+ [Just ("instanceName" .= _siInstanceName)])++instance ToPath StopInstance where+ toPath = const "/"++instance ToQuery StopInstance where+ toQuery = const mempty++-- | /See:/ 'stopInstanceResponse' smart constructor.+data StopInstanceResponse = StopInstanceResponse'+ { _sirsOperations :: !(Maybe [Operation])+ , _sirsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StopInstanceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sirsOperations' - An array of key-value pairs containing information about the request operation.+--+-- * 'sirsResponseStatus' - -- | The response status code.+stopInstanceResponse+ :: Int -- ^ 'sirsResponseStatus'+ -> StopInstanceResponse+stopInstanceResponse pResponseStatus_ =+ StopInstanceResponse'+ { _sirsOperations = Nothing+ , _sirsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the request operation.+sirsOperations :: Lens' StopInstanceResponse [Operation]+sirsOperations = lens _sirsOperations (\ s a -> s{_sirsOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+sirsResponseStatus :: Lens' StopInstanceResponse Int+sirsResponseStatus = lens _sirsResponseStatus (\ s a -> s{_sirsResponseStatus = a});++instance NFData StopInstanceResponse
+ gen/Network/AWS/Lightsail/Types.hs view
@@ -0,0 +1,384 @@+{-# LANGUAGE OverloadedStrings #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.Types+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.Lightsail.Types+ (+ -- * Service Configuration+ lightsail++ -- * Errors+ , _AccessDeniedException+ , _AccountSetupInProgressException+ , _NotFoundException+ , _OperationFailureException+ , _ServiceException+ , _UnauthenticatedException+ , _InvalidInputException++ -- * AccessDirection+ , AccessDirection (..)++ -- * BlueprintType+ , BlueprintType (..)++ -- * InstanceAccessProtocol+ , InstanceAccessProtocol (..)++ -- * InstanceMetricName+ , InstanceMetricName (..)++ -- * InstanceSnapshotState+ , InstanceSnapshotState (..)++ -- * MetricStatistic+ , MetricStatistic (..)++ -- * MetricUnit+ , MetricUnit (..)++ -- * NetworkProtocol+ , NetworkProtocol (..)++ -- * OperationStatus+ , OperationStatus (..)++ -- * OperationType+ , OperationType (..)++ -- * PortAccessType+ , PortAccessType (..)++ -- * PortState+ , PortState (..)++ -- * RegionName+ , RegionName (..)++ -- * ResourceType+ , ResourceType (..)++ -- * AvailabilityZone+ , AvailabilityZone+ , availabilityZone+ , azState+ , azZoneName++ -- * Blueprint+ , Blueprint+ , blueprint+ , bVersionCode+ , bGroup+ , bMinPower+ , bProductURL+ , bLicenseURL+ , bName+ , bVersion+ , bBlueprintId+ , bType+ , bIsActive+ , bDescription++ -- * Bundle+ , Bundle+ , bundle+ , bunCpuCount+ , bunTransferPerMonthInGb+ , bunBundleId+ , bunInstanceType+ , bunName+ , bunPower+ , bunDiskSizeInGb+ , bunPrice+ , bunIsActive+ , bunRamSizeInGb++ -- * Disk+ , Disk+ , disk+ , dResourceType+ , dArn+ , dPath+ , dCreatedAt+ , dLocation+ , dIops+ , dIsAttached+ , dAttachmentState+ , dName+ , dSizeInGb+ , dSupportCode+ , dIsSystemDisk+ , dAttachedTo+ , dGbInUse++ -- * Domain+ , Domain+ , domain+ , domResourceType+ , domDomainEntries+ , domArn+ , domCreatedAt+ , domLocation+ , domName+ , domSupportCode++ -- * DomainEntry+ , DomainEntry+ , domainEntry+ , deName+ , deId+ , deOptions+ , deType+ , deTarget++ -- * Instance+ , Instance+ , instance'+ , iState+ , iIpv6Address+ , iResourceType+ , iArn+ , iCreatedAt+ , iLocation+ , iSshKeyName+ , iUsername+ , iNetworking+ , iBundleId+ , iName+ , iSupportCode+ , iBlueprintId+ , iPrivateIPAddress+ , iBlueprintName+ , iIsStaticIP+ , iPublicIPAddress+ , iHardware++ -- * InstanceAccessDetails+ , InstanceAccessDetails+ , instanceAccessDetails+ , iadCertKey+ , iadIpAddress+ , iadPrivateKey+ , iadExpiresAt+ , iadUsername+ , iadProtocol+ , iadPassword+ , iadInstanceName++ -- * InstanceHardware+ , InstanceHardware+ , instanceHardware+ , ihCpuCount+ , ihDisks+ , ihRamSizeInGb++ -- * InstanceNetworking+ , InstanceNetworking+ , instanceNetworking+ , inMonthlyTransfer+ , inPorts++ -- * InstancePortInfo+ , InstancePortInfo+ , instancePortInfo+ , ipiFromPort+ , ipiCommonName+ , ipiProtocol+ , ipiAccessDirection+ , ipiAccessType+ , ipiToPort+ , ipiAccessFrom++ -- * InstanceSnapshot+ , InstanceSnapshot+ , instanceSnapshot+ , insFromBlueprintId+ , insState+ , insResourceType+ , insArn+ , insCreatedAt+ , insLocation+ , insProgress+ , insName+ , insFromBundleId+ , insSizeInGb+ , insSupportCode+ , insFromInstanceARN+ , insFromInstanceName++ -- * InstanceState+ , InstanceState+ , instanceState+ , isName+ , isCode++ -- * KeyPair+ , KeyPair+ , keyPair+ , kpResourceType+ , kpArn+ , kpCreatedAt+ , kpLocation+ , kpFingerprint+ , kpName+ , kpSupportCode++ -- * MetricDatapoint+ , MetricDatapoint+ , metricDatapoint+ , mdSampleCount+ , mdMaximum+ , mdAverage+ , mdMinimum+ , mdSum+ , mdTimestamp+ , mdUnit++ -- * MonthlyTransfer+ , MonthlyTransfer+ , monthlyTransfer+ , mtGbPerMonthAllocated++ -- * Operation+ , Operation+ , operation+ , oStatus+ , oOperationDetails+ , oResourceType+ , oCreatedAt+ , oResourceName+ , oLocation+ , oStatusChangedAt+ , oErrorDetails+ , oErrorCode+ , oId+ , oOperationType+ , oIsTerminal++ -- * PortInfo+ , PortInfo+ , portInfo+ , piFromPort+ , piProtocol+ , piToPort++ -- * RegionInfo+ , RegionInfo+ , regionInfo+ , riAvailabilityZones+ , riName+ , riDisplayName+ , riContinentCode+ , riDescription++ -- * ResourceLocation+ , ResourceLocation+ , resourceLocation+ , rlRegionName+ , rlAvailabilityZone++ -- * StaticIP+ , StaticIP+ , staticIP+ , siIpAddress+ , siResourceType+ , siArn+ , siCreatedAt+ , siLocation+ , siIsAttached+ , siName+ , siSupportCode+ , siAttachedTo+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Lightsail.Types.Sum+import Network.AWS.Prelude+import Network.AWS.Sign.V4++-- | API version @2016-11-28@ of the Amazon Lightsail SDK configuration.+lightsail :: Service+lightsail =+ Service+ { _svcAbbrev = "Lightsail"+ , _svcSigner = v4+ , _svcPrefix = "lightsail"+ , _svcVersion = "2016-11-28"+ , _svcEndpoint = defaultEndpoint lightsail+ , _svcTimeout = Just 70+ , _svcCheck = statusSuccess+ , _svcError = parseJSONError "Lightsail"+ , _svcRetry = retry+ }+ where+ retry =+ Exponential+ { _retryBase = 5.0e-2+ , _retryGrowth = 2+ , _retryAttempts = 5+ , _retryCheck = check+ }+ check e+ | has (hasStatus 429) e = Just "too_many_requests"+ | has (hasCode "ThrottlingException" . hasStatus 400) e =+ Just "throttling_exception"+ | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+ | has (hasStatus 504) e = Just "gateway_timeout"+ | has (hasStatus 502) e = Just "bad_gateway"+ | has (hasStatus 503) e = Just "service_unavailable"+ | has (hasStatus 500) e = Just "general_server_error"+ | has (hasStatus 509) e = Just "limit_exceeded"+ | otherwise = Nothing++-- | Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource.+--+--+_AccessDeniedException :: AsError a => Getting (First ServiceError) a ServiceError+_AccessDeniedException = _ServiceError . hasCode "AccessDeniedException"++-- | Lightsail throws this exception when an account is still in the setup in progress state.+--+--+_AccountSetupInProgressException :: AsError a => Getting (First ServiceError) a ServiceError+_AccountSetupInProgressException =+ _ServiceError . hasCode "AccountSetupInProgressException"++-- | Lightsail throws this exception when it cannot find a resource.+--+--+_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_NotFoundException = _ServiceError . hasCode "NotFoundException"++-- | Lightsail throws this exception when an operation fails to execute.+--+--+_OperationFailureException :: AsError a => Getting (First ServiceError) a ServiceError+_OperationFailureException =+ _ServiceError . hasCode "OperationFailureException"++-- | A general service exception.+--+--+_ServiceException :: AsError a => Getting (First ServiceError) a ServiceError+_ServiceException = _ServiceError . hasCode "ServiceException"++-- | Lightsail throws this exception when the user has not been authenticated.+--+--+_UnauthenticatedException :: AsError a => Getting (First ServiceError) a ServiceError+_UnauthenticatedException = _ServiceError . hasCode "UnauthenticatedException"++-- | Lightsail throws this exception when user input does not conform to the validation rules of an input field.+--+--+_InvalidInputException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidInputException = _ServiceError . hasCode "InvalidInputException"
+ gen/Network/AWS/Lightsail/Types/Product.hs view
@@ -0,0 +1,1911 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.Types.Product+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.Lightsail.Types.Product where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types.Sum+import Network.AWS.Prelude++-- | Describes an Availability Zone.+--+--+--+-- /See:/ 'availabilityZone' smart constructor.+data AvailabilityZone = AvailabilityZone'+ { _azState :: !(Maybe Text)+ , _azZoneName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AvailabilityZone' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'azState' - The state of the Availability Zone.+--+-- * 'azZoneName' - The name of the Availability Zone.+availabilityZone+ :: AvailabilityZone+availabilityZone =+ AvailabilityZone'+ { _azState = Nothing+ , _azZoneName = Nothing+ }++-- | The state of the Availability Zone.+azState :: Lens' AvailabilityZone (Maybe Text)+azState = lens _azState (\ s a -> s{_azState = a});++-- | The name of the Availability Zone.+azZoneName :: Lens' AvailabilityZone (Maybe Text)+azZoneName = lens _azZoneName (\ s a -> s{_azZoneName = a});++instance FromJSON AvailabilityZone where+ parseJSON+ = withObject "AvailabilityZone"+ (\ x ->+ AvailabilityZone' <$>+ (x .:? "state") <*> (x .:? "zoneName"))++instance Hashable AvailabilityZone++instance NFData AvailabilityZone++-- | Describes a blueprint (a virtual private server image).+--+--+--+-- /See:/ 'blueprint' smart constructor.+data Blueprint = Blueprint'+ { _bVersionCode :: !(Maybe Text)+ , _bGroup :: !(Maybe Text)+ , _bMinPower :: !(Maybe Int)+ , _bProductURL :: !(Maybe Text)+ , _bLicenseURL :: !(Maybe Text)+ , _bName :: !(Maybe Text)+ , _bVersion :: !(Maybe Text)+ , _bBlueprintId :: !(Maybe Text)+ , _bType :: !(Maybe BlueprintType)+ , _bIsActive :: !(Maybe Bool)+ , _bDescription :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Blueprint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bVersionCode' - The version code.+--+-- * 'bGroup' - The group name of the blueprint (e.g., @amazon-linux@ ).+--+-- * 'bMinPower' - The minimum machine size required to run this blueprint. @0@ indicates that the blueprint runs on all instances.+--+-- * 'bProductURL' - The product URL to learn more about the image or blueprint.+--+-- * 'bLicenseURL' - The end-user license agreement URL for the image or blueprint.+--+-- * 'bName' - The friendly name of the blueprint (e.g., @Amazon Linux@ ).+--+-- * 'bVersion' - The version number of the operating system, application, or stack (e.g., @2016.03.0@ ).+--+-- * 'bBlueprintId' - The ID for the virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ).+--+-- * 'bType' - The type of the blueprint (e.g., @os@ or @app@ ).+--+-- * 'bIsActive' - A Boolean value indicating whether the blueprint is active. When you update your blueprints, you will inactivate old blueprints and keep the most recent versions active.+--+-- * 'bDescription' - The description of the blueprint.+blueprint+ :: Blueprint+blueprint =+ Blueprint'+ { _bVersionCode = Nothing+ , _bGroup = Nothing+ , _bMinPower = Nothing+ , _bProductURL = Nothing+ , _bLicenseURL = Nothing+ , _bName = Nothing+ , _bVersion = Nothing+ , _bBlueprintId = Nothing+ , _bType = Nothing+ , _bIsActive = Nothing+ , _bDescription = Nothing+ }++-- | The version code.+bVersionCode :: Lens' Blueprint (Maybe Text)+bVersionCode = lens _bVersionCode (\ s a -> s{_bVersionCode = a});++-- | The group name of the blueprint (e.g., @amazon-linux@ ).+bGroup :: Lens' Blueprint (Maybe Text)+bGroup = lens _bGroup (\ s a -> s{_bGroup = a});++-- | The minimum machine size required to run this blueprint. @0@ indicates that the blueprint runs on all instances.+bMinPower :: Lens' Blueprint (Maybe Int)+bMinPower = lens _bMinPower (\ s a -> s{_bMinPower = a});++-- | The product URL to learn more about the image or blueprint.+bProductURL :: Lens' Blueprint (Maybe Text)+bProductURL = lens _bProductURL (\ s a -> s{_bProductURL = a});++-- | The end-user license agreement URL for the image or blueprint.+bLicenseURL :: Lens' Blueprint (Maybe Text)+bLicenseURL = lens _bLicenseURL (\ s a -> s{_bLicenseURL = a});++-- | The friendly name of the blueprint (e.g., @Amazon Linux@ ).+bName :: Lens' Blueprint (Maybe Text)+bName = lens _bName (\ s a -> s{_bName = a});++-- | The version number of the operating system, application, or stack (e.g., @2016.03.0@ ).+bVersion :: Lens' Blueprint (Maybe Text)+bVersion = lens _bVersion (\ s a -> s{_bVersion = a});++-- | The ID for the virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ).+bBlueprintId :: Lens' Blueprint (Maybe Text)+bBlueprintId = lens _bBlueprintId (\ s a -> s{_bBlueprintId = a});++-- | The type of the blueprint (e.g., @os@ or @app@ ).+bType :: Lens' Blueprint (Maybe BlueprintType)+bType = lens _bType (\ s a -> s{_bType = a});++-- | A Boolean value indicating whether the blueprint is active. When you update your blueprints, you will inactivate old blueprints and keep the most recent versions active.+bIsActive :: Lens' Blueprint (Maybe Bool)+bIsActive = lens _bIsActive (\ s a -> s{_bIsActive = a});++-- | The description of the blueprint.+bDescription :: Lens' Blueprint (Maybe Text)+bDescription = lens _bDescription (\ s a -> s{_bDescription = a});++instance FromJSON Blueprint where+ parseJSON+ = withObject "Blueprint"+ (\ x ->+ Blueprint' <$>+ (x .:? "versionCode") <*> (x .:? "group") <*>+ (x .:? "minPower")+ <*> (x .:? "productUrl")+ <*> (x .:? "licenseUrl")+ <*> (x .:? "name")+ <*> (x .:? "version")+ <*> (x .:? "blueprintId")+ <*> (x .:? "type")+ <*> (x .:? "isActive")+ <*> (x .:? "description"))++instance Hashable Blueprint++instance NFData Blueprint++-- | Describes a bundle, which is a set of specs describing your virtual private server (or /instance/ ).+--+--+--+-- /See:/ 'bundle' smart constructor.+data Bundle = Bundle'+ { _bunCpuCount :: !(Maybe Int)+ , _bunTransferPerMonthInGb :: !(Maybe Int)+ , _bunBundleId :: !(Maybe Text)+ , _bunInstanceType :: !(Maybe Text)+ , _bunName :: !(Maybe Text)+ , _bunPower :: !(Maybe Int)+ , _bunDiskSizeInGb :: !(Maybe Int)+ , _bunPrice :: !(Maybe Double)+ , _bunIsActive :: !(Maybe Bool)+ , _bunRamSizeInGb :: !(Maybe Double)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Bundle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bunCpuCount' - The number of vCPUs included in the bundle (e.g., @2@ ).+--+-- * 'bunTransferPerMonthInGb' - The data transfer rate per month in GB (e.g., @2000@ ).+--+-- * 'bunBundleId' - The bundle ID (e.g., @micro_1_0@ ).+--+-- * 'bunInstanceType' - The Amazon EC2 instance type (e.g., @t2.micro@ ).+--+-- * 'bunName' - A friendly name for the bundle (e.g., @Micro@ ).+--+-- * 'bunPower' - The power of the bundle (e.g., @500@ ).+--+-- * 'bunDiskSizeInGb' - The size of the SSD (e.g., @30@ ).+--+-- * 'bunPrice' - The price in US dollars (e.g., @5.0@ ).+--+-- * 'bunIsActive' - A Boolean value indicating whether the bundle is active.+--+-- * 'bunRamSizeInGb' - The amount of RAM in GB (e.g., @2.0@ ).+bundle+ :: Bundle+bundle =+ Bundle'+ { _bunCpuCount = Nothing+ , _bunTransferPerMonthInGb = Nothing+ , _bunBundleId = Nothing+ , _bunInstanceType = Nothing+ , _bunName = Nothing+ , _bunPower = Nothing+ , _bunDiskSizeInGb = Nothing+ , _bunPrice = Nothing+ , _bunIsActive = Nothing+ , _bunRamSizeInGb = Nothing+ }++-- | The number of vCPUs included in the bundle (e.g., @2@ ).+bunCpuCount :: Lens' Bundle (Maybe Int)+bunCpuCount = lens _bunCpuCount (\ s a -> s{_bunCpuCount = a});++-- | The data transfer rate per month in GB (e.g., @2000@ ).+bunTransferPerMonthInGb :: Lens' Bundle (Maybe Int)+bunTransferPerMonthInGb = lens _bunTransferPerMonthInGb (\ s a -> s{_bunTransferPerMonthInGb = a});++-- | The bundle ID (e.g., @micro_1_0@ ).+bunBundleId :: Lens' Bundle (Maybe Text)+bunBundleId = lens _bunBundleId (\ s a -> s{_bunBundleId = a});++-- | The Amazon EC2 instance type (e.g., @t2.micro@ ).+bunInstanceType :: Lens' Bundle (Maybe Text)+bunInstanceType = lens _bunInstanceType (\ s a -> s{_bunInstanceType = a});++-- | A friendly name for the bundle (e.g., @Micro@ ).+bunName :: Lens' Bundle (Maybe Text)+bunName = lens _bunName (\ s a -> s{_bunName = a});++-- | The power of the bundle (e.g., @500@ ).+bunPower :: Lens' Bundle (Maybe Int)+bunPower = lens _bunPower (\ s a -> s{_bunPower = a});++-- | The size of the SSD (e.g., @30@ ).+bunDiskSizeInGb :: Lens' Bundle (Maybe Int)+bunDiskSizeInGb = lens _bunDiskSizeInGb (\ s a -> s{_bunDiskSizeInGb = a});++-- | The price in US dollars (e.g., @5.0@ ).+bunPrice :: Lens' Bundle (Maybe Double)+bunPrice = lens _bunPrice (\ s a -> s{_bunPrice = a});++-- | A Boolean value indicating whether the bundle is active.+bunIsActive :: Lens' Bundle (Maybe Bool)+bunIsActive = lens _bunIsActive (\ s a -> s{_bunIsActive = a});++-- | The amount of RAM in GB (e.g., @2.0@ ).+bunRamSizeInGb :: Lens' Bundle (Maybe Double)+bunRamSizeInGb = lens _bunRamSizeInGb (\ s a -> s{_bunRamSizeInGb = a});++instance FromJSON Bundle where+ parseJSON+ = withObject "Bundle"+ (\ x ->+ Bundle' <$>+ (x .:? "cpuCount") <*> (x .:? "transferPerMonthInGb")+ <*> (x .:? "bundleId")+ <*> (x .:? "instanceType")+ <*> (x .:? "name")+ <*> (x .:? "power")+ <*> (x .:? "diskSizeInGb")+ <*> (x .:? "price")+ <*> (x .:? "isActive")+ <*> (x .:? "ramSizeInGb"))++instance Hashable Bundle++instance NFData Bundle++-- | Describes the hard disk (an SSD).+--+--+--+-- /See:/ 'disk' smart constructor.+data Disk = Disk'+ { _dResourceType :: !(Maybe ResourceType)+ , _dArn :: !(Maybe Text)+ , _dPath :: !(Maybe Text)+ , _dCreatedAt :: !(Maybe POSIX)+ , _dLocation :: !(Maybe ResourceLocation)+ , _dIops :: !(Maybe Int)+ , _dIsAttached :: !(Maybe Bool)+ , _dAttachmentState :: !(Maybe Text)+ , _dName :: !(Maybe Text)+ , _dSizeInGb :: !(Maybe Int)+ , _dSupportCode :: !(Maybe Text)+ , _dIsSystemDisk :: !(Maybe Bool)+ , _dAttachedTo :: !(Maybe Text)+ , _dGbInUse :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Disk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dResourceType' - The resource type of the disk.+--+-- * 'dArn' - The Amazon Resource Name (ARN) of the disk.+--+-- * 'dPath' - The disk path.+--+-- * 'dCreatedAt' - The date when the disk was created.+--+-- * 'dLocation' - The region and Availability Zone where the disk is located.+--+-- * 'dIops' - The input/output operations per second (IOPS) of the disk.+--+-- * 'dIsAttached' - A Boolean value indicating whether the disk is attached.+--+-- * 'dAttachmentState' - The attachment state of the disk.+--+-- * 'dName' - The name of the disk.+--+-- * 'dSizeInGb' - The size of the disk in GB.+--+-- * 'dSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'dIsSystemDisk' - A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).+--+-- * 'dAttachedTo' - The resources to which the disk is attached.+--+-- * 'dGbInUse' - The number of GB in use by the disk.+disk+ :: Disk+disk =+ Disk'+ { _dResourceType = Nothing+ , _dArn = Nothing+ , _dPath = Nothing+ , _dCreatedAt = Nothing+ , _dLocation = Nothing+ , _dIops = Nothing+ , _dIsAttached = Nothing+ , _dAttachmentState = Nothing+ , _dName = Nothing+ , _dSizeInGb = Nothing+ , _dSupportCode = Nothing+ , _dIsSystemDisk = Nothing+ , _dAttachedTo = Nothing+ , _dGbInUse = Nothing+ }++-- | The resource type of the disk.+dResourceType :: Lens' Disk (Maybe ResourceType)+dResourceType = lens _dResourceType (\ s a -> s{_dResourceType = a});++-- | The Amazon Resource Name (ARN) of the disk.+dArn :: Lens' Disk (Maybe Text)+dArn = lens _dArn (\ s a -> s{_dArn = a});++-- | The disk path.+dPath :: Lens' Disk (Maybe Text)+dPath = lens _dPath (\ s a -> s{_dPath = a});++-- | The date when the disk was created.+dCreatedAt :: Lens' Disk (Maybe UTCTime)+dCreatedAt = lens _dCreatedAt (\ s a -> s{_dCreatedAt = a}) . mapping _Time;++-- | The region and Availability Zone where the disk is located.+dLocation :: Lens' Disk (Maybe ResourceLocation)+dLocation = lens _dLocation (\ s a -> s{_dLocation = a});++-- | The input/output operations per second (IOPS) of the disk.+dIops :: Lens' Disk (Maybe Int)+dIops = lens _dIops (\ s a -> s{_dIops = a});++-- | A Boolean value indicating whether the disk is attached.+dIsAttached :: Lens' Disk (Maybe Bool)+dIsAttached = lens _dIsAttached (\ s a -> s{_dIsAttached = a});++-- | The attachment state of the disk.+dAttachmentState :: Lens' Disk (Maybe Text)+dAttachmentState = lens _dAttachmentState (\ s a -> s{_dAttachmentState = a});++-- | The name of the disk.+dName :: Lens' Disk (Maybe Text)+dName = lens _dName (\ s a -> s{_dName = a});++-- | The size of the disk in GB.+dSizeInGb :: Lens' Disk (Maybe Int)+dSizeInGb = lens _dSizeInGb (\ s a -> s{_dSizeInGb = a});++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+dSupportCode :: Lens' Disk (Maybe Text)+dSupportCode = lens _dSupportCode (\ s a -> s{_dSupportCode = a});++-- | A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).+dIsSystemDisk :: Lens' Disk (Maybe Bool)+dIsSystemDisk = lens _dIsSystemDisk (\ s a -> s{_dIsSystemDisk = a});++-- | The resources to which the disk is attached.+dAttachedTo :: Lens' Disk (Maybe Text)+dAttachedTo = lens _dAttachedTo (\ s a -> s{_dAttachedTo = a});++-- | The number of GB in use by the disk.+dGbInUse :: Lens' Disk (Maybe Int)+dGbInUse = lens _dGbInUse (\ s a -> s{_dGbInUse = a});++instance FromJSON Disk where+ parseJSON+ = withObject "Disk"+ (\ x ->+ Disk' <$>+ (x .:? "resourceType") <*> (x .:? "arn") <*>+ (x .:? "path")+ <*> (x .:? "createdAt")+ <*> (x .:? "location")+ <*> (x .:? "iops")+ <*> (x .:? "isAttached")+ <*> (x .:? "attachmentState")+ <*> (x .:? "name")+ <*> (x .:? "sizeInGb")+ <*> (x .:? "supportCode")+ <*> (x .:? "isSystemDisk")+ <*> (x .:? "attachedTo")+ <*> (x .:? "gbInUse"))++instance Hashable Disk++instance NFData Disk++-- | Describes a domain where you are storing recordsets in Lightsail.+--+--+--+-- /See:/ 'domain' smart constructor.+data Domain = Domain'+ { _domResourceType :: !(Maybe ResourceType)+ , _domDomainEntries :: !(Maybe [DomainEntry])+ , _domArn :: !(Maybe Text)+ , _domCreatedAt :: !(Maybe POSIX)+ , _domLocation :: !(Maybe ResourceLocation)+ , _domName :: !(Maybe Text)+ , _domSupportCode :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Domain' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'domResourceType' - The resource type.+--+-- * 'domDomainEntries' - An array of key-value pairs containing information about the domain entries.+--+-- * 'domArn' - The Amazon Resource Name (ARN) of the domain recordset (e.g., @arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE@ ).+--+-- * 'domCreatedAt' - The date when the domain recordset was created.+--+-- * 'domLocation' - The AWS Region and Availability Zones where the domain recordset was created.+--+-- * 'domName' - The name of the domain.+--+-- * 'domSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+domain+ :: Domain+domain =+ Domain'+ { _domResourceType = Nothing+ , _domDomainEntries = Nothing+ , _domArn = Nothing+ , _domCreatedAt = Nothing+ , _domLocation = Nothing+ , _domName = Nothing+ , _domSupportCode = Nothing+ }++-- | The resource type.+domResourceType :: Lens' Domain (Maybe ResourceType)+domResourceType = lens _domResourceType (\ s a -> s{_domResourceType = a});++-- | An array of key-value pairs containing information about the domain entries.+domDomainEntries :: Lens' Domain [DomainEntry]+domDomainEntries = lens _domDomainEntries (\ s a -> s{_domDomainEntries = a}) . _Default . _Coerce;++-- | The Amazon Resource Name (ARN) of the domain recordset (e.g., @arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE@ ).+domArn :: Lens' Domain (Maybe Text)+domArn = lens _domArn (\ s a -> s{_domArn = a});++-- | The date when the domain recordset was created.+domCreatedAt :: Lens' Domain (Maybe UTCTime)+domCreatedAt = lens _domCreatedAt (\ s a -> s{_domCreatedAt = a}) . mapping _Time;++-- | The AWS Region and Availability Zones where the domain recordset was created.+domLocation :: Lens' Domain (Maybe ResourceLocation)+domLocation = lens _domLocation (\ s a -> s{_domLocation = a});++-- | The name of the domain.+domName :: Lens' Domain (Maybe Text)+domName = lens _domName (\ s a -> s{_domName = a});++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+domSupportCode :: Lens' Domain (Maybe Text)+domSupportCode = lens _domSupportCode (\ s a -> s{_domSupportCode = a});++instance FromJSON Domain where+ parseJSON+ = withObject "Domain"+ (\ x ->+ Domain' <$>+ (x .:? "resourceType") <*>+ (x .:? "domainEntries" .!= mempty)+ <*> (x .:? "arn")+ <*> (x .:? "createdAt")+ <*> (x .:? "location")+ <*> (x .:? "name")+ <*> (x .:? "supportCode"))++instance Hashable Domain++instance NFData Domain++-- | Describes a domain recordset entry.+--+--+--+-- /See:/ 'domainEntry' smart constructor.+data DomainEntry = DomainEntry'+ { _deName :: !(Maybe Text)+ , _deId :: !(Maybe Text)+ , _deOptions :: !(Maybe (Map Text Text))+ , _deType :: !(Maybe Text)+ , _deTarget :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DomainEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'deName' - The name of the domain.+--+-- * 'deId' - The ID of the domain recordset entry.+--+-- * 'deOptions' - The options for the domain entry.+--+-- * 'deType' - The type of domain entry (e.g., @SOA@ or @NS@ ).+--+-- * 'deTarget' - The target AWS name server (e.g., @ns-111.awsdns-22.com.@ ).+domainEntry+ :: DomainEntry+domainEntry =+ DomainEntry'+ { _deName = Nothing+ , _deId = Nothing+ , _deOptions = Nothing+ , _deType = Nothing+ , _deTarget = Nothing+ }++-- | The name of the domain.+deName :: Lens' DomainEntry (Maybe Text)+deName = lens _deName (\ s a -> s{_deName = a});++-- | The ID of the domain recordset entry.+deId :: Lens' DomainEntry (Maybe Text)+deId = lens _deId (\ s a -> s{_deId = a});++-- | The options for the domain entry.+deOptions :: Lens' DomainEntry (HashMap Text Text)+deOptions = lens _deOptions (\ s a -> s{_deOptions = a}) . _Default . _Map;++-- | The type of domain entry (e.g., @SOA@ or @NS@ ).+deType :: Lens' DomainEntry (Maybe Text)+deType = lens _deType (\ s a -> s{_deType = a});++-- | The target AWS name server (e.g., @ns-111.awsdns-22.com.@ ).+deTarget :: Lens' DomainEntry (Maybe Text)+deTarget = lens _deTarget (\ s a -> s{_deTarget = a});++instance FromJSON DomainEntry where+ parseJSON+ = withObject "DomainEntry"+ (\ x ->+ DomainEntry' <$>+ (x .:? "name") <*> (x .:? "id") <*>+ (x .:? "options" .!= mempty)+ <*> (x .:? "type")+ <*> (x .:? "target"))++instance Hashable DomainEntry++instance NFData DomainEntry++instance ToJSON DomainEntry where+ toJSON DomainEntry'{..}+ = object+ (catMaybes+ [("name" .=) <$> _deName, ("id" .=) <$> _deId,+ ("options" .=) <$> _deOptions,+ ("type" .=) <$> _deType,+ ("target" .=) <$> _deTarget])++-- | Describes an instance (a virtual private server).+--+--+--+-- /See:/ 'instance'' smart constructor.+data Instance = Instance'+ { _iState :: !(Maybe InstanceState)+ , _iIpv6Address :: !(Maybe Text)+ , _iResourceType :: !(Maybe ResourceType)+ , _iArn :: !(Maybe Text)+ , _iCreatedAt :: !(Maybe POSIX)+ , _iLocation :: !(Maybe ResourceLocation)+ , _iSshKeyName :: !(Maybe Text)+ , _iUsername :: !(Maybe Text)+ , _iNetworking :: !(Maybe InstanceNetworking)+ , _iBundleId :: !(Maybe Text)+ , _iName :: !(Maybe Text)+ , _iSupportCode :: !(Maybe Text)+ , _iBlueprintId :: !(Maybe Text)+ , _iPrivateIPAddress :: !(Maybe Text)+ , _iBlueprintName :: !(Maybe Text)+ , _iIsStaticIP :: !(Maybe Bool)+ , _iPublicIPAddress :: !(Maybe Text)+ , _iHardware :: !(Maybe InstanceHardware)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Instance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iState' - The status code and the state (e.g., @running@ ) for the instance.+--+-- * 'iIpv6Address' - The IPv6 address of the instance.+--+-- * 'iResourceType' - The type of resource (usually @Instance@ ).+--+-- * 'iArn' - The Amazon Resource Name (ARN) of the instance (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE@ ).+--+-- * 'iCreatedAt' - The timestamp when the instance was created (e.g., @1479734909.17@ ).+--+-- * 'iLocation' - The region name and availability zone where the instance is located.+--+-- * 'iSshKeyName' - The name of the SSH key being used to connect to the instance (e.g., @LightsailDefaultKeyPair@ ).+--+-- * 'iUsername' - The user name for connecting to the instance (e.g., @ec2-user@ ).+--+-- * 'iNetworking' - Information about the public ports and monthly data transfer rates for the instance.+--+-- * 'iBundleId' - The bundle for the instance (e.g., @micro_1_0@ ).+--+-- * 'iName' - The name the user gave the instance (e.g., @Amazon_Linux-1GB-Virginia-1@ ).+--+-- * 'iSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'iBlueprintId' - The blueprint ID (e.g., @os_amlinux_2016_03@ ).+--+-- * 'iPrivateIPAddress' - The private IP address of the instance.+--+-- * 'iBlueprintName' - The friendly name of the blueprint (e.g., @Amazon Linux@ ).+--+-- * 'iIsStaticIP' - A Boolean value indicating whether this instance has a static IP assigned to it.+--+-- * 'iPublicIPAddress' - The public IP address of the instance.+--+-- * 'iHardware' - The size of the vCPU and the amount of RAM for the instance.+instance'+ :: Instance+instance' =+ Instance'+ { _iState = Nothing+ , _iIpv6Address = Nothing+ , _iResourceType = Nothing+ , _iArn = Nothing+ , _iCreatedAt = Nothing+ , _iLocation = Nothing+ , _iSshKeyName = Nothing+ , _iUsername = Nothing+ , _iNetworking = Nothing+ , _iBundleId = Nothing+ , _iName = Nothing+ , _iSupportCode = Nothing+ , _iBlueprintId = Nothing+ , _iPrivateIPAddress = Nothing+ , _iBlueprintName = Nothing+ , _iIsStaticIP = Nothing+ , _iPublicIPAddress = Nothing+ , _iHardware = Nothing+ }++-- | The status code and the state (e.g., @running@ ) for the instance.+iState :: Lens' Instance (Maybe InstanceState)+iState = lens _iState (\ s a -> s{_iState = a});++-- | The IPv6 address of the instance.+iIpv6Address :: Lens' Instance (Maybe Text)+iIpv6Address = lens _iIpv6Address (\ s a -> s{_iIpv6Address = a});++-- | The type of resource (usually @Instance@ ).+iResourceType :: Lens' Instance (Maybe ResourceType)+iResourceType = lens _iResourceType (\ s a -> s{_iResourceType = a});++-- | The Amazon Resource Name (ARN) of the instance (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE@ ).+iArn :: Lens' Instance (Maybe Text)+iArn = lens _iArn (\ s a -> s{_iArn = a});++-- | The timestamp when the instance was created (e.g., @1479734909.17@ ).+iCreatedAt :: Lens' Instance (Maybe UTCTime)+iCreatedAt = lens _iCreatedAt (\ s a -> s{_iCreatedAt = a}) . mapping _Time;++-- | The region name and availability zone where the instance is located.+iLocation :: Lens' Instance (Maybe ResourceLocation)+iLocation = lens _iLocation (\ s a -> s{_iLocation = a});++-- | The name of the SSH key being used to connect to the instance (e.g., @LightsailDefaultKeyPair@ ).+iSshKeyName :: Lens' Instance (Maybe Text)+iSshKeyName = lens _iSshKeyName (\ s a -> s{_iSshKeyName = a});++-- | The user name for connecting to the instance (e.g., @ec2-user@ ).+iUsername :: Lens' Instance (Maybe Text)+iUsername = lens _iUsername (\ s a -> s{_iUsername = a});++-- | Information about the public ports and monthly data transfer rates for the instance.+iNetworking :: Lens' Instance (Maybe InstanceNetworking)+iNetworking = lens _iNetworking (\ s a -> s{_iNetworking = a});++-- | The bundle for the instance (e.g., @micro_1_0@ ).+iBundleId :: Lens' Instance (Maybe Text)+iBundleId = lens _iBundleId (\ s a -> s{_iBundleId = a});++-- | The name the user gave the instance (e.g., @Amazon_Linux-1GB-Virginia-1@ ).+iName :: Lens' Instance (Maybe Text)+iName = lens _iName (\ s a -> s{_iName = a});++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+iSupportCode :: Lens' Instance (Maybe Text)+iSupportCode = lens _iSupportCode (\ s a -> s{_iSupportCode = a});++-- | The blueprint ID (e.g., @os_amlinux_2016_03@ ).+iBlueprintId :: Lens' Instance (Maybe Text)+iBlueprintId = lens _iBlueprintId (\ s a -> s{_iBlueprintId = a});++-- | The private IP address of the instance.+iPrivateIPAddress :: Lens' Instance (Maybe Text)+iPrivateIPAddress = lens _iPrivateIPAddress (\ s a -> s{_iPrivateIPAddress = a});++-- | The friendly name of the blueprint (e.g., @Amazon Linux@ ).+iBlueprintName :: Lens' Instance (Maybe Text)+iBlueprintName = lens _iBlueprintName (\ s a -> s{_iBlueprintName = a});++-- | A Boolean value indicating whether this instance has a static IP assigned to it.+iIsStaticIP :: Lens' Instance (Maybe Bool)+iIsStaticIP = lens _iIsStaticIP (\ s a -> s{_iIsStaticIP = a});++-- | The public IP address of the instance.+iPublicIPAddress :: Lens' Instance (Maybe Text)+iPublicIPAddress = lens _iPublicIPAddress (\ s a -> s{_iPublicIPAddress = a});++-- | The size of the vCPU and the amount of RAM for the instance.+iHardware :: Lens' Instance (Maybe InstanceHardware)+iHardware = lens _iHardware (\ s a -> s{_iHardware = a});++instance FromJSON Instance where+ parseJSON+ = withObject "Instance"+ (\ x ->+ Instance' <$>+ (x .:? "state") <*> (x .:? "ipv6Address") <*>+ (x .:? "resourceType")+ <*> (x .:? "arn")+ <*> (x .:? "createdAt")+ <*> (x .:? "location")+ <*> (x .:? "sshKeyName")+ <*> (x .:? "username")+ <*> (x .:? "networking")+ <*> (x .:? "bundleId")+ <*> (x .:? "name")+ <*> (x .:? "supportCode")+ <*> (x .:? "blueprintId")+ <*> (x .:? "privateIpAddress")+ <*> (x .:? "blueprintName")+ <*> (x .:? "isStaticIp")+ <*> (x .:? "publicIpAddress")+ <*> (x .:? "hardware"))++instance Hashable Instance++instance NFData Instance++-- | The parameters for gaining temporary access to one of your Amazon Lightsail instances.+--+--+--+-- /See:/ 'instanceAccessDetails' smart constructor.+data InstanceAccessDetails = InstanceAccessDetails'+ { _iadCertKey :: !(Maybe Text)+ , _iadIpAddress :: !(Maybe Text)+ , _iadPrivateKey :: !(Maybe Text)+ , _iadExpiresAt :: !(Maybe POSIX)+ , _iadUsername :: !(Maybe Text)+ , _iadProtocol :: !(Maybe InstanceAccessProtocol)+ , _iadPassword :: !(Maybe Text)+ , _iadInstanceName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceAccessDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iadCertKey' - For SSH access, the public key to use when accessing your instance For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey-cert.pub@ .+--+-- * 'iadIpAddress' - The public IP address of the Amazon Lightsail instance.+--+-- * 'iadPrivateKey' - For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey@ ).+--+-- * 'iadExpiresAt' - For SSH access, the date on which the temporary keys expire.+--+-- * 'iadUsername' - The user name to use when logging in to the Amazon Lightsail instance.+--+-- * 'iadProtocol' - The protocol for these Amazon Lightsail instance access details.+--+-- * 'iadPassword' - For RDP access, the temporary password of the Amazon EC2 instance.+--+-- * 'iadInstanceName' - The name of this Amazon Lightsail instance.+instanceAccessDetails+ :: InstanceAccessDetails+instanceAccessDetails =+ InstanceAccessDetails'+ { _iadCertKey = Nothing+ , _iadIpAddress = Nothing+ , _iadPrivateKey = Nothing+ , _iadExpiresAt = Nothing+ , _iadUsername = Nothing+ , _iadProtocol = Nothing+ , _iadPassword = Nothing+ , _iadInstanceName = Nothing+ }++-- | For SSH access, the public key to use when accessing your instance For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey-cert.pub@ .+iadCertKey :: Lens' InstanceAccessDetails (Maybe Text)+iadCertKey = lens _iadCertKey (\ s a -> s{_iadCertKey = a});++-- | The public IP address of the Amazon Lightsail instance.+iadIpAddress :: Lens' InstanceAccessDetails (Maybe Text)+iadIpAddress = lens _iadIpAddress (\ s a -> s{_iadIpAddress = a});++-- | For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey@ ).+iadPrivateKey :: Lens' InstanceAccessDetails (Maybe Text)+iadPrivateKey = lens _iadPrivateKey (\ s a -> s{_iadPrivateKey = a});++-- | For SSH access, the date on which the temporary keys expire.+iadExpiresAt :: Lens' InstanceAccessDetails (Maybe UTCTime)+iadExpiresAt = lens _iadExpiresAt (\ s a -> s{_iadExpiresAt = a}) . mapping _Time;++-- | The user name to use when logging in to the Amazon Lightsail instance.+iadUsername :: Lens' InstanceAccessDetails (Maybe Text)+iadUsername = lens _iadUsername (\ s a -> s{_iadUsername = a});++-- | The protocol for these Amazon Lightsail instance access details.+iadProtocol :: Lens' InstanceAccessDetails (Maybe InstanceAccessProtocol)+iadProtocol = lens _iadProtocol (\ s a -> s{_iadProtocol = a});++-- | For RDP access, the temporary password of the Amazon EC2 instance.+iadPassword :: Lens' InstanceAccessDetails (Maybe Text)+iadPassword = lens _iadPassword (\ s a -> s{_iadPassword = a});++-- | The name of this Amazon Lightsail instance.+iadInstanceName :: Lens' InstanceAccessDetails (Maybe Text)+iadInstanceName = lens _iadInstanceName (\ s a -> s{_iadInstanceName = a});++instance FromJSON InstanceAccessDetails where+ parseJSON+ = withObject "InstanceAccessDetails"+ (\ x ->+ InstanceAccessDetails' <$>+ (x .:? "certKey") <*> (x .:? "ipAddress") <*>+ (x .:? "privateKey")+ <*> (x .:? "expiresAt")+ <*> (x .:? "username")+ <*> (x .:? "protocol")+ <*> (x .:? "password")+ <*> (x .:? "instanceName"))++instance Hashable InstanceAccessDetails++instance NFData InstanceAccessDetails++-- | Describes the hardware for the instance.+--+--+--+-- /See:/ 'instanceHardware' smart constructor.+data InstanceHardware = InstanceHardware'+ { _ihCpuCount :: !(Maybe Int)+ , _ihDisks :: !(Maybe [Disk])+ , _ihRamSizeInGb :: !(Maybe Double)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceHardware' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ihCpuCount' - The number of vCPUs the instance has.+--+-- * 'ihDisks' - The disks attached to the instance.+--+-- * 'ihRamSizeInGb' - The amount of RAM in GB on the instance (e.g., @1.0@ ).+instanceHardware+ :: InstanceHardware+instanceHardware =+ InstanceHardware'+ { _ihCpuCount = Nothing+ , _ihDisks = Nothing+ , _ihRamSizeInGb = Nothing+ }++-- | The number of vCPUs the instance has.+ihCpuCount :: Lens' InstanceHardware (Maybe Int)+ihCpuCount = lens _ihCpuCount (\ s a -> s{_ihCpuCount = a});++-- | The disks attached to the instance.+ihDisks :: Lens' InstanceHardware [Disk]+ihDisks = lens _ihDisks (\ s a -> s{_ihDisks = a}) . _Default . _Coerce;++-- | The amount of RAM in GB on the instance (e.g., @1.0@ ).+ihRamSizeInGb :: Lens' InstanceHardware (Maybe Double)+ihRamSizeInGb = lens _ihRamSizeInGb (\ s a -> s{_ihRamSizeInGb = a});++instance FromJSON InstanceHardware where+ parseJSON+ = withObject "InstanceHardware"+ (\ x ->+ InstanceHardware' <$>+ (x .:? "cpuCount") <*> (x .:? "disks" .!= mempty) <*>+ (x .:? "ramSizeInGb"))++instance Hashable InstanceHardware++instance NFData InstanceHardware++-- | Describes monthly data transfer rates and port information for an instance.+--+--+--+-- /See:/ 'instanceNetworking' smart constructor.+data InstanceNetworking = InstanceNetworking'+ { _inMonthlyTransfer :: !(Maybe MonthlyTransfer)+ , _inPorts :: !(Maybe [InstancePortInfo])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceNetworking' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'inMonthlyTransfer' - The amount of data in GB allocated for monthly data transfers.+--+-- * 'inPorts' - An array of key-value pairs containing information about the ports on the instance.+instanceNetworking+ :: InstanceNetworking+instanceNetworking =+ InstanceNetworking'+ { _inMonthlyTransfer = Nothing+ , _inPorts = Nothing+ }++-- | The amount of data in GB allocated for monthly data transfers.+inMonthlyTransfer :: Lens' InstanceNetworking (Maybe MonthlyTransfer)+inMonthlyTransfer = lens _inMonthlyTransfer (\ s a -> s{_inMonthlyTransfer = a});++-- | An array of key-value pairs containing information about the ports on the instance.+inPorts :: Lens' InstanceNetworking [InstancePortInfo]+inPorts = lens _inPorts (\ s a -> s{_inPorts = a}) . _Default . _Coerce;++instance FromJSON InstanceNetworking where+ parseJSON+ = withObject "InstanceNetworking"+ (\ x ->+ InstanceNetworking' <$>+ (x .:? "monthlyTransfer") <*>+ (x .:? "ports" .!= mempty))++instance Hashable InstanceNetworking++instance NFData InstanceNetworking++-- | Describes information about the instance ports.+--+--+--+-- /See:/ 'instancePortInfo' smart constructor.+data InstancePortInfo = InstancePortInfo'+ { _ipiFromPort :: !(Maybe Nat)+ , _ipiCommonName :: !(Maybe Text)+ , _ipiProtocol :: !(Maybe NetworkProtocol)+ , _ipiAccessDirection :: !(Maybe AccessDirection)+ , _ipiAccessType :: !(Maybe PortAccessType)+ , _ipiToPort :: !(Maybe Nat)+ , _ipiAccessFrom :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancePortInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipiFromPort' - The first port in the range.+--+-- * 'ipiCommonName' - The common name.+--+-- * 'ipiProtocol' - The protocol.+--+-- * 'ipiAccessDirection' - The access direction (@inbound@ or @outbound@ ).+--+-- * 'ipiAccessType' - The type of access (@Public@ or @Private@ ).+--+-- * 'ipiToPort' - The last port in the range.+--+-- * 'ipiAccessFrom' - The location from which access is allowed (e.g., @Anywhere (0.0.0.0/0)@ ).+instancePortInfo+ :: InstancePortInfo+instancePortInfo =+ InstancePortInfo'+ { _ipiFromPort = Nothing+ , _ipiCommonName = Nothing+ , _ipiProtocol = Nothing+ , _ipiAccessDirection = Nothing+ , _ipiAccessType = Nothing+ , _ipiToPort = Nothing+ , _ipiAccessFrom = Nothing+ }++-- | The first port in the range.+ipiFromPort :: Lens' InstancePortInfo (Maybe Natural)+ipiFromPort = lens _ipiFromPort (\ s a -> s{_ipiFromPort = a}) . mapping _Nat;++-- | The common name.+ipiCommonName :: Lens' InstancePortInfo (Maybe Text)+ipiCommonName = lens _ipiCommonName (\ s a -> s{_ipiCommonName = a});++-- | The protocol.+ipiProtocol :: Lens' InstancePortInfo (Maybe NetworkProtocol)+ipiProtocol = lens _ipiProtocol (\ s a -> s{_ipiProtocol = a});++-- | The access direction (@inbound@ or @outbound@ ).+ipiAccessDirection :: Lens' InstancePortInfo (Maybe AccessDirection)+ipiAccessDirection = lens _ipiAccessDirection (\ s a -> s{_ipiAccessDirection = a});++-- | The type of access (@Public@ or @Private@ ).+ipiAccessType :: Lens' InstancePortInfo (Maybe PortAccessType)+ipiAccessType = lens _ipiAccessType (\ s a -> s{_ipiAccessType = a});++-- | The last port in the range.+ipiToPort :: Lens' InstancePortInfo (Maybe Natural)+ipiToPort = lens _ipiToPort (\ s a -> s{_ipiToPort = a}) . mapping _Nat;++-- | The location from which access is allowed (e.g., @Anywhere (0.0.0.0/0)@ ).+ipiAccessFrom :: Lens' InstancePortInfo (Maybe Text)+ipiAccessFrom = lens _ipiAccessFrom (\ s a -> s{_ipiAccessFrom = a});++instance FromJSON InstancePortInfo where+ parseJSON+ = withObject "InstancePortInfo"+ (\ x ->+ InstancePortInfo' <$>+ (x .:? "fromPort") <*> (x .:? "commonName") <*>+ (x .:? "protocol")+ <*> (x .:? "accessDirection")+ <*> (x .:? "accessType")+ <*> (x .:? "toPort")+ <*> (x .:? "accessFrom"))++instance Hashable InstancePortInfo++instance NFData InstancePortInfo++-- | Describes the snapshot of the virtual private server, or /instance/ .+--+--+--+-- /See:/ 'instanceSnapshot' smart constructor.+data InstanceSnapshot = InstanceSnapshot'+ { _insFromBlueprintId :: !(Maybe Text)+ , _insState :: !(Maybe InstanceSnapshotState)+ , _insResourceType :: !(Maybe ResourceType)+ , _insArn :: !(Maybe Text)+ , _insCreatedAt :: !(Maybe POSIX)+ , _insLocation :: !(Maybe ResourceLocation)+ , _insProgress :: !(Maybe Text)+ , _insName :: !(Maybe Text)+ , _insFromBundleId :: !(Maybe Text)+ , _insSizeInGb :: !(Maybe Int)+ , _insSupportCode :: !(Maybe Text)+ , _insFromInstanceARN :: !(Maybe Text)+ , _insFromInstanceName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'insFromBlueprintId' - The blueprint ID from which you created the snapshot (e.g., @os_debian_8_3@ ). A blueprint is a virtual private server (or /instance/ ) image used to create instances quickly.+--+-- * 'insState' - The state the snapshot is in.+--+-- * 'insResourceType' - The type of resource (usually @InstanceSnapshot@ ).+--+-- * 'insArn' - The Amazon Resource Name (ARN) of the snapshot (e.g., @arn:aws:lightsail:us-east-1:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE@ ).+--+-- * 'insCreatedAt' - The timestamp when the snapshot was created (e.g., @1479907467.024@ ).+--+-- * 'insLocation' - The region name and availability zone where you created the snapshot.+--+-- * 'insProgress' - The progress of the snapshot.+--+-- * 'insName' - The name of the snapshot.+--+-- * 'insFromBundleId' - The bundle ID from which you created the snapshot (e.g., @micro_1_0@ ).+--+-- * 'insSizeInGb' - The size in GB of the SSD.+--+-- * 'insSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'insFromInstanceARN' - The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE@ ).+--+-- * 'insFromInstanceName' - The instance from which the snapshot was created.+instanceSnapshot+ :: InstanceSnapshot+instanceSnapshot =+ InstanceSnapshot'+ { _insFromBlueprintId = Nothing+ , _insState = Nothing+ , _insResourceType = Nothing+ , _insArn = Nothing+ , _insCreatedAt = Nothing+ , _insLocation = Nothing+ , _insProgress = Nothing+ , _insName = Nothing+ , _insFromBundleId = Nothing+ , _insSizeInGb = Nothing+ , _insSupportCode = Nothing+ , _insFromInstanceARN = Nothing+ , _insFromInstanceName = Nothing+ }++-- | The blueprint ID from which you created the snapshot (e.g., @os_debian_8_3@ ). A blueprint is a virtual private server (or /instance/ ) image used to create instances quickly.+insFromBlueprintId :: Lens' InstanceSnapshot (Maybe Text)+insFromBlueprintId = lens _insFromBlueprintId (\ s a -> s{_insFromBlueprintId = a});++-- | The state the snapshot is in.+insState :: Lens' InstanceSnapshot (Maybe InstanceSnapshotState)+insState = lens _insState (\ s a -> s{_insState = a});++-- | The type of resource (usually @InstanceSnapshot@ ).+insResourceType :: Lens' InstanceSnapshot (Maybe ResourceType)+insResourceType = lens _insResourceType (\ s a -> s{_insResourceType = a});++-- | The Amazon Resource Name (ARN) of the snapshot (e.g., @arn:aws:lightsail:us-east-1:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE@ ).+insArn :: Lens' InstanceSnapshot (Maybe Text)+insArn = lens _insArn (\ s a -> s{_insArn = a});++-- | The timestamp when the snapshot was created (e.g., @1479907467.024@ ).+insCreatedAt :: Lens' InstanceSnapshot (Maybe UTCTime)+insCreatedAt = lens _insCreatedAt (\ s a -> s{_insCreatedAt = a}) . mapping _Time;++-- | The region name and availability zone where you created the snapshot.+insLocation :: Lens' InstanceSnapshot (Maybe ResourceLocation)+insLocation = lens _insLocation (\ s a -> s{_insLocation = a});++-- | The progress of the snapshot.+insProgress :: Lens' InstanceSnapshot (Maybe Text)+insProgress = lens _insProgress (\ s a -> s{_insProgress = a});++-- | The name of the snapshot.+insName :: Lens' InstanceSnapshot (Maybe Text)+insName = lens _insName (\ s a -> s{_insName = a});++-- | The bundle ID from which you created the snapshot (e.g., @micro_1_0@ ).+insFromBundleId :: Lens' InstanceSnapshot (Maybe Text)+insFromBundleId = lens _insFromBundleId (\ s a -> s{_insFromBundleId = a});++-- | The size in GB of the SSD.+insSizeInGb :: Lens' InstanceSnapshot (Maybe Int)+insSizeInGb = lens _insSizeInGb (\ s a -> s{_insSizeInGb = a});++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+insSupportCode :: Lens' InstanceSnapshot (Maybe Text)+insSupportCode = lens _insSupportCode (\ s a -> s{_insSupportCode = a});++-- | The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE@ ).+insFromInstanceARN :: Lens' InstanceSnapshot (Maybe Text)+insFromInstanceARN = lens _insFromInstanceARN (\ s a -> s{_insFromInstanceARN = a});++-- | The instance from which the snapshot was created.+insFromInstanceName :: Lens' InstanceSnapshot (Maybe Text)+insFromInstanceName = lens _insFromInstanceName (\ s a -> s{_insFromInstanceName = a});++instance FromJSON InstanceSnapshot where+ parseJSON+ = withObject "InstanceSnapshot"+ (\ x ->+ InstanceSnapshot' <$>+ (x .:? "fromBlueprintId") <*> (x .:? "state") <*>+ (x .:? "resourceType")+ <*> (x .:? "arn")+ <*> (x .:? "createdAt")+ <*> (x .:? "location")+ <*> (x .:? "progress")+ <*> (x .:? "name")+ <*> (x .:? "fromBundleId")+ <*> (x .:? "sizeInGb")+ <*> (x .:? "supportCode")+ <*> (x .:? "fromInstanceArn")+ <*> (x .:? "fromInstanceName"))++instance Hashable InstanceSnapshot++instance NFData InstanceSnapshot++-- | Describes the virtual private server (or /instance/ ) status.+--+--+--+-- /See:/ 'instanceState' smart constructor.+data InstanceState = InstanceState'+ { _isName :: !(Maybe Text)+ , _isCode :: !(Maybe Int)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isName' - The state of the instance (e.g., @running@ or @pending@ ).+--+-- * 'isCode' - The status code for the instance.+instanceState+ :: InstanceState+instanceState =+ InstanceState'+ { _isName = Nothing+ , _isCode = Nothing+ }++-- | The state of the instance (e.g., @running@ or @pending@ ).+isName :: Lens' InstanceState (Maybe Text)+isName = lens _isName (\ s a -> s{_isName = a});++-- | The status code for the instance.+isCode :: Lens' InstanceState (Maybe Int)+isCode = lens _isCode (\ s a -> s{_isCode = a});++instance FromJSON InstanceState where+ parseJSON+ = withObject "InstanceState"+ (\ x ->+ InstanceState' <$> (x .:? "name") <*> (x .:? "code"))++instance Hashable InstanceState++instance NFData InstanceState++-- | Describes the SSH key pair.+--+--+--+-- /See:/ 'keyPair' smart constructor.+data KeyPair = KeyPair'+ { _kpResourceType :: !(Maybe ResourceType)+ , _kpArn :: !(Maybe Text)+ , _kpCreatedAt :: !(Maybe POSIX)+ , _kpLocation :: !(Maybe ResourceLocation)+ , _kpFingerprint :: !(Maybe Text)+ , _kpName :: !(Maybe Text)+ , _kpSupportCode :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'KeyPair' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kpResourceType' - The resource type (usually @KeyPair@ ).+--+-- * 'kpArn' - The Amazon Resource Name (ARN) of the key pair (e.g., @arn:aws:lightsail:us-east-1:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE@ ).+--+-- * 'kpCreatedAt' - The timestamp when the key pair was created (e.g., @1479816991.349@ ).+--+-- * 'kpLocation' - The region name and Availability Zone where the key pair was created.+--+-- * 'kpFingerprint' - The RSA fingerprint of the key pair.+--+-- * 'kpName' - The friendly name of the SSH key pair.+--+-- * 'kpSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+keyPair+ :: KeyPair+keyPair =+ KeyPair'+ { _kpResourceType = Nothing+ , _kpArn = Nothing+ , _kpCreatedAt = Nothing+ , _kpLocation = Nothing+ , _kpFingerprint = Nothing+ , _kpName = Nothing+ , _kpSupportCode = Nothing+ }++-- | The resource type (usually @KeyPair@ ).+kpResourceType :: Lens' KeyPair (Maybe ResourceType)+kpResourceType = lens _kpResourceType (\ s a -> s{_kpResourceType = a});++-- | The Amazon Resource Name (ARN) of the key pair (e.g., @arn:aws:lightsail:us-east-1:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE@ ).+kpArn :: Lens' KeyPair (Maybe Text)+kpArn = lens _kpArn (\ s a -> s{_kpArn = a});++-- | The timestamp when the key pair was created (e.g., @1479816991.349@ ).+kpCreatedAt :: Lens' KeyPair (Maybe UTCTime)+kpCreatedAt = lens _kpCreatedAt (\ s a -> s{_kpCreatedAt = a}) . mapping _Time;++-- | The region name and Availability Zone where the key pair was created.+kpLocation :: Lens' KeyPair (Maybe ResourceLocation)+kpLocation = lens _kpLocation (\ s a -> s{_kpLocation = a});++-- | The RSA fingerprint of the key pair.+kpFingerprint :: Lens' KeyPair (Maybe Text)+kpFingerprint = lens _kpFingerprint (\ s a -> s{_kpFingerprint = a});++-- | The friendly name of the SSH key pair.+kpName :: Lens' KeyPair (Maybe Text)+kpName = lens _kpName (\ s a -> s{_kpName = a});++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+kpSupportCode :: Lens' KeyPair (Maybe Text)+kpSupportCode = lens _kpSupportCode (\ s a -> s{_kpSupportCode = a});++instance FromJSON KeyPair where+ parseJSON+ = withObject "KeyPair"+ (\ x ->+ KeyPair' <$>+ (x .:? "resourceType") <*> (x .:? "arn") <*>+ (x .:? "createdAt")+ <*> (x .:? "location")+ <*> (x .:? "fingerprint")+ <*> (x .:? "name")+ <*> (x .:? "supportCode"))++instance Hashable KeyPair++instance NFData KeyPair++-- | Describes the metric data point.+--+--+--+-- /See:/ 'metricDatapoint' smart constructor.+data MetricDatapoint = MetricDatapoint'+ { _mdSampleCount :: !(Maybe Double)+ , _mdMaximum :: !(Maybe Double)+ , _mdAverage :: !(Maybe Double)+ , _mdMinimum :: !(Maybe Double)+ , _mdSum :: !(Maybe Double)+ , _mdTimestamp :: !(Maybe POSIX)+ , _mdUnit :: !(Maybe MetricUnit)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricDatapoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdSampleCount' - The sample count.+--+-- * 'mdMaximum' - The maximum.+--+-- * 'mdAverage' - The average.+--+-- * 'mdMinimum' - The minimum.+--+-- * 'mdSum' - The sum.+--+-- * 'mdTimestamp' - The timestamp (e.g., @1479816991.349@ ).+--+-- * 'mdUnit' - The unit.+metricDatapoint+ :: MetricDatapoint+metricDatapoint =+ MetricDatapoint'+ { _mdSampleCount = Nothing+ , _mdMaximum = Nothing+ , _mdAverage = Nothing+ , _mdMinimum = Nothing+ , _mdSum = Nothing+ , _mdTimestamp = Nothing+ , _mdUnit = Nothing+ }++-- | The sample count.+mdSampleCount :: Lens' MetricDatapoint (Maybe Double)+mdSampleCount = lens _mdSampleCount (\ s a -> s{_mdSampleCount = a});++-- | The maximum.+mdMaximum :: Lens' MetricDatapoint (Maybe Double)+mdMaximum = lens _mdMaximum (\ s a -> s{_mdMaximum = a});++-- | The average.+mdAverage :: Lens' MetricDatapoint (Maybe Double)+mdAverage = lens _mdAverage (\ s a -> s{_mdAverage = a});++-- | The minimum.+mdMinimum :: Lens' MetricDatapoint (Maybe Double)+mdMinimum = lens _mdMinimum (\ s a -> s{_mdMinimum = a});++-- | The sum.+mdSum :: Lens' MetricDatapoint (Maybe Double)+mdSum = lens _mdSum (\ s a -> s{_mdSum = a});++-- | The timestamp (e.g., @1479816991.349@ ).+mdTimestamp :: Lens' MetricDatapoint (Maybe UTCTime)+mdTimestamp = lens _mdTimestamp (\ s a -> s{_mdTimestamp = a}) . mapping _Time;++-- | The unit.+mdUnit :: Lens' MetricDatapoint (Maybe MetricUnit)+mdUnit = lens _mdUnit (\ s a -> s{_mdUnit = a});++instance FromJSON MetricDatapoint where+ parseJSON+ = withObject "MetricDatapoint"+ (\ x ->+ MetricDatapoint' <$>+ (x .:? "sampleCount") <*> (x .:? "maximum") <*>+ (x .:? "average")+ <*> (x .:? "minimum")+ <*> (x .:? "sum")+ <*> (x .:? "timestamp")+ <*> (x .:? "unit"))++instance Hashable MetricDatapoint++instance NFData MetricDatapoint++-- | Describes the monthly data transfer in and out of your virtual private server (or /instance/ ).+--+--+--+-- /See:/ 'monthlyTransfer' smart constructor.+newtype MonthlyTransfer = MonthlyTransfer'+ { _mtGbPerMonthAllocated :: Maybe Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MonthlyTransfer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtGbPerMonthAllocated' - The amount allocated per month (in GB).+monthlyTransfer+ :: MonthlyTransfer+monthlyTransfer =+ MonthlyTransfer'+ { _mtGbPerMonthAllocated = Nothing+ }++-- | The amount allocated per month (in GB).+mtGbPerMonthAllocated :: Lens' MonthlyTransfer (Maybe Int)+mtGbPerMonthAllocated = lens _mtGbPerMonthAllocated (\ s a -> s{_mtGbPerMonthAllocated = a});++instance FromJSON MonthlyTransfer where+ parseJSON+ = withObject "MonthlyTransfer"+ (\ x ->+ MonthlyTransfer' <$> (x .:? "gbPerMonthAllocated"))++instance Hashable MonthlyTransfer++instance NFData MonthlyTransfer++-- | Describes the API operation.+--+--+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation'+ { _oStatus :: !(Maybe OperationStatus)+ , _oOperationDetails :: !(Maybe Text)+ , _oResourceType :: !(Maybe ResourceType)+ , _oCreatedAt :: !(Maybe POSIX)+ , _oResourceName :: !(Maybe Text)+ , _oLocation :: !(Maybe ResourceLocation)+ , _oStatusChangedAt :: !(Maybe POSIX)+ , _oErrorDetails :: !(Maybe Text)+ , _oErrorCode :: !(Maybe Text)+ , _oId :: !(Maybe Text)+ , _oOperationType :: !(Maybe OperationType)+ , _oIsTerminal :: !(Maybe Bool)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oStatus' - The status of the operation.+--+-- * 'oOperationDetails' - Details about the operation (e.g., @Debian-1GB-Virginia-1@ ).+--+-- * 'oResourceType' - The resource type.+--+-- * 'oCreatedAt' - The timestamp when the operation was initialized (e.g., @1479816991.349@ ).+--+-- * 'oResourceName' - The resource name.+--+-- * 'oLocation' - The region and Availability Zone.+--+-- * 'oStatusChangedAt' - The timestamp when the status was changed (e.g., @1479816991.349@ ).+--+-- * 'oErrorDetails' - The error details.+--+-- * 'oErrorCode' - The error code.+--+-- * 'oId' - The ID of the operation.+--+-- * 'oOperationType' - The type of operation.+--+-- * 'oIsTerminal' - A Boolean value indicating whether the operation is terminal.+operation+ :: Operation+operation =+ Operation'+ { _oStatus = Nothing+ , _oOperationDetails = Nothing+ , _oResourceType = Nothing+ , _oCreatedAt = Nothing+ , _oResourceName = Nothing+ , _oLocation = Nothing+ , _oStatusChangedAt = Nothing+ , _oErrorDetails = Nothing+ , _oErrorCode = Nothing+ , _oId = Nothing+ , _oOperationType = Nothing+ , _oIsTerminal = Nothing+ }++-- | The status of the operation.+oStatus :: Lens' Operation (Maybe OperationStatus)+oStatus = lens _oStatus (\ s a -> s{_oStatus = a});++-- | Details about the operation (e.g., @Debian-1GB-Virginia-1@ ).+oOperationDetails :: Lens' Operation (Maybe Text)+oOperationDetails = lens _oOperationDetails (\ s a -> s{_oOperationDetails = a});++-- | The resource type.+oResourceType :: Lens' Operation (Maybe ResourceType)+oResourceType = lens _oResourceType (\ s a -> s{_oResourceType = a});++-- | The timestamp when the operation was initialized (e.g., @1479816991.349@ ).+oCreatedAt :: Lens' Operation (Maybe UTCTime)+oCreatedAt = lens _oCreatedAt (\ s a -> s{_oCreatedAt = a}) . mapping _Time;++-- | The resource name.+oResourceName :: Lens' Operation (Maybe Text)+oResourceName = lens _oResourceName (\ s a -> s{_oResourceName = a});++-- | The region and Availability Zone.+oLocation :: Lens' Operation (Maybe ResourceLocation)+oLocation = lens _oLocation (\ s a -> s{_oLocation = a});++-- | The timestamp when the status was changed (e.g., @1479816991.349@ ).+oStatusChangedAt :: Lens' Operation (Maybe UTCTime)+oStatusChangedAt = lens _oStatusChangedAt (\ s a -> s{_oStatusChangedAt = a}) . mapping _Time;++-- | The error details.+oErrorDetails :: Lens' Operation (Maybe Text)+oErrorDetails = lens _oErrorDetails (\ s a -> s{_oErrorDetails = a});++-- | The error code.+oErrorCode :: Lens' Operation (Maybe Text)+oErrorCode = lens _oErrorCode (\ s a -> s{_oErrorCode = a});++-- | The ID of the operation.+oId :: Lens' Operation (Maybe Text)+oId = lens _oId (\ s a -> s{_oId = a});++-- | The type of operation.+oOperationType :: Lens' Operation (Maybe OperationType)+oOperationType = lens _oOperationType (\ s a -> s{_oOperationType = a});++-- | A Boolean value indicating whether the operation is terminal.+oIsTerminal :: Lens' Operation (Maybe Bool)+oIsTerminal = lens _oIsTerminal (\ s a -> s{_oIsTerminal = a});++instance FromJSON Operation where+ parseJSON+ = withObject "Operation"+ (\ x ->+ Operation' <$>+ (x .:? "status") <*> (x .:? "operationDetails") <*>+ (x .:? "resourceType")+ <*> (x .:? "createdAt")+ <*> (x .:? "resourceName")+ <*> (x .:? "location")+ <*> (x .:? "statusChangedAt")+ <*> (x .:? "errorDetails")+ <*> (x .:? "errorCode")+ <*> (x .:? "id")+ <*> (x .:? "operationType")+ <*> (x .:? "isTerminal"))++instance Hashable Operation++instance NFData Operation++-- | Describes information about the ports on your virtual private server (or /instance/ ).+--+--+--+-- /See:/ 'portInfo' smart constructor.+data PortInfo = PortInfo'+ { _piFromPort :: !(Maybe Nat)+ , _piProtocol :: !(Maybe NetworkProtocol)+ , _piToPort :: !(Maybe Nat)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PortInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piFromPort' - The first port in the range.+--+-- * 'piProtocol' - The protocol.+--+-- * 'piToPort' - The last port in the range.+portInfo+ :: PortInfo+portInfo =+ PortInfo'+ { _piFromPort = Nothing+ , _piProtocol = Nothing+ , _piToPort = Nothing+ }++-- | The first port in the range.+piFromPort :: Lens' PortInfo (Maybe Natural)+piFromPort = lens _piFromPort (\ s a -> s{_piFromPort = a}) . mapping _Nat;++-- | The protocol.+piProtocol :: Lens' PortInfo (Maybe NetworkProtocol)+piProtocol = lens _piProtocol (\ s a -> s{_piProtocol = a});++-- | The last port in the range.+piToPort :: Lens' PortInfo (Maybe Natural)+piToPort = lens _piToPort (\ s a -> s{_piToPort = a}) . mapping _Nat;++instance Hashable PortInfo++instance NFData PortInfo++instance ToJSON PortInfo where+ toJSON PortInfo'{..}+ = object+ (catMaybes+ [("fromPort" .=) <$> _piFromPort,+ ("protocol" .=) <$> _piProtocol,+ ("toPort" .=) <$> _piToPort])++-- | Describes the AWS Region.+--+--+--+-- /See:/ 'regionInfo' smart constructor.+data RegionInfo = RegionInfo'+ { _riAvailabilityZones :: !(Maybe [AvailabilityZone])+ , _riName :: !(Maybe RegionName)+ , _riDisplayName :: !(Maybe Text)+ , _riContinentCode :: !(Maybe Text)+ , _riDescription :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RegionInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riAvailabilityZones' - The Availability Zones.+--+-- * 'riName' - The region name (e.g., @us-east-1@ ).+--+-- * 'riDisplayName' - The display name (e.g., @Virginia@ ).+--+-- * 'riContinentCode' - The continent code (e.g., @NA@ , meaning North America).+--+-- * 'riDescription' - The description of the AWS Region (e.g., @This region is recommended to serve users in the eastern United States and eastern Canada@ ).+regionInfo+ :: RegionInfo+regionInfo =+ RegionInfo'+ { _riAvailabilityZones = Nothing+ , _riName = Nothing+ , _riDisplayName = Nothing+ , _riContinentCode = Nothing+ , _riDescription = Nothing+ }++-- | The Availability Zones.+riAvailabilityZones :: Lens' RegionInfo [AvailabilityZone]+riAvailabilityZones = lens _riAvailabilityZones (\ s a -> s{_riAvailabilityZones = a}) . _Default . _Coerce;++-- | The region name (e.g., @us-east-1@ ).+riName :: Lens' RegionInfo (Maybe RegionName)+riName = lens _riName (\ s a -> s{_riName = a});++-- | The display name (e.g., @Virginia@ ).+riDisplayName :: Lens' RegionInfo (Maybe Text)+riDisplayName = lens _riDisplayName (\ s a -> s{_riDisplayName = a});++-- | The continent code (e.g., @NA@ , meaning North America).+riContinentCode :: Lens' RegionInfo (Maybe Text)+riContinentCode = lens _riContinentCode (\ s a -> s{_riContinentCode = a});++-- | The description of the AWS Region (e.g., @This region is recommended to serve users in the eastern United States and eastern Canada@ ).+riDescription :: Lens' RegionInfo (Maybe Text)+riDescription = lens _riDescription (\ s a -> s{_riDescription = a});++instance FromJSON RegionInfo where+ parseJSON+ = withObject "RegionInfo"+ (\ x ->+ RegionInfo' <$>+ (x .:? "availabilityZones" .!= mempty) <*>+ (x .:? "name")+ <*> (x .:? "displayName")+ <*> (x .:? "continentCode")+ <*> (x .:? "description"))++instance Hashable RegionInfo++instance NFData RegionInfo++-- | Describes the resource location.+--+--+--+-- /See:/ 'resourceLocation' smart constructor.+data ResourceLocation = ResourceLocation'+ { _rlRegionName :: !(Maybe RegionName)+ , _rlAvailabilityZone :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResourceLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlRegionName' - The AWS Region name.+--+-- * 'rlAvailabilityZone' - The Availability Zone.+resourceLocation+ :: ResourceLocation+resourceLocation =+ ResourceLocation'+ { _rlRegionName = Nothing+ , _rlAvailabilityZone = Nothing+ }++-- | The AWS Region name.+rlRegionName :: Lens' ResourceLocation (Maybe RegionName)+rlRegionName = lens _rlRegionName (\ s a -> s{_rlRegionName = a});++-- | The Availability Zone.+rlAvailabilityZone :: Lens' ResourceLocation (Maybe Text)+rlAvailabilityZone = lens _rlAvailabilityZone (\ s a -> s{_rlAvailabilityZone = a});++instance FromJSON ResourceLocation where+ parseJSON+ = withObject "ResourceLocation"+ (\ x ->+ ResourceLocation' <$>+ (x .:? "regionName") <*> (x .:? "availabilityZone"))++instance Hashable ResourceLocation++instance NFData ResourceLocation++-- | Describes the static IP.+--+--+--+-- /See:/ 'staticIP' smart constructor.+data StaticIP = StaticIP'+ { _siIpAddress :: !(Maybe Text)+ , _siResourceType :: !(Maybe ResourceType)+ , _siArn :: !(Maybe Text)+ , _siCreatedAt :: !(Maybe POSIX)+ , _siLocation :: !(Maybe ResourceLocation)+ , _siIsAttached :: !(Maybe Bool)+ , _siName :: !(Maybe Text)+ , _siSupportCode :: !(Maybe Text)+ , _siAttachedTo :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StaticIP' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siIpAddress' - The static IP address.+--+-- * 'siResourceType' - The resource type (usually @StaticIp@ ).+--+-- * 'siArn' - The Amazon Resource Name (ARN) of the static IP (e.g., @arn:aws:lightsail:us-east-1:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE@ ).+--+-- * 'siCreatedAt' - The timestamp when the static IP was created (e.g., @1479735304.222@ ).+--+-- * 'siLocation' - The region and Availability Zone where the static IP was created.+--+-- * 'siIsAttached' - A Boolean value indicating whether the static IP is attached.+--+-- * 'siName' - The name of the static IP (e.g., @StaticIP-Virginia-EXAMPLE@ ).+--+-- * 'siSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'siAttachedTo' - The instance where the static IP is attached (e.g., @Amazon_Linux-1GB-Virginia-1@ ).+staticIP+ :: StaticIP+staticIP =+ StaticIP'+ { _siIpAddress = Nothing+ , _siResourceType = Nothing+ , _siArn = Nothing+ , _siCreatedAt = Nothing+ , _siLocation = Nothing+ , _siIsAttached = Nothing+ , _siName = Nothing+ , _siSupportCode = Nothing+ , _siAttachedTo = Nothing+ }++-- | The static IP address.+siIpAddress :: Lens' StaticIP (Maybe Text)+siIpAddress = lens _siIpAddress (\ s a -> s{_siIpAddress = a});++-- | The resource type (usually @StaticIp@ ).+siResourceType :: Lens' StaticIP (Maybe ResourceType)+siResourceType = lens _siResourceType (\ s a -> s{_siResourceType = a});++-- | The Amazon Resource Name (ARN) of the static IP (e.g., @arn:aws:lightsail:us-east-1:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE@ ).+siArn :: Lens' StaticIP (Maybe Text)+siArn = lens _siArn (\ s a -> s{_siArn = a});++-- | The timestamp when the static IP was created (e.g., @1479735304.222@ ).+siCreatedAt :: Lens' StaticIP (Maybe UTCTime)+siCreatedAt = lens _siCreatedAt (\ s a -> s{_siCreatedAt = a}) . mapping _Time;++-- | The region and Availability Zone where the static IP was created.+siLocation :: Lens' StaticIP (Maybe ResourceLocation)+siLocation = lens _siLocation (\ s a -> s{_siLocation = a});++-- | A Boolean value indicating whether the static IP is attached.+siIsAttached :: Lens' StaticIP (Maybe Bool)+siIsAttached = lens _siIsAttached (\ s a -> s{_siIsAttached = a});++-- | The name of the static IP (e.g., @StaticIP-Virginia-EXAMPLE@ ).+siName :: Lens' StaticIP (Maybe Text)+siName = lens _siName (\ s a -> s{_siName = a});++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+siSupportCode :: Lens' StaticIP (Maybe Text)+siSupportCode = lens _siSupportCode (\ s a -> s{_siSupportCode = a});++-- | The instance where the static IP is attached (e.g., @Amazon_Linux-1GB-Virginia-1@ ).+siAttachedTo :: Lens' StaticIP (Maybe Text)+siAttachedTo = lens _siAttachedTo (\ s a -> s{_siAttachedTo = a});++instance FromJSON StaticIP where+ parseJSON+ = withObject "StaticIP"+ (\ x ->+ StaticIP' <$>+ (x .:? "ipAddress") <*> (x .:? "resourceType") <*>+ (x .:? "arn")+ <*> (x .:? "createdAt")+ <*> (x .:? "location")+ <*> (x .:? "isAttached")+ <*> (x .:? "name")+ <*> (x .:? "supportCode")+ <*> (x .:? "attachedTo"))++instance Hashable StaticIP++instance NFData StaticIP
+ gen/Network/AWS/Lightsail/Types/Sum.hs view
@@ -0,0 +1,588 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.Types.Sum+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.Lightsail.Types.Sum where++import Network.AWS.Prelude++data AccessDirection+ = Inbound+ | Outbound+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText AccessDirection where+ parser = takeLowerText >>= \case+ "inbound" -> pure Inbound+ "outbound" -> pure Outbound+ e -> fromTextError $ "Failure parsing AccessDirection from value: '" <> e+ <> "'. Accepted values: inbound, outbound"++instance ToText AccessDirection where+ toText = \case+ Inbound -> "inbound"+ Outbound -> "outbound"++instance Hashable AccessDirection+instance NFData AccessDirection+instance ToByteString AccessDirection+instance ToQuery AccessDirection+instance ToHeader AccessDirection++instance FromJSON AccessDirection where+ parseJSON = parseJSONText "AccessDirection"++data BlueprintType+ = App+ | OS+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText BlueprintType where+ parser = takeLowerText >>= \case+ "app" -> pure App+ "os" -> pure OS+ e -> fromTextError $ "Failure parsing BlueprintType from value: '" <> e+ <> "'. Accepted values: app, os"++instance ToText BlueprintType where+ toText = \case+ App -> "app"+ OS -> "os"++instance Hashable BlueprintType+instance NFData BlueprintType+instance ToByteString BlueprintType+instance ToQuery BlueprintType+instance ToHeader BlueprintType++instance FromJSON BlueprintType where+ parseJSON = parseJSONText "BlueprintType"++data InstanceAccessProtocol+ = Rdp+ | SSH+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText InstanceAccessProtocol where+ parser = takeLowerText >>= \case+ "rdp" -> pure Rdp+ "ssh" -> pure SSH+ e -> fromTextError $ "Failure parsing InstanceAccessProtocol from value: '" <> e+ <> "'. Accepted values: rdp, ssh"++instance ToText InstanceAccessProtocol where+ toText = \case+ Rdp -> "rdp"+ SSH -> "ssh"++instance Hashable InstanceAccessProtocol+instance NFData InstanceAccessProtocol+instance ToByteString InstanceAccessProtocol+instance ToQuery InstanceAccessProtocol+instance ToHeader InstanceAccessProtocol++instance ToJSON InstanceAccessProtocol where+ toJSON = toJSONText++instance FromJSON InstanceAccessProtocol where+ parseJSON = parseJSONText "InstanceAccessProtocol"++data InstanceMetricName+ = CPUUtilization+ | NetworkIn+ | NetworkOut+ | StatusCheckFailed+ | StatusCheckFailedInstance+ | StatusCheckFailedSystem+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText InstanceMetricName where+ parser = takeLowerText >>= \case+ "cpuutilization" -> pure CPUUtilization+ "networkin" -> pure NetworkIn+ "networkout" -> pure NetworkOut+ "statuscheckfailed" -> pure StatusCheckFailed+ "statuscheckfailed_instance" -> pure StatusCheckFailedInstance+ "statuscheckfailed_system" -> pure StatusCheckFailedSystem+ e -> fromTextError $ "Failure parsing InstanceMetricName from value: '" <> e+ <> "'. Accepted values: cpuutilization, networkin, networkout, statuscheckfailed, statuscheckfailed_instance, statuscheckfailed_system"++instance ToText InstanceMetricName where+ toText = \case+ CPUUtilization -> "CPUUtilization"+ NetworkIn -> "NetworkIn"+ NetworkOut -> "NetworkOut"+ StatusCheckFailed -> "StatusCheckFailed"+ StatusCheckFailedInstance -> "StatusCheckFailed_Instance"+ StatusCheckFailedSystem -> "StatusCheckFailed_System"++instance Hashable InstanceMetricName+instance NFData InstanceMetricName+instance ToByteString InstanceMetricName+instance ToQuery InstanceMetricName+instance ToHeader InstanceMetricName++instance ToJSON InstanceMetricName where+ toJSON = toJSONText++instance FromJSON InstanceMetricName where+ parseJSON = parseJSONText "InstanceMetricName"++data InstanceSnapshotState+ = Available+ | Error'+ | Pending+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText InstanceSnapshotState where+ parser = takeLowerText >>= \case+ "available" -> pure Available+ "error" -> pure Error'+ "pending" -> pure Pending+ e -> fromTextError $ "Failure parsing InstanceSnapshotState from value: '" <> e+ <> "'. Accepted values: available, error, pending"++instance ToText InstanceSnapshotState where+ toText = \case+ Available -> "available"+ Error' -> "error"+ Pending -> "pending"++instance Hashable InstanceSnapshotState+instance NFData InstanceSnapshotState+instance ToByteString InstanceSnapshotState+instance ToQuery InstanceSnapshotState+instance ToHeader InstanceSnapshotState++instance FromJSON InstanceSnapshotState where+ parseJSON = parseJSONText "InstanceSnapshotState"++data MetricStatistic+ = Average+ | Maximum+ | Minimum+ | SampleCount+ | Sum+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText MetricStatistic where+ parser = takeLowerText >>= \case+ "average" -> pure Average+ "maximum" -> pure Maximum+ "minimum" -> pure Minimum+ "samplecount" -> pure SampleCount+ "sum" -> pure Sum+ e -> fromTextError $ "Failure parsing MetricStatistic from value: '" <> e+ <> "'. Accepted values: average, maximum, minimum, samplecount, sum"++instance ToText MetricStatistic where+ toText = \case+ Average -> "Average"+ Maximum -> "Maximum"+ Minimum -> "Minimum"+ SampleCount -> "SampleCount"+ Sum -> "Sum"++instance Hashable MetricStatistic+instance NFData MetricStatistic+instance ToByteString MetricStatistic+instance ToQuery MetricStatistic+instance ToHeader MetricStatistic++instance ToJSON MetricStatistic where+ toJSON = toJSONText++data MetricUnit+ = Bits+ | BitsSecond+ | Bytes+ | BytesSecond+ | Count+ | CountSecond+ | Gigabits+ | GigabitsSecond+ | Gigabytes+ | GigabytesSecond+ | Kilobits+ | KilobitsSecond+ | Kilobytes+ | KilobytesSecond+ | Megabits+ | MegabitsSecond+ | Megabytes+ | MegabytesSecond+ | Microseconds+ | Milliseconds+ | None+ | Percent+ | Seconds+ | Terabits+ | TerabitsSecond+ | Terabytes+ | TerabytesSecond+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText MetricUnit where+ parser = takeLowerText >>= \case+ "bits" -> pure Bits+ "bits/second" -> pure BitsSecond+ "bytes" -> pure Bytes+ "bytes/second" -> pure BytesSecond+ "count" -> pure Count+ "count/second" -> pure CountSecond+ "gigabits" -> pure Gigabits+ "gigabits/second" -> pure GigabitsSecond+ "gigabytes" -> pure Gigabytes+ "gigabytes/second" -> pure GigabytesSecond+ "kilobits" -> pure Kilobits+ "kilobits/second" -> pure KilobitsSecond+ "kilobytes" -> pure Kilobytes+ "kilobytes/second" -> pure KilobytesSecond+ "megabits" -> pure Megabits+ "megabits/second" -> pure MegabitsSecond+ "megabytes" -> pure Megabytes+ "megabytes/second" -> pure MegabytesSecond+ "microseconds" -> pure Microseconds+ "milliseconds" -> pure Milliseconds+ "none" -> pure None+ "percent" -> pure Percent+ "seconds" -> pure Seconds+ "terabits" -> pure Terabits+ "terabits/second" -> pure TerabitsSecond+ "terabytes" -> pure Terabytes+ "terabytes/second" -> pure TerabytesSecond+ e -> fromTextError $ "Failure parsing MetricUnit from value: '" <> e+ <> "'. Accepted values: bits, bits/second, bytes, bytes/second, count, count/second, gigabits, gigabits/second, gigabytes, gigabytes/second, kilobits, kilobits/second, kilobytes, kilobytes/second, megabits, megabits/second, megabytes, megabytes/second, microseconds, milliseconds, none, percent, seconds, terabits, terabits/second, terabytes, terabytes/second"++instance ToText MetricUnit where+ toText = \case+ Bits -> "Bits"+ BitsSecond -> "Bits/Second"+ Bytes -> "Bytes"+ BytesSecond -> "Bytes/Second"+ Count -> "Count"+ CountSecond -> "Count/Second"+ Gigabits -> "Gigabits"+ GigabitsSecond -> "Gigabits/Second"+ Gigabytes -> "Gigabytes"+ GigabytesSecond -> "Gigabytes/Second"+ Kilobits -> "Kilobits"+ KilobitsSecond -> "Kilobits/Second"+ Kilobytes -> "Kilobytes"+ KilobytesSecond -> "Kilobytes/Second"+ Megabits -> "Megabits"+ MegabitsSecond -> "Megabits/Second"+ Megabytes -> "Megabytes"+ MegabytesSecond -> "Megabytes/Second"+ Microseconds -> "Microseconds"+ Milliseconds -> "Milliseconds"+ None -> "None"+ Percent -> "Percent"+ Seconds -> "Seconds"+ Terabits -> "Terabits"+ TerabitsSecond -> "Terabits/Second"+ Terabytes -> "Terabytes"+ TerabytesSecond -> "Terabytes/Second"++instance Hashable MetricUnit+instance NFData MetricUnit+instance ToByteString MetricUnit+instance ToQuery MetricUnit+instance ToHeader MetricUnit++instance ToJSON MetricUnit where+ toJSON = toJSONText++instance FromJSON MetricUnit where+ parseJSON = parseJSONText "MetricUnit"++data NetworkProtocol+ = All+ | TCP+ | Udp+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText NetworkProtocol where+ parser = takeLowerText >>= \case+ "all" -> pure All+ "tcp" -> pure TCP+ "udp" -> pure Udp+ e -> fromTextError $ "Failure parsing NetworkProtocol from value: '" <> e+ <> "'. Accepted values: all, tcp, udp"++instance ToText NetworkProtocol where+ toText = \case+ All -> "all"+ TCP -> "tcp"+ Udp -> "udp"++instance Hashable NetworkProtocol+instance NFData NetworkProtocol+instance ToByteString NetworkProtocol+instance ToQuery NetworkProtocol+instance ToHeader NetworkProtocol++instance ToJSON NetworkProtocol where+ toJSON = toJSONText++instance FromJSON NetworkProtocol where+ parseJSON = parseJSONText "NetworkProtocol"++data OperationStatus+ = Completed+ | Failed+ | NotStarted+ | Started+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText OperationStatus where+ parser = takeLowerText >>= \case+ "completed" -> pure Completed+ "failed" -> pure Failed+ "notstarted" -> pure NotStarted+ "started" -> pure Started+ e -> fromTextError $ "Failure parsing OperationStatus from value: '" <> e+ <> "'. Accepted values: completed, failed, notstarted, started"++instance ToText OperationStatus where+ toText = \case+ Completed -> "Completed"+ Failed -> "Failed"+ NotStarted -> "NotStarted"+ Started -> "Started"++instance Hashable OperationStatus+instance NFData OperationStatus+instance ToByteString OperationStatus+instance ToQuery OperationStatus+instance ToHeader OperationStatus++instance FromJSON OperationStatus where+ parseJSON = parseJSONText "OperationStatus"++data OperationType+ = AllocateStaticIP+ | AttachStaticIP+ | CloseInstancePublicPorts+ | CreateDomain+ | CreateInstance+ | CreateInstanceSnapshot+ | CreateInstancesFromSnapshot+ | DeleteDomain+ | DeleteDomainEntry+ | DeleteInstance+ | DeleteInstanceSnapshot+ | DetachStaticIP+ | OpenInstancePublicPorts+ | RebootInstance+ | ReleaseStaticIP+ | StartInstance+ | StopInstance+ | UpdateDomainEntry+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText OperationType where+ parser = takeLowerText >>= \case+ "allocatestaticip" -> pure AllocateStaticIP+ "attachstaticip" -> pure AttachStaticIP+ "closeinstancepublicports" -> pure CloseInstancePublicPorts+ "createdomain" -> pure CreateDomain+ "createinstance" -> pure CreateInstance+ "createinstancesnapshot" -> pure CreateInstanceSnapshot+ "createinstancesfromsnapshot" -> pure CreateInstancesFromSnapshot+ "deletedomain" -> pure DeleteDomain+ "deletedomainentry" -> pure DeleteDomainEntry+ "deleteinstance" -> pure DeleteInstance+ "deleteinstancesnapshot" -> pure DeleteInstanceSnapshot+ "detachstaticip" -> pure DetachStaticIP+ "openinstancepublicports" -> pure OpenInstancePublicPorts+ "rebootinstance" -> pure RebootInstance+ "releasestaticip" -> pure ReleaseStaticIP+ "startinstance" -> pure StartInstance+ "stopinstance" -> pure StopInstance+ "updatedomainentry" -> pure UpdateDomainEntry+ e -> fromTextError $ "Failure parsing OperationType from value: '" <> e+ <> "'. Accepted values: allocatestaticip, attachstaticip, closeinstancepublicports, createdomain, createinstance, createinstancesnapshot, createinstancesfromsnapshot, deletedomain, deletedomainentry, deleteinstance, deleteinstancesnapshot, detachstaticip, openinstancepublicports, rebootinstance, releasestaticip, startinstance, stopinstance, updatedomainentry"++instance ToText OperationType where+ toText = \case+ AllocateStaticIP -> "AllocateStaticIp"+ AttachStaticIP -> "AttachStaticIp"+ CloseInstancePublicPorts -> "CloseInstancePublicPorts"+ CreateDomain -> "CreateDomain"+ CreateInstance -> "CreateInstance"+ CreateInstanceSnapshot -> "CreateInstanceSnapshot"+ CreateInstancesFromSnapshot -> "CreateInstancesFromSnapshot"+ DeleteDomain -> "DeleteDomain"+ DeleteDomainEntry -> "DeleteDomainEntry"+ DeleteInstance -> "DeleteInstance"+ DeleteInstanceSnapshot -> "DeleteInstanceSnapshot"+ DetachStaticIP -> "DetachStaticIp"+ OpenInstancePublicPorts -> "OpenInstancePublicPorts"+ RebootInstance -> "RebootInstance"+ ReleaseStaticIP -> "ReleaseStaticIp"+ StartInstance -> "StartInstance"+ StopInstance -> "StopInstance"+ UpdateDomainEntry -> "UpdateDomainEntry"++instance Hashable OperationType+instance NFData OperationType+instance ToByteString OperationType+instance ToQuery OperationType+instance ToHeader OperationType++instance FromJSON OperationType where+ parseJSON = parseJSONText "OperationType"++data PortAccessType+ = Private+ | Public+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText PortAccessType where+ parser = takeLowerText >>= \case+ "private" -> pure Private+ "public" -> pure Public+ e -> fromTextError $ "Failure parsing PortAccessType from value: '" <> e+ <> "'. Accepted values: private, public"++instance ToText PortAccessType where+ toText = \case+ Private -> "Private"+ Public -> "Public"++instance Hashable PortAccessType+instance NFData PortAccessType+instance ToByteString PortAccessType+instance ToQuery PortAccessType+instance ToHeader PortAccessType++instance FromJSON PortAccessType where+ parseJSON = parseJSONText "PortAccessType"++data PortState+ = Closed+ | Open+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText PortState where+ parser = takeLowerText >>= \case+ "closed" -> pure Closed+ "open" -> pure Open+ e -> fromTextError $ "Failure parsing PortState from value: '" <> e+ <> "'. Accepted values: closed, open"++instance ToText PortState where+ toText = \case+ Closed -> "closed"+ Open -> "open"++instance Hashable PortState+instance NFData PortState+instance ToByteString PortState+instance ToQuery PortState+instance ToHeader PortState++instance FromJSON PortState where+ parseJSON = parseJSONText "PortState"++data RegionName+ = ApNortheast1+ | ApNortheast2+ | ApSouth1+ | ApSoutheast1+ | ApSoutheast2+ | EuCentral1+ | EuWest1+ | UsEast1+ | UsWest1+ | UsWest2+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText RegionName where+ parser = takeLowerText >>= \case+ "ap-northeast-1" -> pure ApNortheast1+ "ap-northeast-2" -> pure ApNortheast2+ "ap-south-1" -> pure ApSouth1+ "ap-southeast-1" -> pure ApSoutheast1+ "ap-southeast-2" -> pure ApSoutheast2+ "eu-central-1" -> pure EuCentral1+ "eu-west-1" -> pure EuWest1+ "us-east-1" -> pure UsEast1+ "us-west-1" -> pure UsWest1+ "us-west-2" -> pure UsWest2+ e -> fromTextError $ "Failure parsing RegionName from value: '" <> e+ <> "'. Accepted values: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, us-east-1, us-west-1, us-west-2"++instance ToText RegionName where+ toText = \case+ ApNortheast1 -> "ap-northeast-1"+ ApNortheast2 -> "ap-northeast-2"+ ApSouth1 -> "ap-south-1"+ ApSoutheast1 -> "ap-southeast-1"+ ApSoutheast2 -> "ap-southeast-2"+ EuCentral1 -> "eu-central-1"+ EuWest1 -> "eu-west-1"+ UsEast1 -> "us-east-1"+ UsWest1 -> "us-west-1"+ UsWest2 -> "us-west-2"++instance Hashable RegionName+instance NFData RegionName+instance ToByteString RegionName+instance ToQuery RegionName+instance ToHeader RegionName++instance FromJSON RegionName where+ parseJSON = parseJSONText "RegionName"++data ResourceType+ = Domain+ | Instance+ | InstanceSnapshot+ | KeyPair+ | PeeredVPC+ | StaticIP+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText ResourceType where+ parser = takeLowerText >>= \case+ "domain" -> pure Domain+ "instance" -> pure Instance+ "instancesnapshot" -> pure InstanceSnapshot+ "keypair" -> pure KeyPair+ "peeredvpc" -> pure PeeredVPC+ "staticip" -> pure StaticIP+ e -> fromTextError $ "Failure parsing ResourceType from value: '" <> e+ <> "'. Accepted values: domain, instance, instancesnapshot, keypair, peeredvpc, staticip"++instance ToText ResourceType where+ toText = \case+ Domain -> "Domain"+ Instance -> "Instance"+ InstanceSnapshot -> "InstanceSnapshot"+ KeyPair -> "KeyPair"+ PeeredVPC -> "PeeredVpc"+ StaticIP -> "StaticIp"++instance Hashable ResourceType+instance NFData ResourceType+instance ToByteString ResourceType+instance ToQuery ResourceType+instance ToHeader ResourceType++instance FromJSON ResourceType where+ parseJSON = parseJSONText "ResourceType"
+ gen/Network/AWS/Lightsail/UnpeerVPC.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.UnpeerVPC+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Attempts to unpeer the Lightsail VPC from the user's default VPC.+--+--+module Network.AWS.Lightsail.UnpeerVPC+ (+ -- * Creating a Request+ unpeerVPC+ , UnpeerVPC++ -- * Destructuring the Response+ , unpeerVPCResponse+ , UnpeerVPCResponse+ -- * Response Lenses+ , uvrsOperation+ , uvrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'unpeerVPC' smart constructor.+data UnpeerVPC =+ UnpeerVPC'+ deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnpeerVPC' with the minimum fields required to make a request.+--+unpeerVPC+ :: UnpeerVPC+unpeerVPC = UnpeerVPC'++instance AWSRequest UnpeerVPC where+ type Rs UnpeerVPC = UnpeerVPCResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ UnpeerVPCResponse' <$>+ (x .?> "operation") <*> (pure (fromEnum s)))++instance Hashable UnpeerVPC++instance NFData UnpeerVPC++instance ToHeaders UnpeerVPC where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.UnpeerVpc" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UnpeerVPC where+ toJSON = const (Object mempty)++instance ToPath UnpeerVPC where+ toPath = const "/"++instance ToQuery UnpeerVPC where+ toQuery = const mempty++-- | /See:/ 'unpeerVPCResponse' smart constructor.+data UnpeerVPCResponse = UnpeerVPCResponse'+ { _uvrsOperation :: !(Maybe Operation)+ , _uvrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnpeerVPCResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uvrsOperation' - An array of key-value pairs containing information about the request operation.+--+-- * 'uvrsResponseStatus' - -- | The response status code.+unpeerVPCResponse+ :: Int -- ^ 'uvrsResponseStatus'+ -> UnpeerVPCResponse+unpeerVPCResponse pResponseStatus_ =+ UnpeerVPCResponse'+ { _uvrsOperation = Nothing+ , _uvrsResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the request operation.+uvrsOperation :: Lens' UnpeerVPCResponse (Maybe Operation)+uvrsOperation = lens _uvrsOperation (\ s a -> s{_uvrsOperation = a});++-- | -- | The response status code.+uvrsResponseStatus :: Lens' UnpeerVPCResponse Int+uvrsResponseStatus = lens _uvrsResponseStatus (\ s a -> s{_uvrsResponseStatus = a});++instance NFData UnpeerVPCResponse
+ gen/Network/AWS/Lightsail/UpdateDomainEntry.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.UpdateDomainEntry+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a domain recordset after it is created.+--+--+module Network.AWS.Lightsail.UpdateDomainEntry+ (+ -- * Creating a Request+ updateDomainEntry+ , UpdateDomainEntry+ -- * Request Lenses+ , udeDomainName+ , udeDomainEntry++ -- * Destructuring the Response+ , updateDomainEntryResponse+ , UpdateDomainEntryResponse+ -- * Response Lenses+ , udersOperations+ , udersResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateDomainEntry' smart constructor.+data UpdateDomainEntry = UpdateDomainEntry'+ { _udeDomainName :: !Text+ , _udeDomainEntry :: !DomainEntry+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateDomainEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udeDomainName' - The name of the domain recordset to update.+--+-- * 'udeDomainEntry' - An array of key-value pairs containing information about the domain entry.+updateDomainEntry+ :: Text -- ^ 'udeDomainName'+ -> DomainEntry -- ^ 'udeDomainEntry'+ -> UpdateDomainEntry+updateDomainEntry pDomainName_ pDomainEntry_ =+ UpdateDomainEntry'+ { _udeDomainName = pDomainName_+ , _udeDomainEntry = pDomainEntry_+ }++-- | The name of the domain recordset to update.+udeDomainName :: Lens' UpdateDomainEntry Text+udeDomainName = lens _udeDomainName (\ s a -> s{_udeDomainName = a});++-- | An array of key-value pairs containing information about the domain entry.+udeDomainEntry :: Lens' UpdateDomainEntry DomainEntry+udeDomainEntry = lens _udeDomainEntry (\ s a -> s{_udeDomainEntry = a});++instance AWSRequest UpdateDomainEntry where+ type Rs UpdateDomainEntry = UpdateDomainEntryResponse+ request = postJSON lightsail+ response+ = receiveJSON+ (\ s h x ->+ UpdateDomainEntryResponse' <$>+ (x .?> "operations" .!@ mempty) <*>+ (pure (fromEnum s)))++instance Hashable UpdateDomainEntry++instance NFData UpdateDomainEntry++instance ToHeaders UpdateDomainEntry where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Lightsail_20161128.UpdateDomainEntry" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateDomainEntry where+ toJSON UpdateDomainEntry'{..}+ = object+ (catMaybes+ [Just ("domainName" .= _udeDomainName),+ Just ("domainEntry" .= _udeDomainEntry)])++instance ToPath UpdateDomainEntry where+ toPath = const "/"++instance ToQuery UpdateDomainEntry where+ toQuery = const mempty++-- | /See:/ 'updateDomainEntryResponse' smart constructor.+data UpdateDomainEntryResponse = UpdateDomainEntryResponse'+ { _udersOperations :: !(Maybe [Operation])+ , _udersResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateDomainEntryResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udersOperations' - An array of key-value pairs containing information about the request operation.+--+-- * 'udersResponseStatus' - -- | The response status code.+updateDomainEntryResponse+ :: Int -- ^ 'udersResponseStatus'+ -> UpdateDomainEntryResponse+updateDomainEntryResponse pResponseStatus_ =+ UpdateDomainEntryResponse'+ { _udersOperations = Nothing+ , _udersResponseStatus = pResponseStatus_+ }++-- | An array of key-value pairs containing information about the request operation.+udersOperations :: Lens' UpdateDomainEntryResponse [Operation]+udersOperations = lens _udersOperations (\ s a -> s{_udersOperations = a}) . _Default . _Coerce;++-- | -- | The response status code.+udersResponseStatus :: Lens' UpdateDomainEntryResponse Int+udersResponseStatus = lens _udersResponseStatus (\ s a -> s{_udersResponseStatus = a});++instance NFData UpdateDomainEntryResponse
+ gen/Network/AWS/Lightsail/Waiters.hs view
@@ -0,0 +1,21 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Lightsail.Waiters+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.Lightsail.Waiters where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Prelude+import Network.AWS.Waiter
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Main (main) where++import Test.Tasty+import Test.AWS.Lightsail+import Test.AWS.Lightsail.Internal++main :: IO ()+main = defaultMain $ testGroup "Lightsail"+ [ testGroup "tests" tests+ , testGroup "fixtures" fixtures+ ]
+ test/Test/AWS/Gen/Lightsail.hs view
@@ -0,0 +1,885 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.AWS.Gen.Lightsail+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Gen.Lightsail where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.Lightsail+import Test.AWS.Lightsail.Internal++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestCloseInstancePublicPorts $+-- closeInstancePublicPorts+--+-- , requestAllocateStaticIP $+-- allocateStaticIP+--+-- , requestDeleteKeyPair $+-- deleteKeyPair+--+-- , requestDeleteInstanceSnapshot $+-- deleteInstanceSnapshot+--+-- , requestGetInstances $+-- getInstances+--+-- , requestGetInstance $+-- getInstance+--+-- , requestAttachStaticIP $+-- attachStaticIP+--+-- , requestDownloadDefaultKeyPair $+-- downloadDefaultKeyPair+--+-- , requestGetDomains $+-- getDomains+--+-- , requestCreateDomainEntry $+-- createDomainEntry+--+-- , requestImportKeyPair $+-- importKeyPair+--+-- , requestGetInstanceSnapshots $+-- getInstanceSnapshots+--+-- , requestReleaseStaticIP $+-- releaseStaticIP+--+-- , requestDeleteInstance $+-- deleteInstance+--+-- , requestRebootInstance $+-- rebootInstance+--+-- , requestGetInstanceSnapshot $+-- getInstanceSnapshot+--+-- , requestGetDomain $+-- getDomain+--+-- , requestGetActiveNames $+-- getActiveNames+--+-- , requestGetInstanceAccessDetails $+-- getInstanceAccessDetails+--+-- , requestStopInstance $+-- stopInstance+--+-- , requestCreateInstanceSnapshot $+-- createInstanceSnapshot+--+-- , requestIsVPCPeered $+-- isVPCPeered+--+-- , requestGetStaticIPs $+-- getStaticIPs+--+-- , requestUnpeerVPC $+-- unpeerVPC+--+-- , requestCreateInstancesFromSnapshot $+-- createInstancesFromSnapshot+--+-- , requestCreateDomain $+-- createDomain+--+-- , requestPeerVPC $+-- peerVPC+--+-- , requestGetStaticIP $+-- getStaticIP+--+-- , requestGetBlueprints $+-- getBlueprints+--+-- , requestGetInstancePortStates $+-- getInstancePortStates+--+-- , requestDeleteDomainEntry $+-- deleteDomainEntry+--+-- , requestUpdateDomainEntry $+-- updateDomainEntry+--+-- , requestGetRegions $+-- getRegions+--+-- , requestGetInstanceState $+-- getInstanceState+--+-- , requestGetKeyPairs $+-- getKeyPairs+--+-- , requestGetOperations $+-- getOperations+--+-- , requestGetOperation $+-- getOperation+--+-- , requestGetInstanceMetricData $+-- getInstanceMetricData+--+-- , requestGetKeyPair $+-- getKeyPair+--+-- , requestDetachStaticIP $+-- detachStaticIP+--+-- , requestCreateInstances $+-- createInstances+--+-- , requestOpenInstancePublicPorts $+-- openInstancePublicPorts+--+-- , requestGetBundles $+-- getBundles+--+-- , requestDeleteDomain $+-- deleteDomain+--+-- , requestGetOperationsForResource $+-- getOperationsForResource+--+-- , requestCreateKeyPair $+-- createKeyPair+--+-- , requestStartInstance $+-- startInstance+--+-- ]++-- , testGroup "response"+-- [ responseCloseInstancePublicPorts $+-- closeInstancePublicPortsResponse+--+-- , responseAllocateStaticIP $+-- allocateStaticIPResponse+--+-- , responseDeleteKeyPair $+-- deleteKeyPairResponse+--+-- , responseDeleteInstanceSnapshot $+-- deleteInstanceSnapshotResponse+--+-- , responseGetInstances $+-- getInstancesResponse+--+-- , responseGetInstance $+-- getInstanceResponse+--+-- , responseAttachStaticIP $+-- attachStaticIPResponse+--+-- , responseDownloadDefaultKeyPair $+-- downloadDefaultKeyPairResponse+--+-- , responseGetDomains $+-- getDomainsResponse+--+-- , responseCreateDomainEntry $+-- createDomainEntryResponse+--+-- , responseImportKeyPair $+-- importKeyPairResponse+--+-- , responseGetInstanceSnapshots $+-- getInstanceSnapshotsResponse+--+-- , responseReleaseStaticIP $+-- releaseStaticIPResponse+--+-- , responseDeleteInstance $+-- deleteInstanceResponse+--+-- , responseRebootInstance $+-- rebootInstanceResponse+--+-- , responseGetInstanceSnapshot $+-- getInstanceSnapshotResponse+--+-- , responseGetDomain $+-- getDomainResponse+--+-- , responseGetActiveNames $+-- getActiveNamesResponse+--+-- , responseGetInstanceAccessDetails $+-- getInstanceAccessDetailsResponse+--+-- , responseStopInstance $+-- stopInstanceResponse+--+-- , responseCreateInstanceSnapshot $+-- createInstanceSnapshotResponse+--+-- , responseIsVPCPeered $+-- isVPCPeeredResponse+--+-- , responseGetStaticIPs $+-- getStaticIPsResponse+--+-- , responseUnpeerVPC $+-- unpeerVPCResponse+--+-- , responseCreateInstancesFromSnapshot $+-- createInstancesFromSnapshotResponse+--+-- , responseCreateDomain $+-- createDomainResponse+--+-- , responsePeerVPC $+-- peerVPCResponse+--+-- , responseGetStaticIP $+-- getStaticIPResponse+--+-- , responseGetBlueprints $+-- getBlueprintsResponse+--+-- , responseGetInstancePortStates $+-- getInstancePortStatesResponse+--+-- , responseDeleteDomainEntry $+-- deleteDomainEntryResponse+--+-- , responseUpdateDomainEntry $+-- updateDomainEntryResponse+--+-- , responseGetRegions $+-- getRegionsResponse+--+-- , responseGetInstanceState $+-- getInstanceStateResponse+--+-- , responseGetKeyPairs $+-- getKeyPairsResponse+--+-- , responseGetOperations $+-- getOperationsResponse+--+-- , responseGetOperation $+-- getOperationResponse+--+-- , responseGetInstanceMetricData $+-- getInstanceMetricDataResponse+--+-- , responseGetKeyPair $+-- getKeyPairResponse+--+-- , responseDetachStaticIP $+-- detachStaticIPResponse+--+-- , responseCreateInstances $+-- createInstancesResponse+--+-- , responseOpenInstancePublicPorts $+-- openInstancePublicPortsResponse+--+-- , responseGetBundles $+-- getBundlesResponse+--+-- , responseDeleteDomain $+-- deleteDomainResponse+--+-- , responseGetOperationsForResource $+-- getOperationsForResourceResponse+--+-- , responseCreateKeyPair $+-- createKeyPairResponse+--+-- , responseStartInstance $+-- startInstanceResponse+--+-- ]+-- ]++-- Requests++requestCloseInstancePublicPorts :: CloseInstancePublicPorts -> TestTree+requestCloseInstancePublicPorts = req+ "CloseInstancePublicPorts"+ "fixture/CloseInstancePublicPorts.yaml"++requestAllocateStaticIP :: AllocateStaticIP -> TestTree+requestAllocateStaticIP = req+ "AllocateStaticIP"+ "fixture/AllocateStaticIP.yaml"++requestDeleteKeyPair :: DeleteKeyPair -> TestTree+requestDeleteKeyPair = req+ "DeleteKeyPair"+ "fixture/DeleteKeyPair.yaml"++requestDeleteInstanceSnapshot :: DeleteInstanceSnapshot -> TestTree+requestDeleteInstanceSnapshot = req+ "DeleteInstanceSnapshot"+ "fixture/DeleteInstanceSnapshot.yaml"++requestGetInstances :: GetInstances -> TestTree+requestGetInstances = req+ "GetInstances"+ "fixture/GetInstances.yaml"++requestGetInstance :: GetInstance -> TestTree+requestGetInstance = req+ "GetInstance"+ "fixture/GetInstance.yaml"++requestAttachStaticIP :: AttachStaticIP -> TestTree+requestAttachStaticIP = req+ "AttachStaticIP"+ "fixture/AttachStaticIP.yaml"++requestDownloadDefaultKeyPair :: DownloadDefaultKeyPair -> TestTree+requestDownloadDefaultKeyPair = req+ "DownloadDefaultKeyPair"+ "fixture/DownloadDefaultKeyPair.yaml"++requestGetDomains :: GetDomains -> TestTree+requestGetDomains = req+ "GetDomains"+ "fixture/GetDomains.yaml"++requestCreateDomainEntry :: CreateDomainEntry -> TestTree+requestCreateDomainEntry = req+ "CreateDomainEntry"+ "fixture/CreateDomainEntry.yaml"++requestImportKeyPair :: ImportKeyPair -> TestTree+requestImportKeyPair = req+ "ImportKeyPair"+ "fixture/ImportKeyPair.yaml"++requestGetInstanceSnapshots :: GetInstanceSnapshots -> TestTree+requestGetInstanceSnapshots = req+ "GetInstanceSnapshots"+ "fixture/GetInstanceSnapshots.yaml"++requestReleaseStaticIP :: ReleaseStaticIP -> TestTree+requestReleaseStaticIP = req+ "ReleaseStaticIP"+ "fixture/ReleaseStaticIP.yaml"++requestDeleteInstance :: DeleteInstance -> TestTree+requestDeleteInstance = req+ "DeleteInstance"+ "fixture/DeleteInstance.yaml"++requestRebootInstance :: RebootInstance -> TestTree+requestRebootInstance = req+ "RebootInstance"+ "fixture/RebootInstance.yaml"++requestGetInstanceSnapshot :: GetInstanceSnapshot -> TestTree+requestGetInstanceSnapshot = req+ "GetInstanceSnapshot"+ "fixture/GetInstanceSnapshot.yaml"++requestGetDomain :: GetDomain -> TestTree+requestGetDomain = req+ "GetDomain"+ "fixture/GetDomain.yaml"++requestGetActiveNames :: GetActiveNames -> TestTree+requestGetActiveNames = req+ "GetActiveNames"+ "fixture/GetActiveNames.yaml"++requestGetInstanceAccessDetails :: GetInstanceAccessDetails -> TestTree+requestGetInstanceAccessDetails = req+ "GetInstanceAccessDetails"+ "fixture/GetInstanceAccessDetails.yaml"++requestStopInstance :: StopInstance -> TestTree+requestStopInstance = req+ "StopInstance"+ "fixture/StopInstance.yaml"++requestCreateInstanceSnapshot :: CreateInstanceSnapshot -> TestTree+requestCreateInstanceSnapshot = req+ "CreateInstanceSnapshot"+ "fixture/CreateInstanceSnapshot.yaml"++requestIsVPCPeered :: IsVPCPeered -> TestTree+requestIsVPCPeered = req+ "IsVPCPeered"+ "fixture/IsVPCPeered.yaml"++requestGetStaticIPs :: GetStaticIPs -> TestTree+requestGetStaticIPs = req+ "GetStaticIPs"+ "fixture/GetStaticIPs.yaml"++requestUnpeerVPC :: UnpeerVPC -> TestTree+requestUnpeerVPC = req+ "UnpeerVPC"+ "fixture/UnpeerVPC.yaml"++requestCreateInstancesFromSnapshot :: CreateInstancesFromSnapshot -> TestTree+requestCreateInstancesFromSnapshot = req+ "CreateInstancesFromSnapshot"+ "fixture/CreateInstancesFromSnapshot.yaml"++requestCreateDomain :: CreateDomain -> TestTree+requestCreateDomain = req+ "CreateDomain"+ "fixture/CreateDomain.yaml"++requestPeerVPC :: PeerVPC -> TestTree+requestPeerVPC = req+ "PeerVPC"+ "fixture/PeerVPC.yaml"++requestGetStaticIP :: GetStaticIP -> TestTree+requestGetStaticIP = req+ "GetStaticIP"+ "fixture/GetStaticIP.yaml"++requestGetBlueprints :: GetBlueprints -> TestTree+requestGetBlueprints = req+ "GetBlueprints"+ "fixture/GetBlueprints.yaml"++requestGetInstancePortStates :: GetInstancePortStates -> TestTree+requestGetInstancePortStates = req+ "GetInstancePortStates"+ "fixture/GetInstancePortStates.yaml"++requestDeleteDomainEntry :: DeleteDomainEntry -> TestTree+requestDeleteDomainEntry = req+ "DeleteDomainEntry"+ "fixture/DeleteDomainEntry.yaml"++requestUpdateDomainEntry :: UpdateDomainEntry -> TestTree+requestUpdateDomainEntry = req+ "UpdateDomainEntry"+ "fixture/UpdateDomainEntry.yaml"++requestGetRegions :: GetRegions -> TestTree+requestGetRegions = req+ "GetRegions"+ "fixture/GetRegions.yaml"++requestGetInstanceState :: GetInstanceState -> TestTree+requestGetInstanceState = req+ "GetInstanceState"+ "fixture/GetInstanceState.yaml"++requestGetKeyPairs :: GetKeyPairs -> TestTree+requestGetKeyPairs = req+ "GetKeyPairs"+ "fixture/GetKeyPairs.yaml"++requestGetOperations :: GetOperations -> TestTree+requestGetOperations = req+ "GetOperations"+ "fixture/GetOperations.yaml"++requestGetOperation :: GetOperation -> TestTree+requestGetOperation = req+ "GetOperation"+ "fixture/GetOperation.yaml"++requestGetInstanceMetricData :: GetInstanceMetricData -> TestTree+requestGetInstanceMetricData = req+ "GetInstanceMetricData"+ "fixture/GetInstanceMetricData.yaml"++requestGetKeyPair :: GetKeyPair -> TestTree+requestGetKeyPair = req+ "GetKeyPair"+ "fixture/GetKeyPair.yaml"++requestDetachStaticIP :: DetachStaticIP -> TestTree+requestDetachStaticIP = req+ "DetachStaticIP"+ "fixture/DetachStaticIP.yaml"++requestCreateInstances :: CreateInstances -> TestTree+requestCreateInstances = req+ "CreateInstances"+ "fixture/CreateInstances.yaml"++requestOpenInstancePublicPorts :: OpenInstancePublicPorts -> TestTree+requestOpenInstancePublicPorts = req+ "OpenInstancePublicPorts"+ "fixture/OpenInstancePublicPorts.yaml"++requestGetBundles :: GetBundles -> TestTree+requestGetBundles = req+ "GetBundles"+ "fixture/GetBundles.yaml"++requestDeleteDomain :: DeleteDomain -> TestTree+requestDeleteDomain = req+ "DeleteDomain"+ "fixture/DeleteDomain.yaml"++requestGetOperationsForResource :: GetOperationsForResource -> TestTree+requestGetOperationsForResource = req+ "GetOperationsForResource"+ "fixture/GetOperationsForResource.yaml"++requestCreateKeyPair :: CreateKeyPair -> TestTree+requestCreateKeyPair = req+ "CreateKeyPair"+ "fixture/CreateKeyPair.yaml"++requestStartInstance :: StartInstance -> TestTree+requestStartInstance = req+ "StartInstance"+ "fixture/StartInstance.yaml"++-- Responses++responseCloseInstancePublicPorts :: CloseInstancePublicPortsResponse -> TestTree+responseCloseInstancePublicPorts = res+ "CloseInstancePublicPortsResponse"+ "fixture/CloseInstancePublicPortsResponse.proto"+ lightsail+ (Proxy :: Proxy CloseInstancePublicPorts)++responseAllocateStaticIP :: AllocateStaticIPResponse -> TestTree+responseAllocateStaticIP = res+ "AllocateStaticIPResponse"+ "fixture/AllocateStaticIPResponse.proto"+ lightsail+ (Proxy :: Proxy AllocateStaticIP)++responseDeleteKeyPair :: DeleteKeyPairResponse -> TestTree+responseDeleteKeyPair = res+ "DeleteKeyPairResponse"+ "fixture/DeleteKeyPairResponse.proto"+ lightsail+ (Proxy :: Proxy DeleteKeyPair)++responseDeleteInstanceSnapshot :: DeleteInstanceSnapshotResponse -> TestTree+responseDeleteInstanceSnapshot = res+ "DeleteInstanceSnapshotResponse"+ "fixture/DeleteInstanceSnapshotResponse.proto"+ lightsail+ (Proxy :: Proxy DeleteInstanceSnapshot)++responseGetInstances :: GetInstancesResponse -> TestTree+responseGetInstances = res+ "GetInstancesResponse"+ "fixture/GetInstancesResponse.proto"+ lightsail+ (Proxy :: Proxy GetInstances)++responseGetInstance :: GetInstanceResponse -> TestTree+responseGetInstance = res+ "GetInstanceResponse"+ "fixture/GetInstanceResponse.proto"+ lightsail+ (Proxy :: Proxy GetInstance)++responseAttachStaticIP :: AttachStaticIPResponse -> TestTree+responseAttachStaticIP = res+ "AttachStaticIPResponse"+ "fixture/AttachStaticIPResponse.proto"+ lightsail+ (Proxy :: Proxy AttachStaticIP)++responseDownloadDefaultKeyPair :: DownloadDefaultKeyPairResponse -> TestTree+responseDownloadDefaultKeyPair = res+ "DownloadDefaultKeyPairResponse"+ "fixture/DownloadDefaultKeyPairResponse.proto"+ lightsail+ (Proxy :: Proxy DownloadDefaultKeyPair)++responseGetDomains :: GetDomainsResponse -> TestTree+responseGetDomains = res+ "GetDomainsResponse"+ "fixture/GetDomainsResponse.proto"+ lightsail+ (Proxy :: Proxy GetDomains)++responseCreateDomainEntry :: CreateDomainEntryResponse -> TestTree+responseCreateDomainEntry = res+ "CreateDomainEntryResponse"+ "fixture/CreateDomainEntryResponse.proto"+ lightsail+ (Proxy :: Proxy CreateDomainEntry)++responseImportKeyPair :: ImportKeyPairResponse -> TestTree+responseImportKeyPair = res+ "ImportKeyPairResponse"+ "fixture/ImportKeyPairResponse.proto"+ lightsail+ (Proxy :: Proxy ImportKeyPair)++responseGetInstanceSnapshots :: GetInstanceSnapshotsResponse -> TestTree+responseGetInstanceSnapshots = res+ "GetInstanceSnapshotsResponse"+ "fixture/GetInstanceSnapshotsResponse.proto"+ lightsail+ (Proxy :: Proxy GetInstanceSnapshots)++responseReleaseStaticIP :: ReleaseStaticIPResponse -> TestTree+responseReleaseStaticIP = res+ "ReleaseStaticIPResponse"+ "fixture/ReleaseStaticIPResponse.proto"+ lightsail+ (Proxy :: Proxy ReleaseStaticIP)++responseDeleteInstance :: DeleteInstanceResponse -> TestTree+responseDeleteInstance = res+ "DeleteInstanceResponse"+ "fixture/DeleteInstanceResponse.proto"+ lightsail+ (Proxy :: Proxy DeleteInstance)++responseRebootInstance :: RebootInstanceResponse -> TestTree+responseRebootInstance = res+ "RebootInstanceResponse"+ "fixture/RebootInstanceResponse.proto"+ lightsail+ (Proxy :: Proxy RebootInstance)++responseGetInstanceSnapshot :: GetInstanceSnapshotResponse -> TestTree+responseGetInstanceSnapshot = res+ "GetInstanceSnapshotResponse"+ "fixture/GetInstanceSnapshotResponse.proto"+ lightsail+ (Proxy :: Proxy GetInstanceSnapshot)++responseGetDomain :: GetDomainResponse -> TestTree+responseGetDomain = res+ "GetDomainResponse"+ "fixture/GetDomainResponse.proto"+ lightsail+ (Proxy :: Proxy GetDomain)++responseGetActiveNames :: GetActiveNamesResponse -> TestTree+responseGetActiveNames = res+ "GetActiveNamesResponse"+ "fixture/GetActiveNamesResponse.proto"+ lightsail+ (Proxy :: Proxy GetActiveNames)++responseGetInstanceAccessDetails :: GetInstanceAccessDetailsResponse -> TestTree+responseGetInstanceAccessDetails = res+ "GetInstanceAccessDetailsResponse"+ "fixture/GetInstanceAccessDetailsResponse.proto"+ lightsail+ (Proxy :: Proxy GetInstanceAccessDetails)++responseStopInstance :: StopInstanceResponse -> TestTree+responseStopInstance = res+ "StopInstanceResponse"+ "fixture/StopInstanceResponse.proto"+ lightsail+ (Proxy :: Proxy StopInstance)++responseCreateInstanceSnapshot :: CreateInstanceSnapshotResponse -> TestTree+responseCreateInstanceSnapshot = res+ "CreateInstanceSnapshotResponse"+ "fixture/CreateInstanceSnapshotResponse.proto"+ lightsail+ (Proxy :: Proxy CreateInstanceSnapshot)++responseIsVPCPeered :: IsVPCPeeredResponse -> TestTree+responseIsVPCPeered = res+ "IsVPCPeeredResponse"+ "fixture/IsVPCPeeredResponse.proto"+ lightsail+ (Proxy :: Proxy IsVPCPeered)++responseGetStaticIPs :: GetStaticIPsResponse -> TestTree+responseGetStaticIPs = res+ "GetStaticIPsResponse"+ "fixture/GetStaticIPsResponse.proto"+ lightsail+ (Proxy :: Proxy GetStaticIPs)++responseUnpeerVPC :: UnpeerVPCResponse -> TestTree+responseUnpeerVPC = res+ "UnpeerVPCResponse"+ "fixture/UnpeerVPCResponse.proto"+ lightsail+ (Proxy :: Proxy UnpeerVPC)++responseCreateInstancesFromSnapshot :: CreateInstancesFromSnapshotResponse -> TestTree+responseCreateInstancesFromSnapshot = res+ "CreateInstancesFromSnapshotResponse"+ "fixture/CreateInstancesFromSnapshotResponse.proto"+ lightsail+ (Proxy :: Proxy CreateInstancesFromSnapshot)++responseCreateDomain :: CreateDomainResponse -> TestTree+responseCreateDomain = res+ "CreateDomainResponse"+ "fixture/CreateDomainResponse.proto"+ lightsail+ (Proxy :: Proxy CreateDomain)++responsePeerVPC :: PeerVPCResponse -> TestTree+responsePeerVPC = res+ "PeerVPCResponse"+ "fixture/PeerVPCResponse.proto"+ lightsail+ (Proxy :: Proxy PeerVPC)++responseGetStaticIP :: GetStaticIPResponse -> TestTree+responseGetStaticIP = res+ "GetStaticIPResponse"+ "fixture/GetStaticIPResponse.proto"+ lightsail+ (Proxy :: Proxy GetStaticIP)++responseGetBlueprints :: GetBlueprintsResponse -> TestTree+responseGetBlueprints = res+ "GetBlueprintsResponse"+ "fixture/GetBlueprintsResponse.proto"+ lightsail+ (Proxy :: Proxy GetBlueprints)++responseGetInstancePortStates :: GetInstancePortStatesResponse -> TestTree+responseGetInstancePortStates = res+ "GetInstancePortStatesResponse"+ "fixture/GetInstancePortStatesResponse.proto"+ lightsail+ (Proxy :: Proxy GetInstancePortStates)++responseDeleteDomainEntry :: DeleteDomainEntryResponse -> TestTree+responseDeleteDomainEntry = res+ "DeleteDomainEntryResponse"+ "fixture/DeleteDomainEntryResponse.proto"+ lightsail+ (Proxy :: Proxy DeleteDomainEntry)++responseUpdateDomainEntry :: UpdateDomainEntryResponse -> TestTree+responseUpdateDomainEntry = res+ "UpdateDomainEntryResponse"+ "fixture/UpdateDomainEntryResponse.proto"+ lightsail+ (Proxy :: Proxy UpdateDomainEntry)++responseGetRegions :: GetRegionsResponse -> TestTree+responseGetRegions = res+ "GetRegionsResponse"+ "fixture/GetRegionsResponse.proto"+ lightsail+ (Proxy :: Proxy GetRegions)++responseGetInstanceState :: GetInstanceStateResponse -> TestTree+responseGetInstanceState = res+ "GetInstanceStateResponse"+ "fixture/GetInstanceStateResponse.proto"+ lightsail+ (Proxy :: Proxy GetInstanceState)++responseGetKeyPairs :: GetKeyPairsResponse -> TestTree+responseGetKeyPairs = res+ "GetKeyPairsResponse"+ "fixture/GetKeyPairsResponse.proto"+ lightsail+ (Proxy :: Proxy GetKeyPairs)++responseGetOperations :: GetOperationsResponse -> TestTree+responseGetOperations = res+ "GetOperationsResponse"+ "fixture/GetOperationsResponse.proto"+ lightsail+ (Proxy :: Proxy GetOperations)++responseGetOperation :: GetOperationResponse -> TestTree+responseGetOperation = res+ "GetOperationResponse"+ "fixture/GetOperationResponse.proto"+ lightsail+ (Proxy :: Proxy GetOperation)++responseGetInstanceMetricData :: GetInstanceMetricDataResponse -> TestTree+responseGetInstanceMetricData = res+ "GetInstanceMetricDataResponse"+ "fixture/GetInstanceMetricDataResponse.proto"+ lightsail+ (Proxy :: Proxy GetInstanceMetricData)++responseGetKeyPair :: GetKeyPairResponse -> TestTree+responseGetKeyPair = res+ "GetKeyPairResponse"+ "fixture/GetKeyPairResponse.proto"+ lightsail+ (Proxy :: Proxy GetKeyPair)++responseDetachStaticIP :: DetachStaticIPResponse -> TestTree+responseDetachStaticIP = res+ "DetachStaticIPResponse"+ "fixture/DetachStaticIPResponse.proto"+ lightsail+ (Proxy :: Proxy DetachStaticIP)++responseCreateInstances :: CreateInstancesResponse -> TestTree+responseCreateInstances = res+ "CreateInstancesResponse"+ "fixture/CreateInstancesResponse.proto"+ lightsail+ (Proxy :: Proxy CreateInstances)++responseOpenInstancePublicPorts :: OpenInstancePublicPortsResponse -> TestTree+responseOpenInstancePublicPorts = res+ "OpenInstancePublicPortsResponse"+ "fixture/OpenInstancePublicPortsResponse.proto"+ lightsail+ (Proxy :: Proxy OpenInstancePublicPorts)++responseGetBundles :: GetBundlesResponse -> TestTree+responseGetBundles = res+ "GetBundlesResponse"+ "fixture/GetBundlesResponse.proto"+ lightsail+ (Proxy :: Proxy GetBundles)++responseDeleteDomain :: DeleteDomainResponse -> TestTree+responseDeleteDomain = res+ "DeleteDomainResponse"+ "fixture/DeleteDomainResponse.proto"+ lightsail+ (Proxy :: Proxy DeleteDomain)++responseGetOperationsForResource :: GetOperationsForResourceResponse -> TestTree+responseGetOperationsForResource = res+ "GetOperationsForResourceResponse"+ "fixture/GetOperationsForResourceResponse.proto"+ lightsail+ (Proxy :: Proxy GetOperationsForResource)++responseCreateKeyPair :: CreateKeyPairResponse -> TestTree+responseCreateKeyPair = res+ "CreateKeyPairResponse"+ "fixture/CreateKeyPairResponse.proto"+ lightsail+ (Proxy :: Proxy CreateKeyPair)++responseStartInstance :: StartInstanceResponse -> TestTree+responseStartInstance = res+ "StartInstanceResponse"+ "fixture/StartInstanceResponse.proto"+ lightsail+ (Proxy :: Proxy StartInstance)
+ test/Test/AWS/Lightsail.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.AWS.Lightsail+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Lightsail+ ( tests+ , fixtures+ ) where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/Lightsail/Internal.hs view
@@ -0,0 +1,9 @@+-- |+-- Module : Test.AWS.Lightsail.Internal+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Lightsail.Internal where