amazonka-storagegateway (empty) → 0.0.0
raw patch · 53 files changed
+8653/−0 lines, 53 filesdep +amazonka-coredep +basesetup-changed
Dependencies added: amazonka-core, base
Files
- LICENSE +373/−0
- README.md +26/−0
- Setup.hs +2/−0
- amazonka-storagegateway.cabal +91/−0
- gen/Network/AWS/StorageGateway.hs +113/−0
- gen/Network/AWS/StorageGateway/ActivateGateway.hs +197/−0
- gen/Network/AWS/StorageGateway/AddCache.hs +121/−0
- gen/Network/AWS/StorageGateway/AddUploadBuffer.hs +121/−0
- gen/Network/AWS/StorageGateway/AddWorkingStorage.hs +125/−0
- gen/Network/AWS/StorageGateway/CancelArchival.hs +122/−0
- gen/Network/AWS/StorageGateway/CancelRetrieval.hs +123/−0
- gen/Network/AWS/StorageGateway/CreateCachediSCSIVolume.hs +182/−0
- gen/Network/AWS/StorageGateway/CreateSnapshot.hs +151/−0
- gen/Network/AWS/StorageGateway/CreateSnapshotFromVolumeRecoveryPoint.hs +152/−0
- gen/Network/AWS/StorageGateway/CreateStorediSCSIVolume.hs +218/−0
- gen/Network/AWS/StorageGateway/CreateTapes.hs +170/−0
- gen/Network/AWS/StorageGateway/DeleteBandwidthRateLimit.hs +122/−0
- gen/Network/AWS/StorageGateway/DeleteChapCredentials.hs +135/−0
- gen/Network/AWS/StorageGateway/DeleteGateway.hs +120/−0
- gen/Network/AWS/StorageGateway/DeleteSnapshotSchedule.hs +111/−0
- gen/Network/AWS/StorageGateway/DeleteTape.hs +122/−0
- gen/Network/AWS/StorageGateway/DeleteTapeArchive.hs +111/−0
- gen/Network/AWS/StorageGateway/DeleteVolume.hs +121/−0
- gen/Network/AWS/StorageGateway/DescribeBandwidthRateLimit.hs +141/−0
- gen/Network/AWS/StorageGateway/DescribeCache.hs +170/−0
- gen/Network/AWS/StorageGateway/DescribeCachediSCSIVolumes.hs +129/−0
- gen/Network/AWS/StorageGateway/DescribeChapCredentials.hs +131/−0
- gen/Network/AWS/StorageGateway/DescribeGatewayInformation.hs +180/−0
- gen/Network/AWS/StorageGateway/DescribeMaintenanceStartTime.hs +147/−0
- gen/Network/AWS/StorageGateway/DescribeSnapshotSchedule.hs +149/−0
- gen/Network/AWS/StorageGateway/DescribeStorediSCSIVolumes.hs +129/−0
- gen/Network/AWS/StorageGateway/DescribeTapeArchives.hs +158/−0
- gen/Network/AWS/StorageGateway/DescribeTapeRecoveryPoints.hs +167/−0
- gen/Network/AWS/StorageGateway/DescribeTapes.hs +164/−0
- gen/Network/AWS/StorageGateway/DescribeUploadBuffer.hs +142/−0
- gen/Network/AWS/StorageGateway/DescribeVTLDevices.hs +174/−0
- gen/Network/AWS/StorageGateway/DescribeWorkingStorage.hs +151/−0
- gen/Network/AWS/StorageGateway/DisableGateway.hs +112/−0
- gen/Network/AWS/StorageGateway/ListGateways.hs +141/−0
- gen/Network/AWS/StorageGateway/ListLocalDisks.hs +120/−0
- gen/Network/AWS/StorageGateway/ListVolumeRecoveryPoints.hs +124/−0
- gen/Network/AWS/StorageGateway/ListVolumes.hs +162/−0
- gen/Network/AWS/StorageGateway/RetrieveTapeArchive.hs +130/−0
- gen/Network/AWS/StorageGateway/RetrieveTapeRecoveryPoint.hs +124/−0
- gen/Network/AWS/StorageGateway/ShutdownGateway.hs +117/−0
- gen/Network/AWS/StorageGateway/StartGateway.hs +112/−0
- gen/Network/AWS/StorageGateway/Types.hs +1405/−0
- gen/Network/AWS/StorageGateway/UpdateBandwidthRateLimit.hs +140/−0
- gen/Network/AWS/StorageGateway/UpdateChapCredentials.hs +166/−0
- gen/Network/AWS/StorageGateway/UpdateGatewayInformation.hs +128/−0
- gen/Network/AWS/StorageGateway/UpdateGatewaySoftwareNow.hs +113/−0
- gen/Network/AWS/StorageGateway/UpdateMaintenanceStartTime.hs +146/−0
- gen/Network/AWS/StorageGateway/UpdateSnapshotSchedule.hs +152/−0
+ LICENSE view
@@ -0,0 +1,373 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.++Exhibit B - "Incompatible With Secondary Licenses" Notice+---------------------------------------------------------++ This Source Code Form is "Incompatible With Secondary Licenses", as+ defined by the Mozilla Public License, v. 2.0.
+ README.md view
@@ -0,0 +1,26 @@+# Amazon Storage Gateway SDK++> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!++* [description](#description)+* [Contribute](#contribute)+* [Licence](#licence)++## Description++AWS Storage Gateway is a service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between your on-premises IT environment and AWS's storage infrastructure.++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-storagegateway)+and [AWS API Reference](http://docs.aws.amazon.com/storagegateway/latest/APIReference/Welcome.html).+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-storagegateway` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ amazonka-storagegateway.cabal view
@@ -0,0 +1,91 @@+name: amazonka-storagegateway+version: 0.0.0+synopsis: Amazon Storage Gateway SDK.+homepage: https://github.com/brendanhay/amazonka+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2013-2014 Brendan Hay+category: Network, AWS, Cloud+build-type: Simple+extra-source-files: README.md+cabal-version: >= 1.10++description:+ AWS Storage Gateway is a service that connects an on-premises software+ appliance with cloud-based storage to provide seamless and secure+ integration between your on-premises IT environment and AWS's storage+ infrastructure.+ .+ /See:/ <http://docs.aws.amazon.com/storagegateway/latest/APIReference/Welcome.html AWS API Reference>+ .+ /Warning:/ This is an experimental preview release which is still under+ heavy development and not intended for public consumption, caveat emptor!++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.AWS.StorageGateway+ , Network.AWS.StorageGateway.ActivateGateway+ , Network.AWS.StorageGateway.AddCache+ , Network.AWS.StorageGateway.AddUploadBuffer+ , Network.AWS.StorageGateway.AddWorkingStorage+ , Network.AWS.StorageGateway.CancelArchival+ , Network.AWS.StorageGateway.CancelRetrieval+ , Network.AWS.StorageGateway.CreateCachediSCSIVolume+ , Network.AWS.StorageGateway.CreateSnapshot+ , Network.AWS.StorageGateway.CreateSnapshotFromVolumeRecoveryPoint+ , Network.AWS.StorageGateway.CreateStorediSCSIVolume+ , Network.AWS.StorageGateway.CreateTapes+ , Network.AWS.StorageGateway.DeleteBandwidthRateLimit+ , Network.AWS.StorageGateway.DeleteChapCredentials+ , Network.AWS.StorageGateway.DeleteGateway+ , Network.AWS.StorageGateway.DeleteSnapshotSchedule+ , Network.AWS.StorageGateway.DeleteTape+ , Network.AWS.StorageGateway.DeleteTapeArchive+ , Network.AWS.StorageGateway.DeleteVolume+ , Network.AWS.StorageGateway.DescribeBandwidthRateLimit+ , Network.AWS.StorageGateway.DescribeCache+ , Network.AWS.StorageGateway.DescribeCachediSCSIVolumes+ , Network.AWS.StorageGateway.DescribeChapCredentials+ , Network.AWS.StorageGateway.DescribeGatewayInformation+ , Network.AWS.StorageGateway.DescribeMaintenanceStartTime+ , Network.AWS.StorageGateway.DescribeSnapshotSchedule+ , Network.AWS.StorageGateway.DescribeStorediSCSIVolumes+ , Network.AWS.StorageGateway.DescribeTapeArchives+ , Network.AWS.StorageGateway.DescribeTapeRecoveryPoints+ , Network.AWS.StorageGateway.DescribeTapes+ , Network.AWS.StorageGateway.DescribeUploadBuffer+ , Network.AWS.StorageGateway.DescribeVTLDevices+ , Network.AWS.StorageGateway.DescribeWorkingStorage+ , Network.AWS.StorageGateway.DisableGateway+ , Network.AWS.StorageGateway.ListGateways+ , Network.AWS.StorageGateway.ListLocalDisks+ , Network.AWS.StorageGateway.ListVolumeRecoveryPoints+ , Network.AWS.StorageGateway.ListVolumes+ , Network.AWS.StorageGateway.RetrieveTapeArchive+ , Network.AWS.StorageGateway.RetrieveTapeRecoveryPoint+ , Network.AWS.StorageGateway.ShutdownGateway+ , Network.AWS.StorageGateway.StartGateway+ , Network.AWS.StorageGateway.Types+ , Network.AWS.StorageGateway.UpdateBandwidthRateLimit+ , Network.AWS.StorageGateway.UpdateChapCredentials+ , Network.AWS.StorageGateway.UpdateGatewayInformation+ , Network.AWS.StorageGateway.UpdateGatewaySoftwareNow+ , Network.AWS.StorageGateway.UpdateMaintenanceStartTime+ , Network.AWS.StorageGateway.UpdateSnapshotSchedule++ other-modules:++ build-depends:+ amazonka-core+ , base >= 4.7 && < 5
+ gen/Network/AWS/StorageGateway.hs view
@@ -0,0 +1,113 @@+-- Module : Network.AWS.StorageGateway+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | AWS Storage Gateway is a service that connects an on-premises software+-- appliance with cloud-based storage to provide seamless and secure+-- integration between your on-premises IT environment and AWS's storage+-- infrastructure.+module Network.AWS.StorageGateway+ ( module Network.AWS.StorageGateway.ActivateGateway+ , module Network.AWS.StorageGateway.AddCache+ , module Network.AWS.StorageGateway.AddUploadBuffer+ , module Network.AWS.StorageGateway.AddWorkingStorage+ , module Network.AWS.StorageGateway.CancelArchival+ , module Network.AWS.StorageGateway.CancelRetrieval+ , module Network.AWS.StorageGateway.CreateCachediSCSIVolume+ , module Network.AWS.StorageGateway.CreateSnapshot+ , module Network.AWS.StorageGateway.CreateSnapshotFromVolumeRecoveryPoint+ , module Network.AWS.StorageGateway.CreateStorediSCSIVolume+ , module Network.AWS.StorageGateway.CreateTapes+ , module Network.AWS.StorageGateway.DeleteBandwidthRateLimit+ , module Network.AWS.StorageGateway.DeleteChapCredentials+ , module Network.AWS.StorageGateway.DeleteGateway+ , module Network.AWS.StorageGateway.DeleteSnapshotSchedule+ , module Network.AWS.StorageGateway.DeleteTape+ , module Network.AWS.StorageGateway.DeleteTapeArchive+ , module Network.AWS.StorageGateway.DeleteVolume+ , module Network.AWS.StorageGateway.DescribeBandwidthRateLimit+ , module Network.AWS.StorageGateway.DescribeCache+ , module Network.AWS.StorageGateway.DescribeCachediSCSIVolumes+ , module Network.AWS.StorageGateway.DescribeChapCredentials+ , module Network.AWS.StorageGateway.DescribeGatewayInformation+ , module Network.AWS.StorageGateway.DescribeMaintenanceStartTime+ , module Network.AWS.StorageGateway.DescribeSnapshotSchedule+ , module Network.AWS.StorageGateway.DescribeStorediSCSIVolumes+ , module Network.AWS.StorageGateway.DescribeTapeArchives+ , module Network.AWS.StorageGateway.DescribeTapeRecoveryPoints+ , module Network.AWS.StorageGateway.DescribeTapes+ , module Network.AWS.StorageGateway.DescribeUploadBuffer+ , module Network.AWS.StorageGateway.DescribeVTLDevices+ , module Network.AWS.StorageGateway.DescribeWorkingStorage+ , module Network.AWS.StorageGateway.DisableGateway+ , module Network.AWS.StorageGateway.ListGateways+ , module Network.AWS.StorageGateway.ListLocalDisks+ , module Network.AWS.StorageGateway.ListVolumeRecoveryPoints+ , module Network.AWS.StorageGateway.ListVolumes+ , module Network.AWS.StorageGateway.RetrieveTapeArchive+ , module Network.AWS.StorageGateway.RetrieveTapeRecoveryPoint+ , module Network.AWS.StorageGateway.ShutdownGateway+ , module Network.AWS.StorageGateway.StartGateway+ , module Network.AWS.StorageGateway.Types+ , module Network.AWS.StorageGateway.UpdateBandwidthRateLimit+ , module Network.AWS.StorageGateway.UpdateChapCredentials+ , module Network.AWS.StorageGateway.UpdateGatewayInformation+ , module Network.AWS.StorageGateway.UpdateGatewaySoftwareNow+ , module Network.AWS.StorageGateway.UpdateMaintenanceStartTime+ , module Network.AWS.StorageGateway.UpdateSnapshotSchedule+ ) where++import Network.AWS.StorageGateway.ActivateGateway+import Network.AWS.StorageGateway.AddCache+import Network.AWS.StorageGateway.AddUploadBuffer+import Network.AWS.StorageGateway.AddWorkingStorage+import Network.AWS.StorageGateway.CancelArchival+import Network.AWS.StorageGateway.CancelRetrieval+import Network.AWS.StorageGateway.CreateCachediSCSIVolume+import Network.AWS.StorageGateway.CreateSnapshot+import Network.AWS.StorageGateway.CreateSnapshotFromVolumeRecoveryPoint+import Network.AWS.StorageGateway.CreateStorediSCSIVolume+import Network.AWS.StorageGateway.CreateTapes+import Network.AWS.StorageGateway.DeleteBandwidthRateLimit+import Network.AWS.StorageGateway.DeleteChapCredentials+import Network.AWS.StorageGateway.DeleteGateway+import Network.AWS.StorageGateway.DeleteSnapshotSchedule+import Network.AWS.StorageGateway.DeleteTape+import Network.AWS.StorageGateway.DeleteTapeArchive+import Network.AWS.StorageGateway.DeleteVolume+import Network.AWS.StorageGateway.DescribeBandwidthRateLimit+import Network.AWS.StorageGateway.DescribeCache+import Network.AWS.StorageGateway.DescribeCachediSCSIVolumes+import Network.AWS.StorageGateway.DescribeChapCredentials+import Network.AWS.StorageGateway.DescribeGatewayInformation+import Network.AWS.StorageGateway.DescribeMaintenanceStartTime+import Network.AWS.StorageGateway.DescribeSnapshotSchedule+import Network.AWS.StorageGateway.DescribeStorediSCSIVolumes+import Network.AWS.StorageGateway.DescribeTapeArchives+import Network.AWS.StorageGateway.DescribeTapeRecoveryPoints+import Network.AWS.StorageGateway.DescribeTapes+import Network.AWS.StorageGateway.DescribeUploadBuffer+import Network.AWS.StorageGateway.DescribeVTLDevices+import Network.AWS.StorageGateway.DescribeWorkingStorage+import Network.AWS.StorageGateway.DisableGateway+import Network.AWS.StorageGateway.ListGateways+import Network.AWS.StorageGateway.ListLocalDisks+import Network.AWS.StorageGateway.ListVolumeRecoveryPoints+import Network.AWS.StorageGateway.ListVolumes+import Network.AWS.StorageGateway.RetrieveTapeArchive+import Network.AWS.StorageGateway.RetrieveTapeRecoveryPoint+import Network.AWS.StorageGateway.ShutdownGateway+import Network.AWS.StorageGateway.StartGateway+import Network.AWS.StorageGateway.Types+import Network.AWS.StorageGateway.UpdateBandwidthRateLimit+import Network.AWS.StorageGateway.UpdateChapCredentials+import Network.AWS.StorageGateway.UpdateGatewayInformation+import Network.AWS.StorageGateway.UpdateGatewaySoftwareNow+import Network.AWS.StorageGateway.UpdateMaintenanceStartTime+import Network.AWS.StorageGateway.UpdateSnapshotSchedule
+ gen/Network/AWS/StorageGateway/ActivateGateway.hs view
@@ -0,0 +1,197 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.ActivateGateway+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation activates the gateway you previously deployed on your host.+-- For more information, see Activate the AWS Storage Gateway. In the+-- activation process, you specify information such as the region you want to+-- use for storing snapshots, the time zone for scheduled snapshots the+-- gateway snapshot schedule window, an activation key, and a name for your+-- gateway. The activation process also associates your gateway with your+-- account; for more information, see UpdateGatewayInformation.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_ActivateGateway.html>+module Network.AWS.StorageGateway.ActivateGateway+ (+ -- * Request+ ActivateGateway+ -- ** Request constructor+ , activateGateway+ -- ** Request lenses+ , agActivationKey+ , agGatewayName+ , agGatewayRegion+ , agGatewayTimezone+ , agGatewayType+ , agMediumChangerType+ , agTapeDriveType++ -- * Response+ , ActivateGatewayResponse+ -- ** Response constructor+ , activateGatewayResponse+ -- ** Response lenses+ , agrGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data ActivateGateway = ActivateGateway+ { _agActivationKey :: Text+ , _agGatewayName :: Text+ , _agGatewayRegion :: Text+ , _agGatewayTimezone :: Text+ , _agGatewayType :: Maybe Text+ , _agMediumChangerType :: Maybe Text+ , _agTapeDriveType :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'ActivateGateway' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'agActivationKey' @::@ 'Text'+--+-- * 'agGatewayName' @::@ 'Text'+--+-- * 'agGatewayRegion' @::@ 'Text'+--+-- * 'agGatewayTimezone' @::@ 'Text'+--+-- * 'agGatewayType' @::@ 'Maybe' 'Text'+--+-- * 'agMediumChangerType' @::@ 'Maybe' 'Text'+--+-- * 'agTapeDriveType' @::@ 'Maybe' 'Text'+--+activateGateway :: Text -- ^ 'agActivationKey'+ -> Text -- ^ 'agGatewayName'+ -> Text -- ^ 'agGatewayTimezone'+ -> Text -- ^ 'agGatewayRegion'+ -> ActivateGateway+activateGateway p1 p2 p3 p4 = ActivateGateway+ { _agActivationKey = p1+ , _agGatewayName = p2+ , _agGatewayTimezone = p3+ , _agGatewayRegion = p4+ , _agGatewayType = Nothing+ , _agTapeDriveType = Nothing+ , _agMediumChangerType = Nothing+ }++-- | Your gateway activation key. You can obtain the activation key by sending+-- an HTTP GET request with redirects enabled to the gateway IP address+-- (port 80). The redirect URL returned in the response provides you the+-- activation key for your gateway in the query string parameter+-- activationKey. It may also include other activation-related parameters,+-- however, these are merely defaults -- the arguments you pass to the+-- ActivateGateway API call determine the actual configuration of your+-- gateway.+agActivationKey :: Lens' ActivateGateway Text+agActivationKey = lens _agActivationKey (\s a -> s { _agActivationKey = a })++agGatewayName :: Lens' ActivateGateway Text+agGatewayName = lens _agGatewayName (\s a -> s { _agGatewayName = a })++-- | One of the values that indicates the region where you want to store the+-- snapshot backups. The gateway region specified must be the same region as+-- the region in your Host header in the request. For more information about+-- available regions and endpoints for AWS Storage Gateway, see Regions and+-- Endpoints in the Amazon Web Services Glossary. Valid Values: "us-east-1",+-- "us-west-1", "us-west-2", "eu-west-1", "eu-central-1", "ap-northeast-1",+-- "ap-southeast-1", "ap-southeast-2", "sa-east-1".+agGatewayRegion :: Lens' ActivateGateway Text+agGatewayRegion = lens _agGatewayRegion (\s a -> s { _agGatewayRegion = a })++-- | One of the values that indicates the time zone you want to set for the+-- gateway. The time zone is used, for example, for scheduling snapshots and+-- your gateway's maintenance schedule.+agGatewayTimezone :: Lens' ActivateGateway Text+agGatewayTimezone =+ lens _agGatewayTimezone (\s a -> s { _agGatewayTimezone = a })++-- | One of the values that defines the type of gateway to activate. The type+-- specified is critical to all later functions of the gateway and cannot be+-- changed after activation. The default value is STORED.+agGatewayType :: Lens' ActivateGateway (Maybe Text)+agGatewayType = lens _agGatewayType (\s a -> s { _agGatewayType = a })++-- | The value that indicates the type of medium changer to use for+-- gateway-VTL. This field is optional. Valid Values: "STK-L700".+agMediumChangerType :: Lens' ActivateGateway (Maybe Text)+agMediumChangerType =+ lens _agMediumChangerType (\s a -> s { _agMediumChangerType = a })++-- | The value that indicates the type of tape drive to use for gateway-VTL.+-- This field is optional. Valid Values: "IBM-ULT3580-TD5".+agTapeDriveType :: Lens' ActivateGateway (Maybe Text)+agTapeDriveType = lens _agTapeDriveType (\s a -> s { _agTapeDriveType = a })++newtype ActivateGatewayResponse = ActivateGatewayResponse+ { _agrGatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'ActivateGatewayResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'agrGatewayARN' @::@ 'Maybe' 'Text'+--+activateGatewayResponse :: ActivateGatewayResponse+activateGatewayResponse = ActivateGatewayResponse+ { _agrGatewayARN = Nothing+ }++agrGatewayARN :: Lens' ActivateGatewayResponse (Maybe Text)+agrGatewayARN = lens _agrGatewayARN (\s a -> s { _agrGatewayARN = a })++instance ToPath ActivateGateway where+ toPath = const "/"++instance ToQuery ActivateGateway where+ toQuery = const mempty++instance ToHeaders ActivateGateway++instance ToJSON ActivateGateway where+ toJSON ActivateGateway{..} = object+ [ "ActivationKey" .= _agActivationKey+ , "GatewayName" .= _agGatewayName+ , "GatewayTimezone" .= _agGatewayTimezone+ , "GatewayRegion" .= _agGatewayRegion+ , "GatewayType" .= _agGatewayType+ , "TapeDriveType" .= _agTapeDriveType+ , "MediumChangerType" .= _agMediumChangerType+ ]++instance AWSRequest ActivateGateway where+ type Sv ActivateGateway = StorageGateway+ type Rs ActivateGateway = ActivateGatewayResponse++ request = post "ActivateGateway"+ response = jsonResponse++instance FromJSON ActivateGatewayResponse where+ parseJSON = withObject "ActivateGatewayResponse" $ \o -> ActivateGatewayResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/AddCache.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.AddCache+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation configures one or more gateway local disks as cache for a+-- cached-volume gateway. This operation is supported only for the+-- gateway-cached volume architecture (see Storage Gateway Concepts). In the+-- request, you specify the gateway Amazon Resource Name (ARN) to which you+-- want to add cache, and one or more disk IDs that you want to configure as+-- cache.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_AddCache.html>+module Network.AWS.StorageGateway.AddCache+ (+ -- * Request+ AddCache+ -- ** Request constructor+ , addCache+ -- ** Request lenses+ , acDiskIds+ , acGatewayARN++ -- * Response+ , AddCacheResponse+ -- ** Response constructor+ , addCacheResponse+ -- ** Response lenses+ , acrGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data AddCache = AddCache+ { _acDiskIds :: List "DiskIds" Text+ , _acGatewayARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'AddCache' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'acDiskIds' @::@ ['Text']+--+-- * 'acGatewayARN' @::@ 'Text'+--+addCache :: Text -- ^ 'acGatewayARN'+ -> AddCache+addCache p1 = AddCache+ { _acGatewayARN = p1+ , _acDiskIds = mempty+ }++acDiskIds :: Lens' AddCache [Text]+acDiskIds = lens _acDiskIds (\s a -> s { _acDiskIds = a }) . _List++acGatewayARN :: Lens' AddCache Text+acGatewayARN = lens _acGatewayARN (\s a -> s { _acGatewayARN = a })++newtype AddCacheResponse = AddCacheResponse+ { _acrGatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'AddCacheResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'acrGatewayARN' @::@ 'Maybe' 'Text'+--+addCacheResponse :: AddCacheResponse+addCacheResponse = AddCacheResponse+ { _acrGatewayARN = Nothing+ }++acrGatewayARN :: Lens' AddCacheResponse (Maybe Text)+acrGatewayARN = lens _acrGatewayARN (\s a -> s { _acrGatewayARN = a })++instance ToPath AddCache where+ toPath = const "/"++instance ToQuery AddCache where+ toQuery = const mempty++instance ToHeaders AddCache++instance ToJSON AddCache where+ toJSON AddCache{..} = object+ [ "GatewayARN" .= _acGatewayARN+ , "DiskIds" .= _acDiskIds+ ]++instance AWSRequest AddCache where+ type Sv AddCache = StorageGateway+ type Rs AddCache = AddCacheResponse++ request = post "AddCache"+ response = jsonResponse++instance FromJSON AddCacheResponse where+ parseJSON = withObject "AddCacheResponse" $ \o -> AddCacheResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/AddUploadBuffer.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.AddUploadBuffer+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation configures one or more gateway local disks as upload buffer+-- for a specified gateway. This operation is supported for both the+-- gateway-stored and gateway-cached volume architectures. In the request, you+-- specify the gateway Amazon Resource Name (ARN) to which you want to add+-- upload buffer, and one or more disk IDs that you want to configure as+-- upload buffer.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_AddUploadBuffer.html>+module Network.AWS.StorageGateway.AddUploadBuffer+ (+ -- * Request+ AddUploadBuffer+ -- ** Request constructor+ , addUploadBuffer+ -- ** Request lenses+ , aubDiskIds+ , aubGatewayARN++ -- * Response+ , AddUploadBufferResponse+ -- ** Response constructor+ , addUploadBufferResponse+ -- ** Response lenses+ , aubrGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data AddUploadBuffer = AddUploadBuffer+ { _aubDiskIds :: List "DiskIds" Text+ , _aubGatewayARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'AddUploadBuffer' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'aubDiskIds' @::@ ['Text']+--+-- * 'aubGatewayARN' @::@ 'Text'+--+addUploadBuffer :: Text -- ^ 'aubGatewayARN'+ -> AddUploadBuffer+addUploadBuffer p1 = AddUploadBuffer+ { _aubGatewayARN = p1+ , _aubDiskIds = mempty+ }++aubDiskIds :: Lens' AddUploadBuffer [Text]+aubDiskIds = lens _aubDiskIds (\s a -> s { _aubDiskIds = a }) . _List++aubGatewayARN :: Lens' AddUploadBuffer Text+aubGatewayARN = lens _aubGatewayARN (\s a -> s { _aubGatewayARN = a })++newtype AddUploadBufferResponse = AddUploadBufferResponse+ { _aubrGatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'AddUploadBufferResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'aubrGatewayARN' @::@ 'Maybe' 'Text'+--+addUploadBufferResponse :: AddUploadBufferResponse+addUploadBufferResponse = AddUploadBufferResponse+ { _aubrGatewayARN = Nothing+ }++aubrGatewayARN :: Lens' AddUploadBufferResponse (Maybe Text)+aubrGatewayARN = lens _aubrGatewayARN (\s a -> s { _aubrGatewayARN = a })++instance ToPath AddUploadBuffer where+ toPath = const "/"++instance ToQuery AddUploadBuffer where+ toQuery = const mempty++instance ToHeaders AddUploadBuffer++instance ToJSON AddUploadBuffer where+ toJSON AddUploadBuffer{..} = object+ [ "GatewayARN" .= _aubGatewayARN+ , "DiskIds" .= _aubDiskIds+ ]++instance AWSRequest AddUploadBuffer where+ type Sv AddUploadBuffer = StorageGateway+ type Rs AddUploadBuffer = AddUploadBufferResponse++ request = post "AddUploadBuffer"+ response = jsonResponse++instance FromJSON AddUploadBufferResponse where+ parseJSON = withObject "AddUploadBufferResponse" $ \o -> AddUploadBufferResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/AddWorkingStorage.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.AddWorkingStorage+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation configures one or more gateway local disks as working+-- storage for a gateway. This operation is supported only for the+-- gateway-stored volume architecture. This operation is deprecated method in+-- cached-volumes API version (20120630). Use AddUploadBuffer instead. In the+-- request, you specify the gateway Amazon Resource Name (ARN) to which you+-- want to add working storage, and one or more disk IDs that you want to+-- configure as working storage.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_AddWorkingStorage.html>+module Network.AWS.StorageGateway.AddWorkingStorage+ (+ -- * Request+ AddWorkingStorage+ -- ** Request constructor+ , addWorkingStorage+ -- ** Request lenses+ , awsDiskIds+ , awsGatewayARN++ -- * Response+ , AddWorkingStorageResponse+ -- ** Response constructor+ , addWorkingStorageResponse+ -- ** Response lenses+ , awsrGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data AddWorkingStorage = AddWorkingStorage+ { _awsDiskIds :: List "DiskIds" Text+ , _awsGatewayARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'AddWorkingStorage' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'awsDiskIds' @::@ ['Text']+--+-- * 'awsGatewayARN' @::@ 'Text'+--+addWorkingStorage :: Text -- ^ 'awsGatewayARN'+ -> AddWorkingStorage+addWorkingStorage p1 = AddWorkingStorage+ { _awsGatewayARN = p1+ , _awsDiskIds = mempty+ }++-- | An array of strings that identify disks that are to be configured as+-- working storage. Each string have a minimum length of 1 and maximum+-- length of 300. You can get the disk IDs from the ListLocalDisks API.+awsDiskIds :: Lens' AddWorkingStorage [Text]+awsDiskIds = lens _awsDiskIds (\s a -> s { _awsDiskIds = a }) . _List++awsGatewayARN :: Lens' AddWorkingStorage Text+awsGatewayARN = lens _awsGatewayARN (\s a -> s { _awsGatewayARN = a })++newtype AddWorkingStorageResponse = AddWorkingStorageResponse+ { _awsrGatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'AddWorkingStorageResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'awsrGatewayARN' @::@ 'Maybe' 'Text'+--+addWorkingStorageResponse :: AddWorkingStorageResponse+addWorkingStorageResponse = AddWorkingStorageResponse+ { _awsrGatewayARN = Nothing+ }++awsrGatewayARN :: Lens' AddWorkingStorageResponse (Maybe Text)+awsrGatewayARN = lens _awsrGatewayARN (\s a -> s { _awsrGatewayARN = a })++instance ToPath AddWorkingStorage where+ toPath = const "/"++instance ToQuery AddWorkingStorage where+ toQuery = const mempty++instance ToHeaders AddWorkingStorage++instance ToJSON AddWorkingStorage where+ toJSON AddWorkingStorage{..} = object+ [ "GatewayARN" .= _awsGatewayARN+ , "DiskIds" .= _awsDiskIds+ ]++instance AWSRequest AddWorkingStorage where+ type Sv AddWorkingStorage = StorageGateway+ type Rs AddWorkingStorage = AddWorkingStorageResponse++ request = post "AddWorkingStorage"+ response = jsonResponse++instance FromJSON AddWorkingStorageResponse where+ parseJSON = withObject "AddWorkingStorageResponse" $ \o -> AddWorkingStorageResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/CancelArchival.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.CancelArchival+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after+-- the archiving process is initiated.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CancelArchival.html>+module Network.AWS.StorageGateway.CancelArchival+ (+ -- * Request+ CancelArchival+ -- ** Request constructor+ , cancelArchival+ -- ** Request lenses+ , caGatewayARN+ , caTapeARN++ -- * Response+ , CancelArchivalResponse+ -- ** Response constructor+ , cancelArchivalResponse+ -- ** Response lenses+ , carTapeARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data CancelArchival = CancelArchival+ { _caGatewayARN :: Text+ , _caTapeARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'CancelArchival' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'caGatewayARN' @::@ 'Text'+--+-- * 'caTapeARN' @::@ 'Text'+--+cancelArchival :: Text -- ^ 'caGatewayARN'+ -> Text -- ^ 'caTapeARN'+ -> CancelArchival+cancelArchival p1 p2 = CancelArchival+ { _caGatewayARN = p1+ , _caTapeARN = p2+ }++caGatewayARN :: Lens' CancelArchival Text+caGatewayARN = lens _caGatewayARN (\s a -> s { _caGatewayARN = a })++-- | The Amazon Resource Name (ARN) of the virtual tape you want to cancel+-- archiving for.+caTapeARN :: Lens' CancelArchival Text+caTapeARN = lens _caTapeARN (\s a -> s { _caTapeARN = a })++newtype CancelArchivalResponse = CancelArchivalResponse+ { _carTapeARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'CancelArchivalResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'carTapeARN' @::@ 'Maybe' 'Text'+--+cancelArchivalResponse :: CancelArchivalResponse+cancelArchivalResponse = CancelArchivalResponse+ { _carTapeARN = Nothing+ }++-- | The Amazon Resource Name (ARN) of the virtual tape for which archiving+-- was canceled.+carTapeARN :: Lens' CancelArchivalResponse (Maybe Text)+carTapeARN = lens _carTapeARN (\s a -> s { _carTapeARN = a })++instance ToPath CancelArchival where+ toPath = const "/"++instance ToQuery CancelArchival where+ toQuery = const mempty++instance ToHeaders CancelArchival++instance ToJSON CancelArchival where+ toJSON CancelArchival{..} = object+ [ "GatewayARN" .= _caGatewayARN+ , "TapeARN" .= _caTapeARN+ ]++instance AWSRequest CancelArchival where+ type Sv CancelArchival = StorageGateway+ type Rs CancelArchival = CancelArchivalResponse++ request = post "CancelArchival"+ response = jsonResponse++instance FromJSON CancelArchivalResponse where+ parseJSON = withObject "CancelArchivalResponse" $ \o -> CancelArchivalResponse+ <$> o .:? "TapeARN"
+ gen/Network/AWS/StorageGateway/CancelRetrieval.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.CancelRetrieval+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Cancels retrieval of a virtual tape from the virtual tape shelf (VTS) to a+-- gateway after the retrieval process is initiated. The virtual tape is+-- returned to the VTS.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CancelRetrieval.html>+module Network.AWS.StorageGateway.CancelRetrieval+ (+ -- * Request+ CancelRetrieval+ -- ** Request constructor+ , cancelRetrieval+ -- ** Request lenses+ , crGatewayARN+ , crTapeARN++ -- * Response+ , CancelRetrievalResponse+ -- ** Response constructor+ , cancelRetrievalResponse+ -- ** Response lenses+ , crrTapeARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data CancelRetrieval = CancelRetrieval+ { _crGatewayARN :: Text+ , _crTapeARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'CancelRetrieval' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'crGatewayARN' @::@ 'Text'+--+-- * 'crTapeARN' @::@ 'Text'+--+cancelRetrieval :: Text -- ^ 'crGatewayARN'+ -> Text -- ^ 'crTapeARN'+ -> CancelRetrieval+cancelRetrieval p1 p2 = CancelRetrieval+ { _crGatewayARN = p1+ , _crTapeARN = p2+ }++crGatewayARN :: Lens' CancelRetrieval Text+crGatewayARN = lens _crGatewayARN (\s a -> s { _crGatewayARN = a })++-- | The Amazon Resource Name (ARN) of the virtual tape you want to cancel+-- retrieval for.+crTapeARN :: Lens' CancelRetrieval Text+crTapeARN = lens _crTapeARN (\s a -> s { _crTapeARN = a })++newtype CancelRetrievalResponse = CancelRetrievalResponse+ { _crrTapeARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'CancelRetrievalResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'crrTapeARN' @::@ 'Maybe' 'Text'+--+cancelRetrievalResponse :: CancelRetrievalResponse+cancelRetrievalResponse = CancelRetrievalResponse+ { _crrTapeARN = Nothing+ }++-- | The Amazon Resource Name (ARN) of the virtual tape for which retrieval+-- was canceled.+crrTapeARN :: Lens' CancelRetrievalResponse (Maybe Text)+crrTapeARN = lens _crrTapeARN (\s a -> s { _crrTapeARN = a })++instance ToPath CancelRetrieval where+ toPath = const "/"++instance ToQuery CancelRetrieval where+ toQuery = const mempty++instance ToHeaders CancelRetrieval++instance ToJSON CancelRetrieval where+ toJSON CancelRetrieval{..} = object+ [ "GatewayARN" .= _crGatewayARN+ , "TapeARN" .= _crTapeARN+ ]++instance AWSRequest CancelRetrieval where+ type Sv CancelRetrieval = StorageGateway+ type Rs CancelRetrieval = CancelRetrievalResponse++ request = post "CancelRetrieval"+ response = jsonResponse++instance FromJSON CancelRetrievalResponse where+ parseJSON = withObject "CancelRetrievalResponse" $ \o -> CancelRetrievalResponse+ <$> o .:? "TapeARN"
+ gen/Network/AWS/StorageGateway/CreateCachediSCSIVolume.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.CreateCachediSCSIVolume+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation creates a cached volume on a specified cached gateway. This+-- operation is supported only for the gateway-cached volume architecture. In+-- the request, you must specify the gateway, size of the volume in bytes, the+-- iSCSI target name, an IP address on which to expose the target, and a+-- unique client token. In response, AWS Storage Gateway creates the volume+-- and returns information about it such as the volume Amazon Resource Name+-- (ARN), its size, and the iSCSI target ARN that initiators can use to+-- connect to the volume target.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateCachediSCSIVolume.html>+module Network.AWS.StorageGateway.CreateCachediSCSIVolume+ (+ -- * Request+ CreateCachediSCSIVolume+ -- ** Request constructor+ , createCachediSCSIVolume+ -- ** Request lenses+ , ccscsivClientToken+ , ccscsivGatewayARN+ , ccscsivNetworkInterfaceId+ , ccscsivSnapshotId+ , ccscsivTargetName+ , ccscsivVolumeSizeInBytes++ -- * Response+ , CreateCachediSCSIVolumeResponse+ -- ** Response constructor+ , createCachediSCSIVolumeResponse+ -- ** Response lenses+ , ccscsivrTargetARN+ , ccscsivrVolumeARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data CreateCachediSCSIVolume = CreateCachediSCSIVolume+ { _ccscsivClientToken :: Text+ , _ccscsivGatewayARN :: Text+ , _ccscsivNetworkInterfaceId :: Text+ , _ccscsivSnapshotId :: Maybe Text+ , _ccscsivTargetName :: Text+ , _ccscsivVolumeSizeInBytes :: Integer+ } deriving (Eq, Ord, Show)++-- | 'CreateCachediSCSIVolume' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ccscsivClientToken' @::@ 'Text'+--+-- * 'ccscsivGatewayARN' @::@ 'Text'+--+-- * 'ccscsivNetworkInterfaceId' @::@ 'Text'+--+-- * 'ccscsivSnapshotId' @::@ 'Maybe' 'Text'+--+-- * 'ccscsivTargetName' @::@ 'Text'+--+-- * 'ccscsivVolumeSizeInBytes' @::@ 'Integer'+--+createCachediSCSIVolume :: Text -- ^ 'ccscsivGatewayARN'+ -> Integer -- ^ 'ccscsivVolumeSizeInBytes'+ -> Text -- ^ 'ccscsivTargetName'+ -> Text -- ^ 'ccscsivNetworkInterfaceId'+ -> Text -- ^ 'ccscsivClientToken'+ -> CreateCachediSCSIVolume+createCachediSCSIVolume p1 p2 p3 p4 p5 = CreateCachediSCSIVolume+ { _ccscsivGatewayARN = p1+ , _ccscsivVolumeSizeInBytes = p2+ , _ccscsivTargetName = p3+ , _ccscsivNetworkInterfaceId = p4+ , _ccscsivClientToken = p5+ , _ccscsivSnapshotId = Nothing+ }++ccscsivClientToken :: Lens' CreateCachediSCSIVolume Text+ccscsivClientToken =+ lens _ccscsivClientToken (\s a -> s { _ccscsivClientToken = a })++ccscsivGatewayARN :: Lens' CreateCachediSCSIVolume Text+ccscsivGatewayARN =+ lens _ccscsivGatewayARN (\s a -> s { _ccscsivGatewayARN = a })++ccscsivNetworkInterfaceId :: Lens' CreateCachediSCSIVolume Text+ccscsivNetworkInterfaceId =+ lens _ccscsivNetworkInterfaceId+ (\s a -> s { _ccscsivNetworkInterfaceId = a })++ccscsivSnapshotId :: Lens' CreateCachediSCSIVolume (Maybe Text)+ccscsivSnapshotId =+ lens _ccscsivSnapshotId (\s a -> s { _ccscsivSnapshotId = a })++ccscsivTargetName :: Lens' CreateCachediSCSIVolume Text+ccscsivTargetName =+ lens _ccscsivTargetName (\s a -> s { _ccscsivTargetName = a })++ccscsivVolumeSizeInBytes :: Lens' CreateCachediSCSIVolume Integer+ccscsivVolumeSizeInBytes =+ lens _ccscsivVolumeSizeInBytes+ (\s a -> s { _ccscsivVolumeSizeInBytes = a })++data CreateCachediSCSIVolumeResponse = CreateCachediSCSIVolumeResponse+ { _ccscsivrTargetARN :: Maybe Text+ , _ccscsivrVolumeARN :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'CreateCachediSCSIVolumeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ccscsivrTargetARN' @::@ 'Maybe' 'Text'+--+-- * 'ccscsivrVolumeARN' @::@ 'Maybe' 'Text'+--+createCachediSCSIVolumeResponse :: CreateCachediSCSIVolumeResponse+createCachediSCSIVolumeResponse = CreateCachediSCSIVolumeResponse+ { _ccscsivrVolumeARN = Nothing+ , _ccscsivrTargetARN = Nothing+ }++ccscsivrTargetARN :: Lens' CreateCachediSCSIVolumeResponse (Maybe Text)+ccscsivrTargetARN =+ lens _ccscsivrTargetARN (\s a -> s { _ccscsivrTargetARN = a })++ccscsivrVolumeARN :: Lens' CreateCachediSCSIVolumeResponse (Maybe Text)+ccscsivrVolumeARN =+ lens _ccscsivrVolumeARN (\s a -> s { _ccscsivrVolumeARN = a })++instance ToPath CreateCachediSCSIVolume where+ toPath = const "/"++instance ToQuery CreateCachediSCSIVolume where+ toQuery = const mempty++instance ToHeaders CreateCachediSCSIVolume++instance ToJSON CreateCachediSCSIVolume where+ toJSON CreateCachediSCSIVolume{..} = object+ [ "GatewayARN" .= _ccscsivGatewayARN+ , "VolumeSizeInBytes" .= _ccscsivVolumeSizeInBytes+ , "SnapshotId" .= _ccscsivSnapshotId+ , "TargetName" .= _ccscsivTargetName+ , "NetworkInterfaceId" .= _ccscsivNetworkInterfaceId+ , "ClientToken" .= _ccscsivClientToken+ ]++instance AWSRequest CreateCachediSCSIVolume where+ type Sv CreateCachediSCSIVolume = StorageGateway+ type Rs CreateCachediSCSIVolume = CreateCachediSCSIVolumeResponse++ request = post "CreateCachediSCSIVolume"+ response = jsonResponse++instance FromJSON CreateCachediSCSIVolumeResponse where+ parseJSON = withObject "CreateCachediSCSIVolumeResponse" $ \o -> CreateCachediSCSIVolumeResponse+ <$> o .:? "TargetARN"+ <*> o .:? "VolumeARN"
+ gen/Network/AWS/StorageGateway/CreateSnapshot.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.CreateSnapshot+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation initiates a snapshot of a volume. AWS Storage Gateway+-- provides the ability to back up point-in-time snapshots of your data to+-- Amazon Simple Storage (S3) for durable off-site recovery, as well as import+-- the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic+-- Compute Cloud (EC2). You can take snapshots of your gateway volume on a+-- scheduled or ad-hoc basis. This API enables you to take ad-hoc snapshot.+-- For more information, see Working With Snapshots in the AWS Storage Gateway+-- Console. In the CreateSnapshot request you identify the volume by providing+-- its Amazon Resource Name (ARN). You must also provide description for the+-- snapshot. When AWS Storage Gateway takes the snapshot of specified volume,+-- the snapshot and description appears in the AWS Storage Gateway Console. In+-- response, AWS Storage Gateway returns you a snapshot ID. You can use this+-- snapshot ID to check the snapshot progress or later use it when you want to+-- create a volume from a snapshot.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateSnapshot.html>+module Network.AWS.StorageGateway.CreateSnapshot+ (+ -- * Request+ CreateSnapshot+ -- ** Request constructor+ , createSnapshot+ -- ** Request lenses+ , csSnapshotDescription+ , csVolumeARN++ -- * Response+ , CreateSnapshotResponse+ -- ** Response constructor+ , createSnapshotResponse+ -- ** Response lenses+ , csrSnapshotId+ , csrVolumeARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data CreateSnapshot = CreateSnapshot+ { _csSnapshotDescription :: Text+ , _csVolumeARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'CreateSnapshot' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'csSnapshotDescription' @::@ 'Text'+--+-- * 'csVolumeARN' @::@ 'Text'+--+createSnapshot :: Text -- ^ 'csVolumeARN'+ -> Text -- ^ 'csSnapshotDescription'+ -> CreateSnapshot+createSnapshot p1 p2 = CreateSnapshot+ { _csVolumeARN = p1+ , _csSnapshotDescription = p2+ }++-- | Textual description of the snapshot that appears in the Amazon EC2+-- console, Elastic Block Store snapshots panel in the Description field,+-- and in the AWS Storage Gateway snapshot Details pane, Description field.+csSnapshotDescription :: Lens' CreateSnapshot Text+csSnapshotDescription =+ lens _csSnapshotDescription (\s a -> s { _csSnapshotDescription = a })++-- | The Amazon Resource Name (ARN) of the volume. Use the ListVolumes+-- operation to return a list of gateway volumes.+csVolumeARN :: Lens' CreateSnapshot Text+csVolumeARN = lens _csVolumeARN (\s a -> s { _csVolumeARN = a })++data CreateSnapshotResponse = CreateSnapshotResponse+ { _csrSnapshotId :: Maybe Text+ , _csrVolumeARN :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'CreateSnapshotResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'csrSnapshotId' @::@ 'Maybe' 'Text'+--+-- * 'csrVolumeARN' @::@ 'Maybe' 'Text'+--+createSnapshotResponse :: CreateSnapshotResponse+createSnapshotResponse = CreateSnapshotResponse+ { _csrVolumeARN = Nothing+ , _csrSnapshotId = Nothing+ }++-- | The snapshot ID that is used to refer to the snapshot in future+-- operations such as describing snapshots (Amazon Elastic Compute Cloud API+-- DescribeSnapshots) or creating a volume from a snapshot+-- (CreateStorediSCSIVolume).+csrSnapshotId :: Lens' CreateSnapshotResponse (Maybe Text)+csrSnapshotId = lens _csrSnapshotId (\s a -> s { _csrSnapshotId = a })++-- | The Amazon Resource Name (ARN) of the volume of which the snapshot was+-- taken.+csrVolumeARN :: Lens' CreateSnapshotResponse (Maybe Text)+csrVolumeARN = lens _csrVolumeARN (\s a -> s { _csrVolumeARN = a })++instance ToPath CreateSnapshot where+ toPath = const "/"++instance ToQuery CreateSnapshot where+ toQuery = const mempty++instance ToHeaders CreateSnapshot++instance ToJSON CreateSnapshot where+ toJSON CreateSnapshot{..} = object+ [ "VolumeARN" .= _csVolumeARN+ , "SnapshotDescription" .= _csSnapshotDescription+ ]++instance AWSRequest CreateSnapshot where+ type Sv CreateSnapshot = StorageGateway+ type Rs CreateSnapshot = CreateSnapshotResponse++ request = post "CreateSnapshot"+ response = jsonResponse++instance FromJSON CreateSnapshotResponse where+ parseJSON = withObject "CreateSnapshotResponse" $ \o -> CreateSnapshotResponse+ <$> o .:? "SnapshotId"+ <*> o .:? "VolumeARN"
+ gen/Network/AWS/StorageGateway/CreateSnapshotFromVolumeRecoveryPoint.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.CreateSnapshotFromVolumeRecoveryPoint+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation initiates a snapshot of a gateway from a volume recovery+-- point. This operation is supported only for the gateway-cached volume+-- architecture (see ). A volume recovery point is a point in time at which+-- all data of the volume is consistent and from which you can create a+-- snapshot. To get a list of volume recovery point for gateway-cached+-- volumes, use ListVolumeRecoveryPoints. In the+-- CreateSnapshotFromVolumeRecoveryPoint request, you identify the volume by+-- providing its Amazon Resource Name (ARN). You must also provide a+-- description for the snapshot. When AWS Storage Gateway takes a snapshot of+-- the specified volume, the snapshot and its description appear in the AWS+-- Storage Gateway console. In response, AWS Storage Gateway returns you a+-- snapshot ID. You can use this snapshot ID to check the snapshot progress or+-- later use it when you want to create a volume from a snapshot.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateSnapshotFromVolumeRecoveryPoint.html>+module Network.AWS.StorageGateway.CreateSnapshotFromVolumeRecoveryPoint+ (+ -- * Request+ CreateSnapshotFromVolumeRecoveryPoint+ -- ** Request constructor+ , createSnapshotFromVolumeRecoveryPoint+ -- ** Request lenses+ , csfvrpSnapshotDescription+ , csfvrpVolumeARN++ -- * Response+ , CreateSnapshotFromVolumeRecoveryPointResponse+ -- ** Response constructor+ , createSnapshotFromVolumeRecoveryPointResponse+ -- ** Response lenses+ , csfvrprSnapshotId+ , csfvrprVolumeARN+ , csfvrprVolumeRecoveryPointTime+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data CreateSnapshotFromVolumeRecoveryPoint = CreateSnapshotFromVolumeRecoveryPoint+ { _csfvrpSnapshotDescription :: Text+ , _csfvrpVolumeARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'CreateSnapshotFromVolumeRecoveryPoint' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'csfvrpSnapshotDescription' @::@ 'Text'+--+-- * 'csfvrpVolumeARN' @::@ 'Text'+--+createSnapshotFromVolumeRecoveryPoint :: Text -- ^ 'csfvrpVolumeARN'+ -> Text -- ^ 'csfvrpSnapshotDescription'+ -> CreateSnapshotFromVolumeRecoveryPoint+createSnapshotFromVolumeRecoveryPoint p1 p2 = CreateSnapshotFromVolumeRecoveryPoint+ { _csfvrpVolumeARN = p1+ , _csfvrpSnapshotDescription = p2+ }++csfvrpSnapshotDescription :: Lens' CreateSnapshotFromVolumeRecoveryPoint Text+csfvrpSnapshotDescription =+ lens _csfvrpSnapshotDescription+ (\s a -> s { _csfvrpSnapshotDescription = a })++csfvrpVolumeARN :: Lens' CreateSnapshotFromVolumeRecoveryPoint Text+csfvrpVolumeARN = lens _csfvrpVolumeARN (\s a -> s { _csfvrpVolumeARN = a })++data CreateSnapshotFromVolumeRecoveryPointResponse = CreateSnapshotFromVolumeRecoveryPointResponse+ { _csfvrprSnapshotId :: Maybe Text+ , _csfvrprVolumeARN :: Maybe Text+ , _csfvrprVolumeRecoveryPointTime :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'CreateSnapshotFromVolumeRecoveryPointResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'csfvrprSnapshotId' @::@ 'Maybe' 'Text'+--+-- * 'csfvrprVolumeARN' @::@ 'Maybe' 'Text'+--+-- * 'csfvrprVolumeRecoveryPointTime' @::@ 'Maybe' 'Text'+--+createSnapshotFromVolumeRecoveryPointResponse :: CreateSnapshotFromVolumeRecoveryPointResponse+createSnapshotFromVolumeRecoveryPointResponse = CreateSnapshotFromVolumeRecoveryPointResponse+ { _csfvrprSnapshotId = Nothing+ , _csfvrprVolumeARN = Nothing+ , _csfvrprVolumeRecoveryPointTime = Nothing+ }++csfvrprSnapshotId :: Lens' CreateSnapshotFromVolumeRecoveryPointResponse (Maybe Text)+csfvrprSnapshotId =+ lens _csfvrprSnapshotId (\s a -> s { _csfvrprSnapshotId = a })++csfvrprVolumeARN :: Lens' CreateSnapshotFromVolumeRecoveryPointResponse (Maybe Text)+csfvrprVolumeARN = lens _csfvrprVolumeARN (\s a -> s { _csfvrprVolumeARN = a })++csfvrprVolumeRecoveryPointTime :: Lens' CreateSnapshotFromVolumeRecoveryPointResponse (Maybe Text)+csfvrprVolumeRecoveryPointTime =+ lens _csfvrprVolumeRecoveryPointTime+ (\s a -> s { _csfvrprVolumeRecoveryPointTime = a })++instance ToPath CreateSnapshotFromVolumeRecoveryPoint where+ toPath = const "/"++instance ToQuery CreateSnapshotFromVolumeRecoveryPoint where+ toQuery = const mempty++instance ToHeaders CreateSnapshotFromVolumeRecoveryPoint++instance ToJSON CreateSnapshotFromVolumeRecoveryPoint where+ toJSON CreateSnapshotFromVolumeRecoveryPoint{..} = object+ [ "VolumeARN" .= _csfvrpVolumeARN+ , "SnapshotDescription" .= _csfvrpSnapshotDescription+ ]++instance AWSRequest CreateSnapshotFromVolumeRecoveryPoint where+ type Sv CreateSnapshotFromVolumeRecoveryPoint = StorageGateway+ type Rs CreateSnapshotFromVolumeRecoveryPoint = CreateSnapshotFromVolumeRecoveryPointResponse++ request = post "CreateSnapshotFromVolumeRecoveryPoint"+ response = jsonResponse++instance FromJSON CreateSnapshotFromVolumeRecoveryPointResponse where+ parseJSON = withObject "CreateSnapshotFromVolumeRecoveryPointResponse" $ \o -> CreateSnapshotFromVolumeRecoveryPointResponse+ <$> o .:? "SnapshotId"+ <*> o .:? "VolumeARN"+ <*> o .:? "VolumeRecoveryPointTime"
+ gen/Network/AWS/StorageGateway/CreateStorediSCSIVolume.hs view
@@ -0,0 +1,218 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.CreateStorediSCSIVolume+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation creates a volume on a specified gateway. This operation is+-- supported only for the gateway-stored volume architecture. The size of the+-- volume to create is inferred from the disk size. You can choose to preserve+-- existing data on the disk, create volume from an existing snapshot, or+-- create an empty volume. If you choose to create an empty gateway volume,+-- then any existing data on the disk is erased. In the request you must+-- specify the gateway and the disk information on which you are creating the+-- volume. In response, AWS Storage Gateway creates the volume and returns+-- volume information such as the volume Amazon Resource Name (ARN), its size,+-- and the iSCSI target ARN that initiators can use to connect to the volume+-- target.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateStorediSCSIVolume.html>+module Network.AWS.StorageGateway.CreateStorediSCSIVolume+ (+ -- * Request+ CreateStorediSCSIVolume+ -- ** Request constructor+ , createStorediSCSIVolume+ -- ** Request lenses+ , csscsivDiskId+ , csscsivGatewayARN+ , csscsivNetworkInterfaceId+ , csscsivPreserveExistingData+ , csscsivSnapshotId+ , csscsivTargetName++ -- * Response+ , CreateStorediSCSIVolumeResponse+ -- ** Response constructor+ , createStorediSCSIVolumeResponse+ -- ** Response lenses+ , csscsivrTargetARN+ , csscsivrVolumeARN+ , csscsivrVolumeSizeInBytes+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data CreateStorediSCSIVolume = CreateStorediSCSIVolume+ { _csscsivDiskId :: Text+ , _csscsivGatewayARN :: Text+ , _csscsivNetworkInterfaceId :: Text+ , _csscsivPreserveExistingData :: Bool+ , _csscsivSnapshotId :: Maybe Text+ , _csscsivTargetName :: Text+ } deriving (Eq, Ord, Show)++-- | 'CreateStorediSCSIVolume' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'csscsivDiskId' @::@ 'Text'+--+-- * 'csscsivGatewayARN' @::@ 'Text'+--+-- * 'csscsivNetworkInterfaceId' @::@ 'Text'+--+-- * 'csscsivPreserveExistingData' @::@ 'Bool'+--+-- * 'csscsivSnapshotId' @::@ 'Maybe' 'Text'+--+-- * 'csscsivTargetName' @::@ 'Text'+--+createStorediSCSIVolume :: Text -- ^ 'csscsivGatewayARN'+ -> Text -- ^ 'csscsivDiskId'+ -> Bool -- ^ 'csscsivPreserveExistingData'+ -> Text -- ^ 'csscsivTargetName'+ -> Text -- ^ 'csscsivNetworkInterfaceId'+ -> CreateStorediSCSIVolume+createStorediSCSIVolume p1 p2 p3 p4 p5 = CreateStorediSCSIVolume+ { _csscsivGatewayARN = p1+ , _csscsivDiskId = p2+ , _csscsivPreserveExistingData = p3+ , _csscsivTargetName = p4+ , _csscsivNetworkInterfaceId = p5+ , _csscsivSnapshotId = Nothing+ }++-- | The unique identifier for the gateway local disk that is configured as a+-- stored volume. Use ListLocalDisks to list disk IDs for a gateway.+csscsivDiskId :: Lens' CreateStorediSCSIVolume Text+csscsivDiskId = lens _csscsivDiskId (\s a -> s { _csscsivDiskId = a })++csscsivGatewayARN :: Lens' CreateStorediSCSIVolume Text+csscsivGatewayARN =+ lens _csscsivGatewayARN (\s a -> s { _csscsivGatewayARN = a })++-- | The network interface of the gateway on which to expose the iSCSI target.+-- Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a+-- list of the network interfaces available on a gateway. Valid Values: A+-- valid IP address.+csscsivNetworkInterfaceId :: Lens' CreateStorediSCSIVolume Text+csscsivNetworkInterfaceId =+ lens _csscsivNetworkInterfaceId+ (\s a -> s { _csscsivNetworkInterfaceId = a })++-- | Specify this field as true if you want to preserve the data on the local+-- disk. Otherwise, specifying this field as false creates an empty volume.+-- Valid Values: true, false.+csscsivPreserveExistingData :: Lens' CreateStorediSCSIVolume Bool+csscsivPreserveExistingData =+ lens _csscsivPreserveExistingData+ (\s a -> s { _csscsivPreserveExistingData = a })++-- | The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the+-- new stored volume. Specify this field if you want to create the iSCSI+-- storage volume from a snapshot otherwise do not include this field. To+-- list snapshots for your account use DescribeSnapshots in the Amazon+-- Elastic Compute Cloud API Reference.+csscsivSnapshotId :: Lens' CreateStorediSCSIVolume (Maybe Text)+csscsivSnapshotId =+ lens _csscsivSnapshotId (\s a -> s { _csscsivSnapshotId = a })++-- | The name of the iSCSI target used by initiators to connect to the target+-- and as a suffix for the target ARN. For example, specifying TargetName as+-- myvolume results in the target ARN of+-- arn:aws:storagegateway:us-east-1:111122223333:gateway/mygateway/target/iqn.1997-05.com.amazon:myvolume.+-- The target name must be unique across all volumes of a gateway.+csscsivTargetName :: Lens' CreateStorediSCSIVolume Text+csscsivTargetName =+ lens _csscsivTargetName (\s a -> s { _csscsivTargetName = a })++data CreateStorediSCSIVolumeResponse = CreateStorediSCSIVolumeResponse+ { _csscsivrTargetARN :: Maybe Text+ , _csscsivrVolumeARN :: Maybe Text+ , _csscsivrVolumeSizeInBytes :: Maybe Integer+ } deriving (Eq, Ord, Show)++-- | 'CreateStorediSCSIVolumeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'csscsivrTargetARN' @::@ 'Maybe' 'Text'+--+-- * 'csscsivrVolumeARN' @::@ 'Maybe' 'Text'+--+-- * 'csscsivrVolumeSizeInBytes' @::@ 'Maybe' 'Integer'+--+createStorediSCSIVolumeResponse :: CreateStorediSCSIVolumeResponse+createStorediSCSIVolumeResponse = CreateStorediSCSIVolumeResponse+ { _csscsivrVolumeARN = Nothing+ , _csscsivrVolumeSizeInBytes = Nothing+ , _csscsivrTargetARN = Nothing+ }++-- | he Amazon Resource Name (ARN) of the volume target that includes the+-- iSCSI name that initiators can use to connect to the target.+csscsivrTargetARN :: Lens' CreateStorediSCSIVolumeResponse (Maybe Text)+csscsivrTargetARN =+ lens _csscsivrTargetARN (\s a -> s { _csscsivrTargetARN = a })++-- | The Amazon Resource Name (ARN) of the configured volume.+csscsivrVolumeARN :: Lens' CreateStorediSCSIVolumeResponse (Maybe Text)+csscsivrVolumeARN =+ lens _csscsivrVolumeARN (\s a -> s { _csscsivrVolumeARN = a })++-- | The size of the volume in bytes.+csscsivrVolumeSizeInBytes :: Lens' CreateStorediSCSIVolumeResponse (Maybe Integer)+csscsivrVolumeSizeInBytes =+ lens _csscsivrVolumeSizeInBytes+ (\s a -> s { _csscsivrVolumeSizeInBytes = a })++instance ToPath CreateStorediSCSIVolume where+ toPath = const "/"++instance ToQuery CreateStorediSCSIVolume where+ toQuery = const mempty++instance ToHeaders CreateStorediSCSIVolume++instance ToJSON CreateStorediSCSIVolume where+ toJSON CreateStorediSCSIVolume{..} = object+ [ "GatewayARN" .= _csscsivGatewayARN+ , "DiskId" .= _csscsivDiskId+ , "SnapshotId" .= _csscsivSnapshotId+ , "PreserveExistingData" .= _csscsivPreserveExistingData+ , "TargetName" .= _csscsivTargetName+ , "NetworkInterfaceId" .= _csscsivNetworkInterfaceId+ ]++instance AWSRequest CreateStorediSCSIVolume where+ type Sv CreateStorediSCSIVolume = StorageGateway+ type Rs CreateStorediSCSIVolume = CreateStorediSCSIVolumeResponse++ request = post "CreateStorediSCSIVolume"+ response = jsonResponse++instance FromJSON CreateStorediSCSIVolumeResponse where+ parseJSON = withObject "CreateStorediSCSIVolumeResponse" $ \o -> CreateStorediSCSIVolumeResponse+ <$> o .:? "TargetARN"+ <*> o .:? "VolumeARN"+ <*> o .:? "VolumeSizeInBytes"
+ gen/Network/AWS/StorageGateway/CreateTapes.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.CreateTapes+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Creates one or more virtual tapes. You write data to the virtual tapes and+-- then archive the tapes.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateTapes.html>+module Network.AWS.StorageGateway.CreateTapes+ (+ -- * Request+ CreateTapes+ -- ** Request constructor+ , createTapes+ -- ** Request lenses+ , ctClientToken+ , ctGatewayARN+ , ctNumTapesToCreate+ , ctTapeBarcodePrefix+ , ctTapeSizeInBytes++ -- * Response+ , CreateTapesResponse+ -- ** Response constructor+ , createTapesResponse+ -- ** Response lenses+ , ctrTapeARNs+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data CreateTapes = CreateTapes+ { _ctClientToken :: Text+ , _ctGatewayARN :: Text+ , _ctNumTapesToCreate :: Nat+ , _ctTapeBarcodePrefix :: Text+ , _ctTapeSizeInBytes :: Nat+ } deriving (Eq, Ord, Show)++-- | 'CreateTapes' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ctClientToken' @::@ 'Text'+--+-- * 'ctGatewayARN' @::@ 'Text'+--+-- * 'ctNumTapesToCreate' @::@ 'Natural'+--+-- * 'ctTapeBarcodePrefix' @::@ 'Text'+--+-- * 'ctTapeSizeInBytes' @::@ 'Natural'+--+createTapes :: Text -- ^ 'ctGatewayARN'+ -> Natural -- ^ 'ctTapeSizeInBytes'+ -> Text -- ^ 'ctClientToken'+ -> Natural -- ^ 'ctNumTapesToCreate'+ -> Text -- ^ 'ctTapeBarcodePrefix'+ -> CreateTapes+createTapes p1 p2 p3 p4 p5 = CreateTapes+ { _ctGatewayARN = p1+ , _ctTapeSizeInBytes = withIso _Nat (const id) p2+ , _ctClientToken = p3+ , _ctNumTapesToCreate = withIso _Nat (const id) p4+ , _ctTapeBarcodePrefix = p5+ }++-- | A unique identifier that you use to retry a request. If you retry a+-- request, use the same ClientToken you specified in the initial request.+ctClientToken :: Lens' CreateTapes Text+ctClientToken = lens _ctClientToken (\s a -> s { _ctClientToken = a })++-- | The unique Amazon Resource Name(ARN) that represents the gateway to+-- associate the virtual tapes with. Use the ListGateways operation to+-- return a list of gateways for your account and region.+ctGatewayARN :: Lens' CreateTapes Text+ctGatewayARN = lens _ctGatewayARN (\s a -> s { _ctGatewayARN = a })++-- | The number of virtual tapes you want to create.+ctNumTapesToCreate :: Lens' CreateTapes Natural+ctNumTapesToCreate =+ lens _ctNumTapesToCreate (\s a -> s { _ctNumTapesToCreate = a })+ . _Nat++-- | A prefix you append to the barcode of the virtual tape you are creating.+-- This makes a barcode unique.+ctTapeBarcodePrefix :: Lens' CreateTapes Text+ctTapeBarcodePrefix =+ lens _ctTapeBarcodePrefix (\s a -> s { _ctTapeBarcodePrefix = a })++-- | The size, in bytes, of the virtual tapes you want to create.+ctTapeSizeInBytes :: Lens' CreateTapes Natural+ctTapeSizeInBytes =+ lens _ctTapeSizeInBytes (\s a -> s { _ctTapeSizeInBytes = a })+ . _Nat++newtype CreateTapesResponse = CreateTapesResponse+ { _ctrTapeARNs :: List "TapeARNs" Text+ } deriving (Eq, Ord, Show, Monoid, Semigroup)++instance GHC.Exts.IsList CreateTapesResponse where+ type Item CreateTapesResponse = Text++ fromList = CreateTapesResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _ctrTapeARNs++-- | 'CreateTapesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ctrTapeARNs' @::@ ['Text']+--+createTapesResponse :: CreateTapesResponse+createTapesResponse = CreateTapesResponse+ { _ctrTapeARNs = mempty+ }++-- | A list of unique Amazon Resource Named (ARN) the represents the virtual+-- tapes that were created.+ctrTapeARNs :: Lens' CreateTapesResponse [Text]+ctrTapeARNs = lens _ctrTapeARNs (\s a -> s { _ctrTapeARNs = a }) . _List++instance ToPath CreateTapes where+ toPath = const "/"++instance ToQuery CreateTapes where+ toQuery = const mempty++instance ToHeaders CreateTapes++instance ToJSON CreateTapes where+ toJSON CreateTapes{..} = object+ [ "GatewayARN" .= _ctGatewayARN+ , "TapeSizeInBytes" .= _ctTapeSizeInBytes+ , "ClientToken" .= _ctClientToken+ , "NumTapesToCreate" .= _ctNumTapesToCreate+ , "TapeBarcodePrefix" .= _ctTapeBarcodePrefix+ ]++instance AWSRequest CreateTapes where+ type Sv CreateTapes = StorageGateway+ type Rs CreateTapes = CreateTapesResponse++ request = post "CreateTapes"+ response = jsonResponse++instance FromJSON CreateTapesResponse where+ parseJSON = withObject "CreateTapesResponse" $ \o -> CreateTapesResponse+ <$> o .: "TapeARNs"
+ gen/Network/AWS/StorageGateway/DeleteBandwidthRateLimit.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DeleteBandwidthRateLimit+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation deletes the bandwidth rate limits of a gateway. You can+-- delete either the upload and download bandwidth rate limit, or you can+-- delete both. If you delete only one of the limits, the other limit remains+-- unchanged. To specify which gateway to work with, use the Amazon Resource+-- Name (ARN) of the gateway in your request.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DeleteBandwidthRateLimit.html>+module Network.AWS.StorageGateway.DeleteBandwidthRateLimit+ (+ -- * Request+ DeleteBandwidthRateLimit+ -- ** Request constructor+ , deleteBandwidthRateLimit+ -- ** Request lenses+ , dbrl1BandwidthType+ , dbrl1GatewayARN++ -- * Response+ , DeleteBandwidthRateLimitResponse+ -- ** Response constructor+ , deleteBandwidthRateLimitResponse+ -- ** Response lenses+ , dbrlr1GatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data DeleteBandwidthRateLimit = DeleteBandwidthRateLimit+ { _dbrl1BandwidthType :: Text+ , _dbrl1GatewayARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'DeleteBandwidthRateLimit' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbrl1BandwidthType' @::@ 'Text'+--+-- * 'dbrl1GatewayARN' @::@ 'Text'+--+deleteBandwidthRateLimit :: Text -- ^ 'dbrl1GatewayARN'+ -> Text -- ^ 'dbrl1BandwidthType'+ -> DeleteBandwidthRateLimit+deleteBandwidthRateLimit p1 p2 = DeleteBandwidthRateLimit+ { _dbrl1GatewayARN = p1+ , _dbrl1BandwidthType = p2+ }++dbrl1BandwidthType :: Lens' DeleteBandwidthRateLimit Text+dbrl1BandwidthType =+ lens _dbrl1BandwidthType (\s a -> s { _dbrl1BandwidthType = a })++dbrl1GatewayARN :: Lens' DeleteBandwidthRateLimit Text+dbrl1GatewayARN = lens _dbrl1GatewayARN (\s a -> s { _dbrl1GatewayARN = a })++newtype DeleteBandwidthRateLimitResponse = DeleteBandwidthRateLimitResponse+ { _dbrlr1GatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'DeleteBandwidthRateLimitResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbrlr1GatewayARN' @::@ 'Maybe' 'Text'+--+deleteBandwidthRateLimitResponse :: DeleteBandwidthRateLimitResponse+deleteBandwidthRateLimitResponse = DeleteBandwidthRateLimitResponse+ { _dbrlr1GatewayARN = Nothing+ }++dbrlr1GatewayARN :: Lens' DeleteBandwidthRateLimitResponse (Maybe Text)+dbrlr1GatewayARN = lens _dbrlr1GatewayARN (\s a -> s { _dbrlr1GatewayARN = a })++instance ToPath DeleteBandwidthRateLimit where+ toPath = const "/"++instance ToQuery DeleteBandwidthRateLimit where+ toQuery = const mempty++instance ToHeaders DeleteBandwidthRateLimit++instance ToJSON DeleteBandwidthRateLimit where+ toJSON DeleteBandwidthRateLimit{..} = object+ [ "GatewayARN" .= _dbrl1GatewayARN+ , "BandwidthType" .= _dbrl1BandwidthType+ ]++instance AWSRequest DeleteBandwidthRateLimit where+ type Sv DeleteBandwidthRateLimit = StorageGateway+ type Rs DeleteBandwidthRateLimit = DeleteBandwidthRateLimitResponse++ request = post "DeleteBandwidthRateLimit"+ response = jsonResponse++instance FromJSON DeleteBandwidthRateLimitResponse where+ parseJSON = withObject "DeleteBandwidthRateLimitResponse" $ \o -> DeleteBandwidthRateLimitResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/DeleteChapCredentials.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DeleteChapCredentials+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation deletes Challenge-Handshake Authentication Protocol (CHAP)+-- credentials for a specified iSCSI target and initiator pair.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DeleteChapCredentials.html>+module Network.AWS.StorageGateway.DeleteChapCredentials+ (+ -- * Request+ DeleteChapCredentials+ -- ** Request constructor+ , deleteChapCredentials+ -- ** Request lenses+ , dcc1InitiatorName+ , dcc1TargetARN++ -- * Response+ , DeleteChapCredentialsResponse+ -- ** Response constructor+ , deleteChapCredentialsResponse+ -- ** Response lenses+ , dccrInitiatorName+ , dccrTargetARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data DeleteChapCredentials = DeleteChapCredentials+ { _dcc1InitiatorName :: Text+ , _dcc1TargetARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'DeleteChapCredentials' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcc1InitiatorName' @::@ 'Text'+--+-- * 'dcc1TargetARN' @::@ 'Text'+--+deleteChapCredentials :: Text -- ^ 'dcc1TargetARN'+ -> Text -- ^ 'dcc1InitiatorName'+ -> DeleteChapCredentials+deleteChapCredentials p1 p2 = DeleteChapCredentials+ { _dcc1TargetARN = p1+ , _dcc1InitiatorName = p2+ }++-- | The iSCSI initiator that connects to the target.+dcc1InitiatorName :: Lens' DeleteChapCredentials Text+dcc1InitiatorName =+ lens _dcc1InitiatorName (\s a -> s { _dcc1InitiatorName = a })++-- | The Amazon Resource Name (ARN) of the iSCSI volume target. Use the+-- DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN+-- for specified VolumeARN.+dcc1TargetARN :: Lens' DeleteChapCredentials Text+dcc1TargetARN = lens _dcc1TargetARN (\s a -> s { _dcc1TargetARN = a })++data DeleteChapCredentialsResponse = DeleteChapCredentialsResponse+ { _dccrInitiatorName :: Maybe Text+ , _dccrTargetARN :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DeleteChapCredentialsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dccrInitiatorName' @::@ 'Maybe' 'Text'+--+-- * 'dccrTargetARN' @::@ 'Maybe' 'Text'+--+deleteChapCredentialsResponse :: DeleteChapCredentialsResponse+deleteChapCredentialsResponse = DeleteChapCredentialsResponse+ { _dccrTargetARN = Nothing+ , _dccrInitiatorName = Nothing+ }++-- | The iSCSI initiator that connects to the target.+dccrInitiatorName :: Lens' DeleteChapCredentialsResponse (Maybe Text)+dccrInitiatorName =+ lens _dccrInitiatorName (\s a -> s { _dccrInitiatorName = a })++-- | The Amazon Resource Name (ARN) of the target.+dccrTargetARN :: Lens' DeleteChapCredentialsResponse (Maybe Text)+dccrTargetARN = lens _dccrTargetARN (\s a -> s { _dccrTargetARN = a })++instance ToPath DeleteChapCredentials where+ toPath = const "/"++instance ToQuery DeleteChapCredentials where+ toQuery = const mempty++instance ToHeaders DeleteChapCredentials++instance ToJSON DeleteChapCredentials where+ toJSON DeleteChapCredentials{..} = object+ [ "TargetARN" .= _dcc1TargetARN+ , "InitiatorName" .= _dcc1InitiatorName+ ]++instance AWSRequest DeleteChapCredentials where+ type Sv DeleteChapCredentials = StorageGateway+ type Rs DeleteChapCredentials = DeleteChapCredentialsResponse++ request = post "DeleteChapCredentials"+ response = jsonResponse++instance FromJSON DeleteChapCredentialsResponse where+ parseJSON = withObject "DeleteChapCredentialsResponse" $ \o -> DeleteChapCredentialsResponse+ <$> o .:? "InitiatorName"+ <*> o .:? "TargetARN"
+ gen/Network/AWS/StorageGateway/DeleteGateway.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DeleteGateway+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation deletes a gateway. To specify which gateway to delete, use+-- the Amazon Resource Name (ARN) of the gateway in your request. The+-- operation deletes the gateway; however, it does not delete the gateway+-- virtual machine (VM) from your host computer. After you delete a gateway,+-- you cannot reactivate it. Completed snapshots of the gateway volumes are+-- not deleted upon deleting the gateway, however, pending snapshots will not+-- complete. After you delete a gateway, your next step is to remove it from+-- your environment. You no longer pay software charges after the gateway is+-- deleted; however, your existing Amazon EBS snapshots persist and you will+-- continue to be billed for these snapshots. You can choose to remove all+-- remaining Amazon EBS snapshots by canceling your Amazon EC2 subscription.+-- If you prefer not to cancel your Amazon EC2 subscription, you can delete+-- your snapshots using the Amazon EC2 console. For more information, see the+-- AWS Storage Gateway Detail Page.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DeleteGateway.html>+module Network.AWS.StorageGateway.DeleteGateway+ (+ -- * Request+ DeleteGateway+ -- ** Request constructor+ , deleteGateway+ -- ** Request lenses+ , dgGatewayARN++ -- * Response+ , DeleteGatewayResponse+ -- ** Response constructor+ , deleteGatewayResponse+ -- ** Response lenses+ , dgrGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DeleteGateway = DeleteGateway+ { _dgGatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteGateway' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dgGatewayARN' @::@ 'Text'+--+deleteGateway :: Text -- ^ 'dgGatewayARN'+ -> DeleteGateway+deleteGateway p1 = DeleteGateway+ { _dgGatewayARN = p1+ }++dgGatewayARN :: Lens' DeleteGateway Text+dgGatewayARN = lens _dgGatewayARN (\s a -> s { _dgGatewayARN = a })++newtype DeleteGatewayResponse = DeleteGatewayResponse+ { _dgrGatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'DeleteGatewayResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dgrGatewayARN' @::@ 'Maybe' 'Text'+--+deleteGatewayResponse :: DeleteGatewayResponse+deleteGatewayResponse = DeleteGatewayResponse+ { _dgrGatewayARN = Nothing+ }++dgrGatewayARN :: Lens' DeleteGatewayResponse (Maybe Text)+dgrGatewayARN = lens _dgrGatewayARN (\s a -> s { _dgrGatewayARN = a })++instance ToPath DeleteGateway where+ toPath = const "/"++instance ToQuery DeleteGateway where+ toQuery = const mempty++instance ToHeaders DeleteGateway++instance ToJSON DeleteGateway where+ toJSON DeleteGateway{..} = object+ [ "GatewayARN" .= _dgGatewayARN+ ]++instance AWSRequest DeleteGateway where+ type Sv DeleteGateway = StorageGateway+ type Rs DeleteGateway = DeleteGatewayResponse++ request = post "DeleteGateway"+ response = jsonResponse++instance FromJSON DeleteGatewayResponse where+ parseJSON = withObject "DeleteGatewayResponse" $ \o -> DeleteGatewayResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/DeleteSnapshotSchedule.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DeleteSnapshotSchedule+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation deletes a snapshot of a volume. You can take snapshots of+-- your gateway volumes on a scheduled or ad-hoc basis. This API enables you+-- to delete a snapshot schedule for a volume. For more information, see+-- Working with Snapshots. In the DeleteSnapshotSchedule request, you identify+-- the volume by providing its Amazon Resource Name (ARN).+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DeleteSnapshotSchedule.html>+module Network.AWS.StorageGateway.DeleteSnapshotSchedule+ (+ -- * Request+ DeleteSnapshotSchedule+ -- ** Request constructor+ , deleteSnapshotSchedule+ -- ** Request lenses+ , dss1VolumeARN++ -- * Response+ , DeleteSnapshotScheduleResponse+ -- ** Response constructor+ , deleteSnapshotScheduleResponse+ -- ** Response lenses+ , dssr1VolumeARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DeleteSnapshotSchedule = DeleteSnapshotSchedule+ { _dss1VolumeARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteSnapshotSchedule' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dss1VolumeARN' @::@ 'Text'+--+deleteSnapshotSchedule :: Text -- ^ 'dss1VolumeARN'+ -> DeleteSnapshotSchedule+deleteSnapshotSchedule p1 = DeleteSnapshotSchedule+ { _dss1VolumeARN = p1+ }++dss1VolumeARN :: Lens' DeleteSnapshotSchedule Text+dss1VolumeARN = lens _dss1VolumeARN (\s a -> s { _dss1VolumeARN = a })++newtype DeleteSnapshotScheduleResponse = DeleteSnapshotScheduleResponse+ { _dssr1VolumeARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'DeleteSnapshotScheduleResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dssr1VolumeARN' @::@ 'Maybe' 'Text'+--+deleteSnapshotScheduleResponse :: DeleteSnapshotScheduleResponse+deleteSnapshotScheduleResponse = DeleteSnapshotScheduleResponse+ { _dssr1VolumeARN = Nothing+ }++dssr1VolumeARN :: Lens' DeleteSnapshotScheduleResponse (Maybe Text)+dssr1VolumeARN = lens _dssr1VolumeARN (\s a -> s { _dssr1VolumeARN = a })++instance ToPath DeleteSnapshotSchedule where+ toPath = const "/"++instance ToQuery DeleteSnapshotSchedule where+ toQuery = const mempty++instance ToHeaders DeleteSnapshotSchedule++instance ToJSON DeleteSnapshotSchedule where+ toJSON DeleteSnapshotSchedule{..} = object+ [ "VolumeARN" .= _dss1VolumeARN+ ]++instance AWSRequest DeleteSnapshotSchedule where+ type Sv DeleteSnapshotSchedule = StorageGateway+ type Rs DeleteSnapshotSchedule = DeleteSnapshotScheduleResponse++ request = post "DeleteSnapshotSchedule"+ response = jsonResponse++instance FromJSON DeleteSnapshotScheduleResponse where+ parseJSON = withObject "DeleteSnapshotScheduleResponse" $ \o -> DeleteSnapshotScheduleResponse+ <$> o .:? "VolumeARN"
+ gen/Network/AWS/StorageGateway/DeleteTape.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DeleteTape+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Deletes the specified virtual tape.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DeleteTape.html>+module Network.AWS.StorageGateway.DeleteTape+ (+ -- * Request+ DeleteTape+ -- ** Request constructor+ , deleteTape+ -- ** Request lenses+ , dt1GatewayARN+ , dt1TapeARN++ -- * Response+ , DeleteTapeResponse+ -- ** Response constructor+ , deleteTapeResponse+ -- ** Response lenses+ , dtrTapeARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data DeleteTape = DeleteTape+ { _dt1GatewayARN :: Text+ , _dt1TapeARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'DeleteTape' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dt1GatewayARN' @::@ 'Text'+--+-- * 'dt1TapeARN' @::@ 'Text'+--+deleteTape :: Text -- ^ 'dt1GatewayARN'+ -> Text -- ^ 'dt1TapeARN'+ -> DeleteTape+deleteTape p1 p2 = DeleteTape+ { _dt1GatewayARN = p1+ , _dt1TapeARN = p2+ }++-- | The unique Amazon Resource Name (ARN) of the gateway that the virtual+-- tape to delete is associated with. Use the ListGateways operation to+-- return a list of gateways for your account and region.+dt1GatewayARN :: Lens' DeleteTape Text+dt1GatewayARN = lens _dt1GatewayARN (\s a -> s { _dt1GatewayARN = a })++-- | The Amazon Resource Name (ARN) of the virtual tape to delete.+dt1TapeARN :: Lens' DeleteTape Text+dt1TapeARN = lens _dt1TapeARN (\s a -> s { _dt1TapeARN = a })++newtype DeleteTapeResponse = DeleteTapeResponse+ { _dtrTapeARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'DeleteTapeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtrTapeARN' @::@ 'Maybe' 'Text'+--+deleteTapeResponse :: DeleteTapeResponse+deleteTapeResponse = DeleteTapeResponse+ { _dtrTapeARN = Nothing+ }++-- | The Amazon Resource Name (ARN) of the deleted virtual tape.+dtrTapeARN :: Lens' DeleteTapeResponse (Maybe Text)+dtrTapeARN = lens _dtrTapeARN (\s a -> s { _dtrTapeARN = a })++instance ToPath DeleteTape where+ toPath = const "/"++instance ToQuery DeleteTape where+ toQuery = const mempty++instance ToHeaders DeleteTape++instance ToJSON DeleteTape where+ toJSON DeleteTape{..} = object+ [ "GatewayARN" .= _dt1GatewayARN+ , "TapeARN" .= _dt1TapeARN+ ]++instance AWSRequest DeleteTape where+ type Sv DeleteTape = StorageGateway+ type Rs DeleteTape = DeleteTapeResponse++ request = post "DeleteTape"+ response = jsonResponse++instance FromJSON DeleteTapeResponse where+ parseJSON = withObject "DeleteTapeResponse" $ \o -> DeleteTapeResponse+ <$> o .:? "TapeARN"
+ gen/Network/AWS/StorageGateway/DeleteTapeArchive.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DeleteTapeArchive+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Deletes the specified virtual tape from the virtual tape shelf (VTS).+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DeleteTapeArchive.html>+module Network.AWS.StorageGateway.DeleteTapeArchive+ (+ -- * Request+ DeleteTapeArchive+ -- ** Request constructor+ , deleteTapeArchive+ -- ** Request lenses+ , dtaTapeARN++ -- * Response+ , DeleteTapeArchiveResponse+ -- ** Response constructor+ , deleteTapeArchiveResponse+ -- ** Response lenses+ , dtarTapeARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DeleteTapeArchive = DeleteTapeArchive+ { _dtaTapeARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteTapeArchive' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtaTapeARN' @::@ 'Text'+--+deleteTapeArchive :: Text -- ^ 'dtaTapeARN'+ -> DeleteTapeArchive+deleteTapeArchive p1 = DeleteTapeArchive+ { _dtaTapeARN = p1+ }++-- | The Amazon Resource Name (ARN) of the virtual tape to delete from the+-- virtual tape shelf (VTS).+dtaTapeARN :: Lens' DeleteTapeArchive Text+dtaTapeARN = lens _dtaTapeARN (\s a -> s { _dtaTapeARN = a })++newtype DeleteTapeArchiveResponse = DeleteTapeArchiveResponse+ { _dtarTapeARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'DeleteTapeArchiveResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtarTapeARN' @::@ 'Maybe' 'Text'+--+deleteTapeArchiveResponse :: DeleteTapeArchiveResponse+deleteTapeArchiveResponse = DeleteTapeArchiveResponse+ { _dtarTapeARN = Nothing+ }++-- | The Amazon Resource Name (ARN) of the virtual tape that was deleted from+-- the virtual tape shelf (VTS).+dtarTapeARN :: Lens' DeleteTapeArchiveResponse (Maybe Text)+dtarTapeARN = lens _dtarTapeARN (\s a -> s { _dtarTapeARN = a })++instance ToPath DeleteTapeArchive where+ toPath = const "/"++instance ToQuery DeleteTapeArchive where+ toQuery = const mempty++instance ToHeaders DeleteTapeArchive++instance ToJSON DeleteTapeArchive where+ toJSON DeleteTapeArchive{..} = object+ [ "TapeARN" .= _dtaTapeARN+ ]++instance AWSRequest DeleteTapeArchive where+ type Sv DeleteTapeArchive = StorageGateway+ type Rs DeleteTapeArchive = DeleteTapeArchiveResponse++ request = post "DeleteTapeArchive"+ response = jsonResponse++instance FromJSON DeleteTapeArchiveResponse where+ parseJSON = withObject "DeleteTapeArchiveResponse" $ \o -> DeleteTapeArchiveResponse+ <$> o .:? "TapeARN"
+ gen/Network/AWS/StorageGateway/DeleteVolume.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DeleteVolume+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation delete the specified gateway volume that you previously+-- created using the CreateStorediSCSIVolume API. For gateway-stored volumes,+-- the local disk that was configured as the storage volume is not deleted.+-- You can reuse the local disk to create another storage volume. Before you+-- delete a gateway volume, make sure there are no iSCSI connections to the+-- volume you are deleting. You should also make sure there is no snapshot in+-- progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to+-- query snapshots on the volume you are deleting and check the snapshot+-- status. For more information, go to DescribeSnapshots in the Amazon Elastic+-- Compute Cloud API Reference. In the request, you must provide the Amazon+-- Resource Name (ARN) of the storage volume you want to delete.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DeleteVolume.html>+module Network.AWS.StorageGateway.DeleteVolume+ (+ -- * Request+ DeleteVolume+ -- ** Request constructor+ , deleteVolume+ -- ** Request lenses+ , dvVolumeARN++ -- * Response+ , DeleteVolumeResponse+ -- ** Response constructor+ , deleteVolumeResponse+ -- ** Response lenses+ , dvrVolumeARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DeleteVolume = DeleteVolume+ { _dvVolumeARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteVolume' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dvVolumeARN' @::@ 'Text'+--+deleteVolume :: Text -- ^ 'dvVolumeARN'+ -> DeleteVolume+deleteVolume p1 = DeleteVolume+ { _dvVolumeARN = p1+ }++-- | The Amazon Resource Name (ARN) of the volume. Use the ListVolumes+-- operation to return a list of gateway volumes.+dvVolumeARN :: Lens' DeleteVolume Text+dvVolumeARN = lens _dvVolumeARN (\s a -> s { _dvVolumeARN = a })++newtype DeleteVolumeResponse = DeleteVolumeResponse+ { _dvrVolumeARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'DeleteVolumeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dvrVolumeARN' @::@ 'Maybe' 'Text'+--+deleteVolumeResponse :: DeleteVolumeResponse+deleteVolumeResponse = DeleteVolumeResponse+ { _dvrVolumeARN = Nothing+ }++-- | The Amazon Resource Name (ARN) of the storage volume that was deleted. It+-- is the same ARN you provided in the request.+dvrVolumeARN :: Lens' DeleteVolumeResponse (Maybe Text)+dvrVolumeARN = lens _dvrVolumeARN (\s a -> s { _dvrVolumeARN = a })++instance ToPath DeleteVolume where+ toPath = const "/"++instance ToQuery DeleteVolume where+ toQuery = const mempty++instance ToHeaders DeleteVolume++instance ToJSON DeleteVolume where+ toJSON DeleteVolume{..} = object+ [ "VolumeARN" .= _dvVolumeARN+ ]++instance AWSRequest DeleteVolume where+ type Sv DeleteVolume = StorageGateway+ type Rs DeleteVolume = DeleteVolumeResponse++ request = post "DeleteVolume"+ response = jsonResponse++instance FromJSON DeleteVolumeResponse where+ parseJSON = withObject "DeleteVolumeResponse" $ \o -> DeleteVolumeResponse+ <$> o .:? "VolumeARN"
+ gen/Network/AWS/StorageGateway/DescribeBandwidthRateLimit.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeBandwidthRateLimit+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation returns the bandwidth rate limits of a gateway. By default,+-- these limits are not set, which means no bandwidth rate limiting is in+-- effect. This operation only returns a value for a bandwidth rate limit only+-- if the limit is set. If no limits are set for the gateway, then this+-- operation returns only the gateway ARN in the response body. To specify+-- which gateway to describe, use the Amazon Resource Name (ARN) of the+-- gateway in your request.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeBandwidthRateLimit.html>+module Network.AWS.StorageGateway.DescribeBandwidthRateLimit+ (+ -- * Request+ DescribeBandwidthRateLimit+ -- ** Request constructor+ , describeBandwidthRateLimit+ -- ** Request lenses+ , dbrlGatewayARN++ -- * Response+ , DescribeBandwidthRateLimitResponse+ -- ** Response constructor+ , describeBandwidthRateLimitResponse+ -- ** Response lenses+ , dbrlrAverageDownloadRateLimitInBitsPerSec+ , dbrlrAverageUploadRateLimitInBitsPerSec+ , dbrlrGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DescribeBandwidthRateLimit = DescribeBandwidthRateLimit+ { _dbrlGatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DescribeBandwidthRateLimit' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbrlGatewayARN' @::@ 'Text'+--+describeBandwidthRateLimit :: Text -- ^ 'dbrlGatewayARN'+ -> DescribeBandwidthRateLimit+describeBandwidthRateLimit p1 = DescribeBandwidthRateLimit+ { _dbrlGatewayARN = p1+ }++dbrlGatewayARN :: Lens' DescribeBandwidthRateLimit Text+dbrlGatewayARN = lens _dbrlGatewayARN (\s a -> s { _dbrlGatewayARN = a })++data DescribeBandwidthRateLimitResponse = DescribeBandwidthRateLimitResponse+ { _dbrlrAverageDownloadRateLimitInBitsPerSec :: Maybe Nat+ , _dbrlrAverageUploadRateLimitInBitsPerSec :: Maybe Nat+ , _dbrlrGatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeBandwidthRateLimitResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbrlrAverageDownloadRateLimitInBitsPerSec' @::@ 'Maybe' 'Natural'+--+-- * 'dbrlrAverageUploadRateLimitInBitsPerSec' @::@ 'Maybe' 'Natural'+--+-- * 'dbrlrGatewayARN' @::@ 'Maybe' 'Text'+--+describeBandwidthRateLimitResponse :: DescribeBandwidthRateLimitResponse+describeBandwidthRateLimitResponse = DescribeBandwidthRateLimitResponse+ { _dbrlrGatewayARN = Nothing+ , _dbrlrAverageUploadRateLimitInBitsPerSec = Nothing+ , _dbrlrAverageDownloadRateLimitInBitsPerSec = Nothing+ }++-- | The average download bandwidth rate limit in bits per second. This field+-- does not appear in the response if the download rate limit is not set.+dbrlrAverageDownloadRateLimitInBitsPerSec :: Lens' DescribeBandwidthRateLimitResponse (Maybe Natural)+dbrlrAverageDownloadRateLimitInBitsPerSec =+ lens _dbrlrAverageDownloadRateLimitInBitsPerSec+ (\s a -> s { _dbrlrAverageDownloadRateLimitInBitsPerSec = a })+ . mapping _Nat++-- | The average upload bandwidth rate limit in bits per second. This field+-- does not appear in the response if the upload rate limit is not set.+dbrlrAverageUploadRateLimitInBitsPerSec :: Lens' DescribeBandwidthRateLimitResponse (Maybe Natural)+dbrlrAverageUploadRateLimitInBitsPerSec =+ lens _dbrlrAverageUploadRateLimitInBitsPerSec+ (\s a -> s { _dbrlrAverageUploadRateLimitInBitsPerSec = a })+ . mapping _Nat++dbrlrGatewayARN :: Lens' DescribeBandwidthRateLimitResponse (Maybe Text)+dbrlrGatewayARN = lens _dbrlrGatewayARN (\s a -> s { _dbrlrGatewayARN = a })++instance ToPath DescribeBandwidthRateLimit where+ toPath = const "/"++instance ToQuery DescribeBandwidthRateLimit where+ toQuery = const mempty++instance ToHeaders DescribeBandwidthRateLimit++instance ToJSON DescribeBandwidthRateLimit where+ toJSON DescribeBandwidthRateLimit{..} = object+ [ "GatewayARN" .= _dbrlGatewayARN+ ]++instance AWSRequest DescribeBandwidthRateLimit where+ type Sv DescribeBandwidthRateLimit = StorageGateway+ type Rs DescribeBandwidthRateLimit = DescribeBandwidthRateLimitResponse++ request = post "DescribeBandwidthRateLimit"+ response = jsonResponse++instance FromJSON DescribeBandwidthRateLimitResponse where+ parseJSON = withObject "DescribeBandwidthRateLimitResponse" $ \o -> DescribeBandwidthRateLimitResponse+ <$> o .:? "AverageDownloadRateLimitInBitsPerSec"+ <*> o .:? "AverageUploadRateLimitInBitsPerSec"+ <*> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/DescribeCache.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeCache+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation returns information about the cache of a gateway. This+-- operation is supported only for the gateway-cached volume architecture. The+-- response includes disk IDs that are configured as cache, and it includes+-- the amount of cache allocated and used.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeCache.html>+module Network.AWS.StorageGateway.DescribeCache+ (+ -- * Request+ DescribeCache+ -- ** Request constructor+ , describeCache+ -- ** Request lenses+ , dcGatewayARN++ -- * Response+ , DescribeCacheResponse+ -- ** Response constructor+ , describeCacheResponse+ -- ** Response lenses+ , dcrCacheAllocatedInBytes+ , dcrCacheDirtyPercentage+ , dcrCacheHitPercentage+ , dcrCacheMissPercentage+ , dcrCacheUsedPercentage+ , dcrDiskIds+ , dcrGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DescribeCache = DescribeCache+ { _dcGatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DescribeCache' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcGatewayARN' @::@ 'Text'+--+describeCache :: Text -- ^ 'dcGatewayARN'+ -> DescribeCache+describeCache p1 = DescribeCache+ { _dcGatewayARN = p1+ }++dcGatewayARN :: Lens' DescribeCache Text+dcGatewayARN = lens _dcGatewayARN (\s a -> s { _dcGatewayARN = a })++data DescribeCacheResponse = DescribeCacheResponse+ { _dcrCacheAllocatedInBytes :: Maybe Integer+ , _dcrCacheDirtyPercentage :: Maybe Double+ , _dcrCacheHitPercentage :: Maybe Double+ , _dcrCacheMissPercentage :: Maybe Double+ , _dcrCacheUsedPercentage :: Maybe Double+ , _dcrDiskIds :: List "DiskIds" Text+ , _dcrGatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeCacheResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcrCacheAllocatedInBytes' @::@ 'Maybe' 'Integer'+--+-- * 'dcrCacheDirtyPercentage' @::@ 'Maybe' 'Double'+--+-- * 'dcrCacheHitPercentage' @::@ 'Maybe' 'Double'+--+-- * 'dcrCacheMissPercentage' @::@ 'Maybe' 'Double'+--+-- * 'dcrCacheUsedPercentage' @::@ 'Maybe' 'Double'+--+-- * 'dcrDiskIds' @::@ ['Text']+--+-- * 'dcrGatewayARN' @::@ 'Maybe' 'Text'+--+describeCacheResponse :: DescribeCacheResponse+describeCacheResponse = DescribeCacheResponse+ { _dcrGatewayARN = Nothing+ , _dcrDiskIds = mempty+ , _dcrCacheAllocatedInBytes = Nothing+ , _dcrCacheUsedPercentage = Nothing+ , _dcrCacheDirtyPercentage = Nothing+ , _dcrCacheHitPercentage = Nothing+ , _dcrCacheMissPercentage = Nothing+ }++dcrCacheAllocatedInBytes :: Lens' DescribeCacheResponse (Maybe Integer)+dcrCacheAllocatedInBytes =+ lens _dcrCacheAllocatedInBytes+ (\s a -> s { _dcrCacheAllocatedInBytes = a })++dcrCacheDirtyPercentage :: Lens' DescribeCacheResponse (Maybe Double)+dcrCacheDirtyPercentage =+ lens _dcrCacheDirtyPercentage (\s a -> s { _dcrCacheDirtyPercentage = a })++dcrCacheHitPercentage :: Lens' DescribeCacheResponse (Maybe Double)+dcrCacheHitPercentage =+ lens _dcrCacheHitPercentage (\s a -> s { _dcrCacheHitPercentage = a })++dcrCacheMissPercentage :: Lens' DescribeCacheResponse (Maybe Double)+dcrCacheMissPercentage =+ lens _dcrCacheMissPercentage (\s a -> s { _dcrCacheMissPercentage = a })++dcrCacheUsedPercentage :: Lens' DescribeCacheResponse (Maybe Double)+dcrCacheUsedPercentage =+ lens _dcrCacheUsedPercentage (\s a -> s { _dcrCacheUsedPercentage = a })++dcrDiskIds :: Lens' DescribeCacheResponse [Text]+dcrDiskIds = lens _dcrDiskIds (\s a -> s { _dcrDiskIds = a }) . _List++dcrGatewayARN :: Lens' DescribeCacheResponse (Maybe Text)+dcrGatewayARN = lens _dcrGatewayARN (\s a -> s { _dcrGatewayARN = a })++instance ToPath DescribeCache where+ toPath = const "/"++instance ToQuery DescribeCache where+ toQuery = const mempty++instance ToHeaders DescribeCache++instance ToJSON DescribeCache where+ toJSON DescribeCache{..} = object+ [ "GatewayARN" .= _dcGatewayARN+ ]++instance AWSRequest DescribeCache where+ type Sv DescribeCache = StorageGateway+ type Rs DescribeCache = DescribeCacheResponse++ request = post "DescribeCache"+ response = jsonResponse++instance FromJSON DescribeCacheResponse where+ parseJSON = withObject "DescribeCacheResponse" $ \o -> DescribeCacheResponse+ <$> o .:? "CacheAllocatedInBytes"+ <*> o .:? "CacheDirtyPercentage"+ <*> o .:? "CacheHitPercentage"+ <*> o .:? "CacheMissPercentage"+ <*> o .:? "CacheUsedPercentage"+ <*> o .: "DiskIds"+ <*> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/DescribeCachediSCSIVolumes.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeCachediSCSIVolumes+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation returns a description of the gateway volumes specified in+-- the request. This operation is supported only for the gateway-cached volume+-- architecture. The list of gateway volumes in the request must be from one+-- gateway. In the response Amazon Storage Gateway returns volume information+-- sorted by volume Amazon Resource Name (ARN).+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeCachediSCSIVolumes.html>+module Network.AWS.StorageGateway.DescribeCachediSCSIVolumes+ (+ -- * Request+ DescribeCachediSCSIVolumes+ -- ** Request constructor+ , describeCachediSCSIVolumes+ -- ** Request lenses+ , dcscsivVolumeARNs++ -- * Response+ , DescribeCachediSCSIVolumesResponse+ -- ** Response constructor+ , describeCachediSCSIVolumesResponse+ -- ** Response lenses+ , dcscsivrCachediSCSIVolumes+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DescribeCachediSCSIVolumes = DescribeCachediSCSIVolumes+ { _dcscsivVolumeARNs :: List "VolumeARNs" Text+ } deriving (Eq, Ord, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeCachediSCSIVolumes where+ type Item DescribeCachediSCSIVolumes = Text++ fromList = DescribeCachediSCSIVolumes . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dcscsivVolumeARNs++-- | 'DescribeCachediSCSIVolumes' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcscsivVolumeARNs' @::@ ['Text']+--+describeCachediSCSIVolumes :: DescribeCachediSCSIVolumes+describeCachediSCSIVolumes = DescribeCachediSCSIVolumes+ { _dcscsivVolumeARNs = mempty+ }++dcscsivVolumeARNs :: Lens' DescribeCachediSCSIVolumes [Text]+dcscsivVolumeARNs =+ lens _dcscsivVolumeARNs (\s a -> s { _dcscsivVolumeARNs = a })+ . _List++newtype DescribeCachediSCSIVolumesResponse = DescribeCachediSCSIVolumesResponse+ { _dcscsivrCachediSCSIVolumes :: List "CachediSCSIVolumes" CachediSCSIVolume+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeCachediSCSIVolumesResponse where+ type Item DescribeCachediSCSIVolumesResponse = CachediSCSIVolume++ fromList = DescribeCachediSCSIVolumesResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dcscsivrCachediSCSIVolumes++-- | 'DescribeCachediSCSIVolumesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dcscsivrCachediSCSIVolumes' @::@ ['CachediSCSIVolume']+--+describeCachediSCSIVolumesResponse :: DescribeCachediSCSIVolumesResponse+describeCachediSCSIVolumesResponse = DescribeCachediSCSIVolumesResponse+ { _dcscsivrCachediSCSIVolumes = mempty+ }++-- | An array of objects where each object contains metadata about one cached+-- volume.+dcscsivrCachediSCSIVolumes :: Lens' DescribeCachediSCSIVolumesResponse [CachediSCSIVolume]+dcscsivrCachediSCSIVolumes =+ lens _dcscsivrCachediSCSIVolumes+ (\s a -> s { _dcscsivrCachediSCSIVolumes = a })+ . _List++instance ToPath DescribeCachediSCSIVolumes where+ toPath = const "/"++instance ToQuery DescribeCachediSCSIVolumes where+ toQuery = const mempty++instance ToHeaders DescribeCachediSCSIVolumes++instance ToJSON DescribeCachediSCSIVolumes where+ toJSON DescribeCachediSCSIVolumes{..} = object+ [ "VolumeARNs" .= _dcscsivVolumeARNs+ ]++instance AWSRequest DescribeCachediSCSIVolumes where+ type Sv DescribeCachediSCSIVolumes = StorageGateway+ type Rs DescribeCachediSCSIVolumes = DescribeCachediSCSIVolumesResponse++ request = post "DescribeCachediSCSIVolumes"+ response = jsonResponse++instance FromJSON DescribeCachediSCSIVolumesResponse where+ parseJSON = withObject "DescribeCachediSCSIVolumesResponse" $ \o -> DescribeCachediSCSIVolumesResponse+ <$> o .: "CachediSCSIVolumes"
+ gen/Network/AWS/StorageGateway/DescribeChapCredentials.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeChapCredentials+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation returns an array of Challenge-Handshake Authentication+-- Protocol (CHAP) credentials information for a specified iSCSI target, one+-- for each target-initiator pair.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeChapCredentials.html>+module Network.AWS.StorageGateway.DescribeChapCredentials+ (+ -- * Request+ DescribeChapCredentials+ -- ** Request constructor+ , describeChapCredentials+ -- ** Request lenses+ , dccTargetARN++ -- * Response+ , DescribeChapCredentialsResponse+ -- ** Response constructor+ , describeChapCredentialsResponse+ -- ** Response lenses+ , dccrChapCredentials+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DescribeChapCredentials = DescribeChapCredentials+ { _dccTargetARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DescribeChapCredentials' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dccTargetARN' @::@ 'Text'+--+describeChapCredentials :: Text -- ^ 'dccTargetARN'+ -> DescribeChapCredentials+describeChapCredentials p1 = DescribeChapCredentials+ { _dccTargetARN = p1+ }++-- | The Amazon Resource Name (ARN) of the iSCSI volume target. Use the+-- DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN+-- for specified VolumeARN.+dccTargetARN :: Lens' DescribeChapCredentials Text+dccTargetARN = lens _dccTargetARN (\s a -> s { _dccTargetARN = a })++newtype DescribeChapCredentialsResponse = DescribeChapCredentialsResponse+ { _dccrChapCredentials :: List "ChapCredentials" ChapInfo+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeChapCredentialsResponse where+ type Item DescribeChapCredentialsResponse = ChapInfo++ fromList = DescribeChapCredentialsResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dccrChapCredentials++-- | 'DescribeChapCredentialsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dccrChapCredentials' @::@ ['ChapInfo']+--+describeChapCredentialsResponse :: DescribeChapCredentialsResponse+describeChapCredentialsResponse = DescribeChapCredentialsResponse+ { _dccrChapCredentials = mempty+ }++-- | An array of ChapInfo objects that represent CHAP credentials. Each object+-- in the array contains CHAP credential information for one+-- target-initiator pair. If no CHAP credentials are set, an empty array is+-- returned. CHAP credential information is provided in a JSON object with+-- the following fields: InitiatorName: The iSCSI initiator that connects to+-- the target. SecretToAuthenticateInitiator: The secret key that the+-- initiator (e.g. Windows client) must provide to participate in mutual+-- CHAP with the target. SecretToAuthenticateTarget: The secret key that the+-- target must provide to participate in mutual CHAP with the initiator+-- (e.g. Windows client). TargetARN: The Amazon Resource Name (ARN) of the+-- storage volume.+dccrChapCredentials :: Lens' DescribeChapCredentialsResponse [ChapInfo]+dccrChapCredentials =+ lens _dccrChapCredentials (\s a -> s { _dccrChapCredentials = a })+ . _List++instance ToPath DescribeChapCredentials where+ toPath = const "/"++instance ToQuery DescribeChapCredentials where+ toQuery = const mempty++instance ToHeaders DescribeChapCredentials++instance ToJSON DescribeChapCredentials where+ toJSON DescribeChapCredentials{..} = object+ [ "TargetARN" .= _dccTargetARN+ ]++instance AWSRequest DescribeChapCredentials where+ type Sv DescribeChapCredentials = StorageGateway+ type Rs DescribeChapCredentials = DescribeChapCredentialsResponse++ request = post "DescribeChapCredentials"+ response = jsonResponse++instance FromJSON DescribeChapCredentialsResponse where+ parseJSON = withObject "DescribeChapCredentialsResponse" $ \o -> DescribeChapCredentialsResponse+ <$> o .: "ChapCredentials"
+ gen/Network/AWS/StorageGateway/DescribeGatewayInformation.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeGatewayInformation+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation returns metadata about a gateway such as its name, network+-- interfaces, configured time zone, and the state (whether the gateway is+-- running or not). To specify which gateway to describe, use the Amazon+-- Resource Name (ARN) of the gateway in your request.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeGatewayInformation.html>+module Network.AWS.StorageGateway.DescribeGatewayInformation+ (+ -- * Request+ DescribeGatewayInformation+ -- ** Request constructor+ , describeGatewayInformation+ -- ** Request lenses+ , dgiGatewayARN++ -- * Response+ , DescribeGatewayInformationResponse+ -- ** Response constructor+ , describeGatewayInformationResponse+ -- ** Response lenses+ , dgirGatewayARN+ , dgirGatewayId+ , dgirGatewayNetworkInterfaces+ , dgirGatewayState+ , dgirGatewayTimezone+ , dgirGatewayType+ , dgirNextUpdateAvailabilityDate+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DescribeGatewayInformation = DescribeGatewayInformation+ { _dgiGatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DescribeGatewayInformation' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dgiGatewayARN' @::@ 'Text'+--+describeGatewayInformation :: Text -- ^ 'dgiGatewayARN'+ -> DescribeGatewayInformation+describeGatewayInformation p1 = DescribeGatewayInformation+ { _dgiGatewayARN = p1+ }++dgiGatewayARN :: Lens' DescribeGatewayInformation Text+dgiGatewayARN = lens _dgiGatewayARN (\s a -> s { _dgiGatewayARN = a })++data DescribeGatewayInformationResponse = DescribeGatewayInformationResponse+ { _dgirGatewayARN :: Maybe Text+ , _dgirGatewayId :: Maybe Text+ , _dgirGatewayNetworkInterfaces :: List "GatewayNetworkInterfaces" NetworkInterface+ , _dgirGatewayState :: Maybe Text+ , _dgirGatewayTimezone :: Maybe Text+ , _dgirGatewayType :: Maybe Text+ , _dgirNextUpdateAvailabilityDate :: Maybe Text+ } deriving (Eq, Show)++-- | 'DescribeGatewayInformationResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dgirGatewayARN' @::@ 'Maybe' 'Text'+--+-- * 'dgirGatewayId' @::@ 'Maybe' 'Text'+--+-- * 'dgirGatewayNetworkInterfaces' @::@ ['NetworkInterface']+--+-- * 'dgirGatewayState' @::@ 'Maybe' 'Text'+--+-- * 'dgirGatewayTimezone' @::@ 'Maybe' 'Text'+--+-- * 'dgirGatewayType' @::@ 'Maybe' 'Text'+--+-- * 'dgirNextUpdateAvailabilityDate' @::@ 'Maybe' 'Text'+--+describeGatewayInformationResponse :: DescribeGatewayInformationResponse+describeGatewayInformationResponse = DescribeGatewayInformationResponse+ { _dgirGatewayARN = Nothing+ , _dgirGatewayId = Nothing+ , _dgirGatewayTimezone = Nothing+ , _dgirGatewayState = Nothing+ , _dgirGatewayNetworkInterfaces = mempty+ , _dgirGatewayType = Nothing+ , _dgirNextUpdateAvailabilityDate = Nothing+ }++dgirGatewayARN :: Lens' DescribeGatewayInformationResponse (Maybe Text)+dgirGatewayARN = lens _dgirGatewayARN (\s a -> s { _dgirGatewayARN = a })++-- | The gateway ID.+dgirGatewayId :: Lens' DescribeGatewayInformationResponse (Maybe Text)+dgirGatewayId = lens _dgirGatewayId (\s a -> s { _dgirGatewayId = a })++-- | A NetworkInterface array that contains descriptions of the gateway+-- network interfaces.+dgirGatewayNetworkInterfaces :: Lens' DescribeGatewayInformationResponse [NetworkInterface]+dgirGatewayNetworkInterfaces =+ lens _dgirGatewayNetworkInterfaces+ (\s a -> s { _dgirGatewayNetworkInterfaces = a })+ . _List++-- | One of the values that indicates the operating state of the gateway.+dgirGatewayState :: Lens' DescribeGatewayInformationResponse (Maybe Text)+dgirGatewayState = lens _dgirGatewayState (\s a -> s { _dgirGatewayState = a })++-- | One of the values that indicates the time zone configured for the+-- gateway.+dgirGatewayTimezone :: Lens' DescribeGatewayInformationResponse (Maybe Text)+dgirGatewayTimezone =+ lens _dgirGatewayTimezone (\s a -> s { _dgirGatewayTimezone = a })++-- | TBD.+dgirGatewayType :: Lens' DescribeGatewayInformationResponse (Maybe Text)+dgirGatewayType = lens _dgirGatewayType (\s a -> s { _dgirGatewayType = a })++-- | The date at which an update to the gateway is available. This date is in+-- the time zone of the gateway. If the gateway is not available for an+-- update this field is not returned in the response.+dgirNextUpdateAvailabilityDate :: Lens' DescribeGatewayInformationResponse (Maybe Text)+dgirNextUpdateAvailabilityDate =+ lens _dgirNextUpdateAvailabilityDate+ (\s a -> s { _dgirNextUpdateAvailabilityDate = a })++instance ToPath DescribeGatewayInformation where+ toPath = const "/"++instance ToQuery DescribeGatewayInformation where+ toQuery = const mempty++instance ToHeaders DescribeGatewayInformation++instance ToJSON DescribeGatewayInformation where+ toJSON DescribeGatewayInformation{..} = object+ [ "GatewayARN" .= _dgiGatewayARN+ ]++instance AWSRequest DescribeGatewayInformation where+ type Sv DescribeGatewayInformation = StorageGateway+ type Rs DescribeGatewayInformation = DescribeGatewayInformationResponse++ request = post "DescribeGatewayInformation"+ response = jsonResponse++instance FromJSON DescribeGatewayInformationResponse where+ parseJSON = withObject "DescribeGatewayInformationResponse" $ \o -> DescribeGatewayInformationResponse+ <$> o .:? "GatewayARN"+ <*> o .:? "GatewayId"+ <*> o .: "GatewayNetworkInterfaces"+ <*> o .:? "GatewayState"+ <*> o .:? "GatewayTimezone"+ <*> o .:? "GatewayType"+ <*> o .:? "NextUpdateAvailabilityDate"
+ gen/Network/AWS/StorageGateway/DescribeMaintenanceStartTime.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeMaintenanceStartTime+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation returns your gateway's weekly maintenance start time+-- including the day and time of the week. Note that values are in terms of+-- the gateway's time zone.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeMaintenanceStartTime.html>+module Network.AWS.StorageGateway.DescribeMaintenanceStartTime+ (+ -- * Request+ DescribeMaintenanceStartTime+ -- ** Request constructor+ , describeMaintenanceStartTime+ -- ** Request lenses+ , dmstGatewayARN++ -- * Response+ , DescribeMaintenanceStartTimeResponse+ -- ** Response constructor+ , describeMaintenanceStartTimeResponse+ -- ** Response lenses+ , dmstrDayOfWeek+ , dmstrGatewayARN+ , dmstrHourOfDay+ , dmstrMinuteOfHour+ , dmstrTimezone+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DescribeMaintenanceStartTime = DescribeMaintenanceStartTime+ { _dmstGatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DescribeMaintenanceStartTime' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dmstGatewayARN' @::@ 'Text'+--+describeMaintenanceStartTime :: Text -- ^ 'dmstGatewayARN'+ -> DescribeMaintenanceStartTime+describeMaintenanceStartTime p1 = DescribeMaintenanceStartTime+ { _dmstGatewayARN = p1+ }++dmstGatewayARN :: Lens' DescribeMaintenanceStartTime Text+dmstGatewayARN = lens _dmstGatewayARN (\s a -> s { _dmstGatewayARN = a })++data DescribeMaintenanceStartTimeResponse = DescribeMaintenanceStartTimeResponse+ { _dmstrDayOfWeek :: Maybe Nat+ , _dmstrGatewayARN :: Maybe Text+ , _dmstrHourOfDay :: Maybe Nat+ , _dmstrMinuteOfHour :: Maybe Nat+ , _dmstrTimezone :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeMaintenanceStartTimeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dmstrDayOfWeek' @::@ 'Maybe' 'Natural'+--+-- * 'dmstrGatewayARN' @::@ 'Maybe' 'Text'+--+-- * 'dmstrHourOfDay' @::@ 'Maybe' 'Natural'+--+-- * 'dmstrMinuteOfHour' @::@ 'Maybe' 'Natural'+--+-- * 'dmstrTimezone' @::@ 'Maybe' 'Text'+--+describeMaintenanceStartTimeResponse :: DescribeMaintenanceStartTimeResponse+describeMaintenanceStartTimeResponse = DescribeMaintenanceStartTimeResponse+ { _dmstrGatewayARN = Nothing+ , _dmstrHourOfDay = Nothing+ , _dmstrMinuteOfHour = Nothing+ , _dmstrDayOfWeek = Nothing+ , _dmstrTimezone = Nothing+ }++dmstrDayOfWeek :: Lens' DescribeMaintenanceStartTimeResponse (Maybe Natural)+dmstrDayOfWeek = lens _dmstrDayOfWeek (\s a -> s { _dmstrDayOfWeek = a }) . mapping _Nat++dmstrGatewayARN :: Lens' DescribeMaintenanceStartTimeResponse (Maybe Text)+dmstrGatewayARN = lens _dmstrGatewayARN (\s a -> s { _dmstrGatewayARN = a })++dmstrHourOfDay :: Lens' DescribeMaintenanceStartTimeResponse (Maybe Natural)+dmstrHourOfDay = lens _dmstrHourOfDay (\s a -> s { _dmstrHourOfDay = a }) . mapping _Nat++dmstrMinuteOfHour :: Lens' DescribeMaintenanceStartTimeResponse (Maybe Natural)+dmstrMinuteOfHour =+ lens _dmstrMinuteOfHour (\s a -> s { _dmstrMinuteOfHour = a })+ . mapping _Nat++dmstrTimezone :: Lens' DescribeMaintenanceStartTimeResponse (Maybe Text)+dmstrTimezone = lens _dmstrTimezone (\s a -> s { _dmstrTimezone = a })++instance ToPath DescribeMaintenanceStartTime where+ toPath = const "/"++instance ToQuery DescribeMaintenanceStartTime where+ toQuery = const mempty++instance ToHeaders DescribeMaintenanceStartTime++instance ToJSON DescribeMaintenanceStartTime where+ toJSON DescribeMaintenanceStartTime{..} = object+ [ "GatewayARN" .= _dmstGatewayARN+ ]++instance AWSRequest DescribeMaintenanceStartTime where+ type Sv DescribeMaintenanceStartTime = StorageGateway+ type Rs DescribeMaintenanceStartTime = DescribeMaintenanceStartTimeResponse++ request = post "DescribeMaintenanceStartTime"+ response = jsonResponse++instance FromJSON DescribeMaintenanceStartTimeResponse where+ parseJSON = withObject "DescribeMaintenanceStartTimeResponse" $ \o -> DescribeMaintenanceStartTimeResponse+ <$> o .:? "DayOfWeek"+ <*> o .:? "GatewayARN"+ <*> o .:? "HourOfDay"+ <*> o .:? "MinuteOfHour"+ <*> o .:? "Timezone"
+ gen/Network/AWS/StorageGateway/DescribeSnapshotSchedule.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeSnapshotSchedule+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation describes the snapshot schedule for the specified gateway+-- volume. The snapshot schedule information includes intervals at which+-- snapshots are automatically initiated on the volume.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeSnapshotSchedule.html>+module Network.AWS.StorageGateway.DescribeSnapshotSchedule+ (+ -- * Request+ DescribeSnapshotSchedule+ -- ** Request constructor+ , describeSnapshotSchedule+ -- ** Request lenses+ , dssVolumeARN++ -- * Response+ , DescribeSnapshotScheduleResponse+ -- ** Response constructor+ , describeSnapshotScheduleResponse+ -- ** Response lenses+ , dssrDescription+ , dssrRecurrenceInHours+ , dssrStartAt+ , dssrTimezone+ , dssrVolumeARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DescribeSnapshotSchedule = DescribeSnapshotSchedule+ { _dssVolumeARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DescribeSnapshotSchedule' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dssVolumeARN' @::@ 'Text'+--+describeSnapshotSchedule :: Text -- ^ 'dssVolumeARN'+ -> DescribeSnapshotSchedule+describeSnapshotSchedule p1 = DescribeSnapshotSchedule+ { _dssVolumeARN = p1+ }++-- | The Amazon Resource Name (ARN) of the volume. Use the ListVolumes+-- operation to return a list of gateway volumes.+dssVolumeARN :: Lens' DescribeSnapshotSchedule Text+dssVolumeARN = lens _dssVolumeARN (\s a -> s { _dssVolumeARN = a })++data DescribeSnapshotScheduleResponse = DescribeSnapshotScheduleResponse+ { _dssrDescription :: Maybe Text+ , _dssrRecurrenceInHours :: Maybe Nat+ , _dssrStartAt :: Maybe Nat+ , _dssrTimezone :: Maybe Text+ , _dssrVolumeARN :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeSnapshotScheduleResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dssrDescription' @::@ 'Maybe' 'Text'+--+-- * 'dssrRecurrenceInHours' @::@ 'Maybe' 'Natural'+--+-- * 'dssrStartAt' @::@ 'Maybe' 'Natural'+--+-- * 'dssrTimezone' @::@ 'Maybe' 'Text'+--+-- * 'dssrVolumeARN' @::@ 'Maybe' 'Text'+--+describeSnapshotScheduleResponse :: DescribeSnapshotScheduleResponse+describeSnapshotScheduleResponse = DescribeSnapshotScheduleResponse+ { _dssrVolumeARN = Nothing+ , _dssrStartAt = Nothing+ , _dssrRecurrenceInHours = Nothing+ , _dssrDescription = Nothing+ , _dssrTimezone = Nothing+ }++dssrDescription :: Lens' DescribeSnapshotScheduleResponse (Maybe Text)+dssrDescription = lens _dssrDescription (\s a -> s { _dssrDescription = a })++dssrRecurrenceInHours :: Lens' DescribeSnapshotScheduleResponse (Maybe Natural)+dssrRecurrenceInHours =+ lens _dssrRecurrenceInHours (\s a -> s { _dssrRecurrenceInHours = a })+ . mapping _Nat++dssrStartAt :: Lens' DescribeSnapshotScheduleResponse (Maybe Natural)+dssrStartAt = lens _dssrStartAt (\s a -> s { _dssrStartAt = a }) . mapping _Nat++dssrTimezone :: Lens' DescribeSnapshotScheduleResponse (Maybe Text)+dssrTimezone = lens _dssrTimezone (\s a -> s { _dssrTimezone = a })++dssrVolumeARN :: Lens' DescribeSnapshotScheduleResponse (Maybe Text)+dssrVolumeARN = lens _dssrVolumeARN (\s a -> s { _dssrVolumeARN = a })++instance ToPath DescribeSnapshotSchedule where+ toPath = const "/"++instance ToQuery DescribeSnapshotSchedule where+ toQuery = const mempty++instance ToHeaders DescribeSnapshotSchedule++instance ToJSON DescribeSnapshotSchedule where+ toJSON DescribeSnapshotSchedule{..} = object+ [ "VolumeARN" .= _dssVolumeARN+ ]++instance AWSRequest DescribeSnapshotSchedule where+ type Sv DescribeSnapshotSchedule = StorageGateway+ type Rs DescribeSnapshotSchedule = DescribeSnapshotScheduleResponse++ request = post "DescribeSnapshotSchedule"+ response = jsonResponse++instance FromJSON DescribeSnapshotScheduleResponse where+ parseJSON = withObject "DescribeSnapshotScheduleResponse" $ \o -> DescribeSnapshotScheduleResponse+ <$> o .:? "Description"+ <*> o .:? "RecurrenceInHours"+ <*> o .:? "StartAt"+ <*> o .:? "Timezone"+ <*> o .:? "VolumeARN"
+ gen/Network/AWS/StorageGateway/DescribeStorediSCSIVolumes.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeStorediSCSIVolumes+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation returns description of the gateway volumes specified in the+-- request. The list of gateway volumes in the request must be from one+-- gateway. In the response Amazon Storage Gateway returns volume information+-- sorted by volume ARNs.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeStorediSCSIVolumes.html>+module Network.AWS.StorageGateway.DescribeStorediSCSIVolumes+ (+ -- * Request+ DescribeStorediSCSIVolumes+ -- ** Request constructor+ , describeStorediSCSIVolumes+ -- ** Request lenses+ , dsscsivVolumeARNs++ -- * Response+ , DescribeStorediSCSIVolumesResponse+ -- ** Response constructor+ , describeStorediSCSIVolumesResponse+ -- ** Response lenses+ , dsscsivrStorediSCSIVolumes+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DescribeStorediSCSIVolumes = DescribeStorediSCSIVolumes+ { _dsscsivVolumeARNs :: List "VolumeARNs" Text+ } deriving (Eq, Ord, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeStorediSCSIVolumes where+ type Item DescribeStorediSCSIVolumes = Text++ fromList = DescribeStorediSCSIVolumes . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dsscsivVolumeARNs++-- | 'DescribeStorediSCSIVolumes' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsscsivVolumeARNs' @::@ ['Text']+--+describeStorediSCSIVolumes :: DescribeStorediSCSIVolumes+describeStorediSCSIVolumes = DescribeStorediSCSIVolumes+ { _dsscsivVolumeARNs = mempty+ }++-- | An array of strings where each string represents the Amazon Resource Name+-- (ARN) of a stored volume. All of the specified stored volumes must from+-- the same gateway. Use ListVolumes to get volume ARNs for a gateway.+dsscsivVolumeARNs :: Lens' DescribeStorediSCSIVolumes [Text]+dsscsivVolumeARNs =+ lens _dsscsivVolumeARNs (\s a -> s { _dsscsivVolumeARNs = a })+ . _List++newtype DescribeStorediSCSIVolumesResponse = DescribeStorediSCSIVolumesResponse+ { _dsscsivrStorediSCSIVolumes :: List "StorediSCSIVolumes" StorediSCSIVolume+ } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeStorediSCSIVolumesResponse where+ type Item DescribeStorediSCSIVolumesResponse = StorediSCSIVolume++ fromList = DescribeStorediSCSIVolumesResponse . GHC.Exts.fromList+ toList = GHC.Exts.toList . _dsscsivrStorediSCSIVolumes++-- | 'DescribeStorediSCSIVolumesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsscsivrStorediSCSIVolumes' @::@ ['StorediSCSIVolume']+--+describeStorediSCSIVolumesResponse :: DescribeStorediSCSIVolumesResponse+describeStorediSCSIVolumesResponse = DescribeStorediSCSIVolumesResponse+ { _dsscsivrStorediSCSIVolumes = mempty+ }++dsscsivrStorediSCSIVolumes :: Lens' DescribeStorediSCSIVolumesResponse [StorediSCSIVolume]+dsscsivrStorediSCSIVolumes =+ lens _dsscsivrStorediSCSIVolumes+ (\s a -> s { _dsscsivrStorediSCSIVolumes = a })+ . _List++instance ToPath DescribeStorediSCSIVolumes where+ toPath = const "/"++instance ToQuery DescribeStorediSCSIVolumes where+ toQuery = const mempty++instance ToHeaders DescribeStorediSCSIVolumes++instance ToJSON DescribeStorediSCSIVolumes where+ toJSON DescribeStorediSCSIVolumes{..} = object+ [ "VolumeARNs" .= _dsscsivVolumeARNs+ ]++instance AWSRequest DescribeStorediSCSIVolumes where+ type Sv DescribeStorediSCSIVolumes = StorageGateway+ type Rs DescribeStorediSCSIVolumes = DescribeStorediSCSIVolumesResponse++ request = post "DescribeStorediSCSIVolumes"+ response = jsonResponse++instance FromJSON DescribeStorediSCSIVolumesResponse where+ parseJSON = withObject "DescribeStorediSCSIVolumesResponse" $ \o -> DescribeStorediSCSIVolumesResponse+ <$> o .: "StorediSCSIVolumes"
+ gen/Network/AWS/StorageGateway/DescribeTapeArchives.hs view
@@ -0,0 +1,158 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeTapeArchives+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns a description of specified virtual tapes in the virtual tape shelf+-- (VTS). If a specific TapeARN is not specified, AWS Storage Gateway returns+-- a description of all virtual tapes found in the VTS associated with your+-- account.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeTapeArchives.html>+module Network.AWS.StorageGateway.DescribeTapeArchives+ (+ -- * Request+ DescribeTapeArchives+ -- ** Request constructor+ , describeTapeArchives+ -- ** Request lenses+ , dtaLimit+ , dtaMarker+ , dtaTapeARNs++ -- * Response+ , DescribeTapeArchivesResponse+ -- ** Response constructor+ , describeTapeArchivesResponse+ -- ** Response lenses+ , dtarMarker+ , dtarTapeArchives+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data DescribeTapeArchives = DescribeTapeArchives+ { _dtaLimit :: Maybe Nat+ , _dtaMarker :: Maybe Text+ , _dtaTapeARNs :: List "TapeARNs" Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeTapeArchives' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtaLimit' @::@ 'Maybe' 'Natural'+--+-- * 'dtaMarker' @::@ 'Maybe' 'Text'+--+-- * 'dtaTapeARNs' @::@ ['Text']+--+describeTapeArchives :: DescribeTapeArchives+describeTapeArchives = DescribeTapeArchives+ { _dtaTapeARNs = mempty+ , _dtaMarker = Nothing+ , _dtaLimit = Nothing+ }++-- | Specifies that the number of virtual tapes descried be limited to the+-- specified number.+dtaLimit :: Lens' DescribeTapeArchives (Maybe Natural)+dtaLimit = lens _dtaLimit (\s a -> s { _dtaLimit = a }) . mapping _Nat++-- | An opaque string that indicates the position at which to begin describing+-- virtual tapes.+dtaMarker :: Lens' DescribeTapeArchives (Maybe Text)+dtaMarker = lens _dtaMarker (\s a -> s { _dtaMarker = a })++-- | Specifies one or more unique Amazon Resource Names (ARNs) that represent+-- the virtual tapes you want to describe.+dtaTapeARNs :: Lens' DescribeTapeArchives [Text]+dtaTapeARNs = lens _dtaTapeARNs (\s a -> s { _dtaTapeARNs = a }) . _List++data DescribeTapeArchivesResponse = DescribeTapeArchivesResponse+ { _dtarMarker :: Maybe Text+ , _dtarTapeArchives :: List "TapeArchives" TapeArchive+ } deriving (Eq, Show)++-- | 'DescribeTapeArchivesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtarMarker' @::@ 'Maybe' 'Text'+--+-- * 'dtarTapeArchives' @::@ ['TapeArchive']+--+describeTapeArchivesResponse :: DescribeTapeArchivesResponse+describeTapeArchivesResponse = DescribeTapeArchivesResponse+ { _dtarTapeArchives = mempty+ , _dtarMarker = Nothing+ }++-- | An opaque string that indicates the position at which the virtual tapes+-- that were fetched for description ended. Use this marker in your next+-- request to fetch the next set of virtual tapes in the virtual tape shelf+-- (VTS). If there are no more virtual tapes to describe, this field does+-- not appear in the response.+dtarMarker :: Lens' DescribeTapeArchivesResponse (Maybe Text)+dtarMarker = lens _dtarMarker (\s a -> s { _dtarMarker = a })++-- | An array of virtual tape objects in the virtual tape shelf (VTS). The+-- description includes of the Amazon Resource Name(ARN) of the virtual+-- tapes. The information returned includes the Amazon Resource Names (ARNs)+-- of the tapes, size of the tapes, status of the tapes, progress of the+-- description and tape barcode.+dtarTapeArchives :: Lens' DescribeTapeArchivesResponse [TapeArchive]+dtarTapeArchives = lens _dtarTapeArchives (\s a -> s { _dtarTapeArchives = a }) . _List++instance ToPath DescribeTapeArchives where+ toPath = const "/"++instance ToQuery DescribeTapeArchives where+ toQuery = const mempty++instance ToHeaders DescribeTapeArchives++instance ToJSON DescribeTapeArchives where+ toJSON DescribeTapeArchives{..} = object+ [ "TapeARNs" .= _dtaTapeARNs+ , "Marker" .= _dtaMarker+ , "Limit" .= _dtaLimit+ ]++instance AWSRequest DescribeTapeArchives where+ type Sv DescribeTapeArchives = StorageGateway+ type Rs DescribeTapeArchives = DescribeTapeArchivesResponse++ request = post "DescribeTapeArchives"+ response = jsonResponse++instance FromJSON DescribeTapeArchivesResponse where+ parseJSON = withObject "DescribeTapeArchivesResponse" $ \o -> DescribeTapeArchivesResponse+ <$> o .:? "Marker"+ <*> o .: "TapeArchives"++instance AWSPager DescribeTapeArchives where+ page rq rs+ | stop (rq ^. dtaMarker) = Nothing+ | otherwise = (\x -> rq & dtaMarker ?~ x)+ <$> (rs ^. dtarMarker)
+ gen/Network/AWS/StorageGateway/DescribeTapeRecoveryPoints.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeTapeRecoveryPoints+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns a list of virtual tape recovery points that are available for the+-- specified gateway-VTL. A recovery point is a point in time view of a+-- virtual tape at which all the data on the virtual tape is consistent. If+-- your gateway crashes, virtual tapes that have recovery points can be+-- recovered to a new gateway.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeTapeRecoveryPoints.html>+module Network.AWS.StorageGateway.DescribeTapeRecoveryPoints+ (+ -- * Request+ DescribeTapeRecoveryPoints+ -- ** Request constructor+ , describeTapeRecoveryPoints+ -- ** Request lenses+ , dtrpGatewayARN+ , dtrpLimit+ , dtrpMarker++ -- * Response+ , DescribeTapeRecoveryPointsResponse+ -- ** Response constructor+ , describeTapeRecoveryPointsResponse+ -- ** Response lenses+ , dtrprGatewayARN+ , dtrprMarker+ , dtrprTapeRecoveryPointInfos+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data DescribeTapeRecoveryPoints = DescribeTapeRecoveryPoints+ { _dtrpGatewayARN :: Text+ , _dtrpLimit :: Maybe Nat+ , _dtrpMarker :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeTapeRecoveryPoints' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtrpGatewayARN' @::@ 'Text'+--+-- * 'dtrpLimit' @::@ 'Maybe' 'Natural'+--+-- * 'dtrpMarker' @::@ 'Maybe' 'Text'+--+describeTapeRecoveryPoints :: Text -- ^ 'dtrpGatewayARN'+ -> DescribeTapeRecoveryPoints+describeTapeRecoveryPoints p1 = DescribeTapeRecoveryPoints+ { _dtrpGatewayARN = p1+ , _dtrpMarker = Nothing+ , _dtrpLimit = Nothing+ }++dtrpGatewayARN :: Lens' DescribeTapeRecoveryPoints Text+dtrpGatewayARN = lens _dtrpGatewayARN (\s a -> s { _dtrpGatewayARN = a })++-- | Specifies that the number of virtual tape recovery points that are+-- described be limited to the specified number.+dtrpLimit :: Lens' DescribeTapeRecoveryPoints (Maybe Natural)+dtrpLimit = lens _dtrpLimit (\s a -> s { _dtrpLimit = a }) . mapping _Nat++-- | An opaque string that indicates the position at which to begin describing+-- the virtual tape recovery points.+dtrpMarker :: Lens' DescribeTapeRecoveryPoints (Maybe Text)+dtrpMarker = lens _dtrpMarker (\s a -> s { _dtrpMarker = a })++data DescribeTapeRecoveryPointsResponse = DescribeTapeRecoveryPointsResponse+ { _dtrprGatewayARN :: Maybe Text+ , _dtrprMarker :: Maybe Text+ , _dtrprTapeRecoveryPointInfos :: List "TapeRecoveryPointInfos" TapeRecoveryPointInfo+ } deriving (Eq, Show)++-- | 'DescribeTapeRecoveryPointsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtrprGatewayARN' @::@ 'Maybe' 'Text'+--+-- * 'dtrprMarker' @::@ 'Maybe' 'Text'+--+-- * 'dtrprTapeRecoveryPointInfos' @::@ ['TapeRecoveryPointInfo']+--+describeTapeRecoveryPointsResponse :: DescribeTapeRecoveryPointsResponse+describeTapeRecoveryPointsResponse = DescribeTapeRecoveryPointsResponse+ { _dtrprGatewayARN = Nothing+ , _dtrprTapeRecoveryPointInfos = mempty+ , _dtrprMarker = Nothing+ }++dtrprGatewayARN :: Lens' DescribeTapeRecoveryPointsResponse (Maybe Text)+dtrprGatewayARN = lens _dtrprGatewayARN (\s a -> s { _dtrprGatewayARN = a })++-- | An opaque string that indicates the position at which the virtual tape+-- recovery points that were listed for description ended. Use this marker+-- in your next request to list the next set of virtual tape recovery points+-- in the list. If there are no more recovery points to describe, this field+-- does not appear in the response.+dtrprMarker :: Lens' DescribeTapeRecoveryPointsResponse (Maybe Text)+dtrprMarker = lens _dtrprMarker (\s a -> s { _dtrprMarker = a })++-- | An array of TapeRecoveryPointInfos that are available for the specified+-- gateway.+dtrprTapeRecoveryPointInfos :: Lens' DescribeTapeRecoveryPointsResponse [TapeRecoveryPointInfo]+dtrprTapeRecoveryPointInfos =+ lens _dtrprTapeRecoveryPointInfos+ (\s a -> s { _dtrprTapeRecoveryPointInfos = a })+ . _List++instance ToPath DescribeTapeRecoveryPoints where+ toPath = const "/"++instance ToQuery DescribeTapeRecoveryPoints where+ toQuery = const mempty++instance ToHeaders DescribeTapeRecoveryPoints++instance ToJSON DescribeTapeRecoveryPoints where+ toJSON DescribeTapeRecoveryPoints{..} = object+ [ "GatewayARN" .= _dtrpGatewayARN+ , "Marker" .= _dtrpMarker+ , "Limit" .= _dtrpLimit+ ]++instance AWSRequest DescribeTapeRecoveryPoints where+ type Sv DescribeTapeRecoveryPoints = StorageGateway+ type Rs DescribeTapeRecoveryPoints = DescribeTapeRecoveryPointsResponse++ request = post "DescribeTapeRecoveryPoints"+ response = jsonResponse++instance FromJSON DescribeTapeRecoveryPointsResponse where+ parseJSON = withObject "DescribeTapeRecoveryPointsResponse" $ \o -> DescribeTapeRecoveryPointsResponse+ <$> o .:? "GatewayARN"+ <*> o .:? "Marker"+ <*> o .: "TapeRecoveryPointInfos"++instance AWSPager DescribeTapeRecoveryPoints where+ page rq rs+ | stop (rq ^. dtrpMarker) = Nothing+ | otherwise = (\x -> rq & dtrpMarker ?~ x)+ <$> (rs ^. dtrprMarker)
+ gen/Network/AWS/StorageGateway/DescribeTapes.hs view
@@ -0,0 +1,164 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeTapes+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns a description of the specified Amazon Resource Name (ARN) of+-- virtual tapes. If a TapeARN is not specified, returns a description of all+-- virtual tapes associated with the specified gateway.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeTapes.html>+module Network.AWS.StorageGateway.DescribeTapes+ (+ -- * Request+ DescribeTapes+ -- ** Request constructor+ , describeTapes+ -- ** Request lenses+ , dtGatewayARN+ , dtLimit+ , dtMarker+ , dtTapeARNs++ -- * Response+ , DescribeTapesResponse+ -- ** Response constructor+ , describeTapesResponse+ -- ** Response lenses+ , dtrMarker+ , dtrTapes+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data DescribeTapes = DescribeTapes+ { _dtGatewayARN :: Text+ , _dtLimit :: Maybe Nat+ , _dtMarker :: Maybe Text+ , _dtTapeARNs :: List "TapeARNs" Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeTapes' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtGatewayARN' @::@ 'Text'+--+-- * 'dtLimit' @::@ 'Maybe' 'Natural'+--+-- * 'dtMarker' @::@ 'Maybe' 'Text'+--+-- * 'dtTapeARNs' @::@ ['Text']+--+describeTapes :: Text -- ^ 'dtGatewayARN'+ -> DescribeTapes+describeTapes p1 = DescribeTapes+ { _dtGatewayARN = p1+ , _dtTapeARNs = mempty+ , _dtMarker = Nothing+ , _dtLimit = Nothing+ }++dtGatewayARN :: Lens' DescribeTapes Text+dtGatewayARN = lens _dtGatewayARN (\s a -> s { _dtGatewayARN = a })++-- | Specifies that the number of virtual tapes described be limited to the+-- specified number.+dtLimit :: Lens' DescribeTapes (Maybe Natural)+dtLimit = lens _dtLimit (\s a -> s { _dtLimit = a }) . mapping _Nat++-- | A marker value, obtained in a previous call to DescribeTapes. This marker+-- indicates which page of results to retrieve. If not specified, the first+-- page of results is retrieved.+dtMarker :: Lens' DescribeTapes (Maybe Text)+dtMarker = lens _dtMarker (\s a -> s { _dtMarker = a })++-- | Specifies one or more unique Amazon Resource Names (ARNs) that represent+-- the virtual tapes you want to describe. If this parameter is not+-- specified, AWS Storage Gateway returns a description of all virtual tapes+-- associated with the specified gateway.+dtTapeARNs :: Lens' DescribeTapes [Text]+dtTapeARNs = lens _dtTapeARNs (\s a -> s { _dtTapeARNs = a }) . _List++data DescribeTapesResponse = DescribeTapesResponse+ { _dtrMarker :: Maybe Text+ , _dtrTapes :: List "Tapes" Tape+ } deriving (Eq, Show)++-- | 'DescribeTapesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dtrMarker' @::@ 'Maybe' 'Text'+--+-- * 'dtrTapes' @::@ ['Tape']+--+describeTapesResponse :: DescribeTapesResponse+describeTapesResponse = DescribeTapesResponse+ { _dtrTapes = mempty+ , _dtrMarker = Nothing+ }++-- | An opaque string which can be used as part of a subsequent DescribeTapes+-- call to retrieve the next page of results. If a response does not contain+-- a marker, then there are no more results to be retrieved.+dtrMarker :: Lens' DescribeTapesResponse (Maybe Text)+dtrMarker = lens _dtrMarker (\s a -> s { _dtrMarker = a })++-- | An array of virtual tape descriptions.+dtrTapes :: Lens' DescribeTapesResponse [Tape]+dtrTapes = lens _dtrTapes (\s a -> s { _dtrTapes = a }) . _List++instance ToPath DescribeTapes where+ toPath = const "/"++instance ToQuery DescribeTapes where+ toQuery = const mempty++instance ToHeaders DescribeTapes++instance ToJSON DescribeTapes where+ toJSON DescribeTapes{..} = object+ [ "GatewayARN" .= _dtGatewayARN+ , "TapeARNs" .= _dtTapeARNs+ , "Marker" .= _dtMarker+ , "Limit" .= _dtLimit+ ]++instance AWSRequest DescribeTapes where+ type Sv DescribeTapes = StorageGateway+ type Rs DescribeTapes = DescribeTapesResponse++ request = post "DescribeTapes"+ response = jsonResponse++instance FromJSON DescribeTapesResponse where+ parseJSON = withObject "DescribeTapesResponse" $ \o -> DescribeTapesResponse+ <$> o .:? "Marker"+ <*> o .: "Tapes"++instance AWSPager DescribeTapes where+ page rq rs+ | stop (rq ^. dtMarker) = Nothing+ | otherwise = (\x -> rq & dtMarker ?~ x)+ <$> (rs ^. dtrMarker)
+ gen/Network/AWS/StorageGateway/DescribeUploadBuffer.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeUploadBuffer+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation returns information about the upload buffer of a gateway.+-- This operation is supported for both the gateway-stored and gateway-cached+-- volume architectures. The response includes disk IDs that are configured as+-- upload buffer space, and it includes the amount of upload buffer space+-- allocated and used.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeUploadBuffer.html>+module Network.AWS.StorageGateway.DescribeUploadBuffer+ (+ -- * Request+ DescribeUploadBuffer+ -- ** Request constructor+ , describeUploadBuffer+ -- ** Request lenses+ , dubGatewayARN++ -- * Response+ , DescribeUploadBufferResponse+ -- ** Response constructor+ , describeUploadBufferResponse+ -- ** Response lenses+ , dubrDiskIds+ , dubrGatewayARN+ , dubrUploadBufferAllocatedInBytes+ , dubrUploadBufferUsedInBytes+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DescribeUploadBuffer = DescribeUploadBuffer+ { _dubGatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DescribeUploadBuffer' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dubGatewayARN' @::@ 'Text'+--+describeUploadBuffer :: Text -- ^ 'dubGatewayARN'+ -> DescribeUploadBuffer+describeUploadBuffer p1 = DescribeUploadBuffer+ { _dubGatewayARN = p1+ }++dubGatewayARN :: Lens' DescribeUploadBuffer Text+dubGatewayARN = lens _dubGatewayARN (\s a -> s { _dubGatewayARN = a })++data DescribeUploadBufferResponse = DescribeUploadBufferResponse+ { _dubrDiskIds :: List "DiskIds" Text+ , _dubrGatewayARN :: Maybe Text+ , _dubrUploadBufferAllocatedInBytes :: Maybe Integer+ , _dubrUploadBufferUsedInBytes :: Maybe Integer+ } deriving (Eq, Ord, Show)++-- | 'DescribeUploadBufferResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dubrDiskIds' @::@ ['Text']+--+-- * 'dubrGatewayARN' @::@ 'Maybe' 'Text'+--+-- * 'dubrUploadBufferAllocatedInBytes' @::@ 'Maybe' 'Integer'+--+-- * 'dubrUploadBufferUsedInBytes' @::@ 'Maybe' 'Integer'+--+describeUploadBufferResponse :: DescribeUploadBufferResponse+describeUploadBufferResponse = DescribeUploadBufferResponse+ { _dubrGatewayARN = Nothing+ , _dubrDiskIds = mempty+ , _dubrUploadBufferUsedInBytes = Nothing+ , _dubrUploadBufferAllocatedInBytes = Nothing+ }++dubrDiskIds :: Lens' DescribeUploadBufferResponse [Text]+dubrDiskIds = lens _dubrDiskIds (\s a -> s { _dubrDiskIds = a }) . _List++dubrGatewayARN :: Lens' DescribeUploadBufferResponse (Maybe Text)+dubrGatewayARN = lens _dubrGatewayARN (\s a -> s { _dubrGatewayARN = a })++dubrUploadBufferAllocatedInBytes :: Lens' DescribeUploadBufferResponse (Maybe Integer)+dubrUploadBufferAllocatedInBytes =+ lens _dubrUploadBufferAllocatedInBytes+ (\s a -> s { _dubrUploadBufferAllocatedInBytes = a })++dubrUploadBufferUsedInBytes :: Lens' DescribeUploadBufferResponse (Maybe Integer)+dubrUploadBufferUsedInBytes =+ lens _dubrUploadBufferUsedInBytes+ (\s a -> s { _dubrUploadBufferUsedInBytes = a })++instance ToPath DescribeUploadBuffer where+ toPath = const "/"++instance ToQuery DescribeUploadBuffer where+ toQuery = const mempty++instance ToHeaders DescribeUploadBuffer++instance ToJSON DescribeUploadBuffer where+ toJSON DescribeUploadBuffer{..} = object+ [ "GatewayARN" .= _dubGatewayARN+ ]++instance AWSRequest DescribeUploadBuffer where+ type Sv DescribeUploadBuffer = StorageGateway+ type Rs DescribeUploadBuffer = DescribeUploadBufferResponse++ request = post "DescribeUploadBuffer"+ response = jsonResponse++instance FromJSON DescribeUploadBufferResponse where+ parseJSON = withObject "DescribeUploadBufferResponse" $ \o -> DescribeUploadBufferResponse+ <$> o .: "DiskIds"+ <*> o .:? "GatewayARN"+ <*> o .:? "UploadBufferAllocatedInBytes"+ <*> o .:? "UploadBufferUsedInBytes"
+ gen/Network/AWS/StorageGateway/DescribeVTLDevices.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeVTLDevices+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Returns a description of virtual tape library (VTL) devices for the+-- specified gateway. In the response, AWS Storage Gateway returns VTL device+-- information. The list of VTL devices must be from one gateway.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeVTLDevices.html>+module Network.AWS.StorageGateway.DescribeVTLDevices+ (+ -- * Request+ DescribeVTLDevices+ -- ** Request constructor+ , describeVTLDevices+ -- ** Request lenses+ , dvtldGatewayARN+ , dvtldLimit+ , dvtldMarker+ , dvtldVTLDeviceARNs++ -- * Response+ , DescribeVTLDevicesResponse+ -- ** Response constructor+ , describeVTLDevicesResponse+ -- ** Response lenses+ , dvtldrGatewayARN+ , dvtldrMarker+ , dvtldrVTLDevices+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data DescribeVTLDevices = DescribeVTLDevices+ { _dvtldGatewayARN :: Text+ , _dvtldLimit :: Maybe Nat+ , _dvtldMarker :: Maybe Text+ , _dvtldVTLDeviceARNs :: List "VTLDeviceARNs" Text+ } deriving (Eq, Ord, Show)++-- | 'DescribeVTLDevices' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dvtldGatewayARN' @::@ 'Text'+--+-- * 'dvtldLimit' @::@ 'Maybe' 'Natural'+--+-- * 'dvtldMarker' @::@ 'Maybe' 'Text'+--+-- * 'dvtldVTLDeviceARNs' @::@ ['Text']+--+describeVTLDevices :: Text -- ^ 'dvtldGatewayARN'+ -> DescribeVTLDevices+describeVTLDevices p1 = DescribeVTLDevices+ { _dvtldGatewayARN = p1+ , _dvtldVTLDeviceARNs = mempty+ , _dvtldMarker = Nothing+ , _dvtldLimit = Nothing+ }++dvtldGatewayARN :: Lens' DescribeVTLDevices Text+dvtldGatewayARN = lens _dvtldGatewayARN (\s a -> s { _dvtldGatewayARN = a })++-- | Specifies that the number of VTL devices described be limited to the+-- specified number.+dvtldLimit :: Lens' DescribeVTLDevices (Maybe Natural)+dvtldLimit = lens _dvtldLimit (\s a -> s { _dvtldLimit = a }) . mapping _Nat++-- | An opaque string that indicates the position at which to begin describing+-- the VTL devices.+dvtldMarker :: Lens' DescribeVTLDevices (Maybe Text)+dvtldMarker = lens _dvtldMarker (\s a -> s { _dvtldMarker = a })++-- | An array of strings, where each string represents the Amazon Resource+-- Name (ARN) of a VTL device.+dvtldVTLDeviceARNs :: Lens' DescribeVTLDevices [Text]+dvtldVTLDeviceARNs =+ lens _dvtldVTLDeviceARNs (\s a -> s { _dvtldVTLDeviceARNs = a })+ . _List++data DescribeVTLDevicesResponse = DescribeVTLDevicesResponse+ { _dvtldrGatewayARN :: Maybe Text+ , _dvtldrMarker :: Maybe Text+ , _dvtldrVTLDevices :: List "VTLDevices" VTLDevice+ } deriving (Eq, Show)++-- | 'DescribeVTLDevicesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dvtldrGatewayARN' @::@ 'Maybe' 'Text'+--+-- * 'dvtldrMarker' @::@ 'Maybe' 'Text'+--+-- * 'dvtldrVTLDevices' @::@ ['VTLDevice']+--+describeVTLDevicesResponse :: DescribeVTLDevicesResponse+describeVTLDevicesResponse = DescribeVTLDevicesResponse+ { _dvtldrGatewayARN = Nothing+ , _dvtldrVTLDevices = mempty+ , _dvtldrMarker = Nothing+ }++dvtldrGatewayARN :: Lens' DescribeVTLDevicesResponse (Maybe Text)+dvtldrGatewayARN = lens _dvtldrGatewayARN (\s a -> s { _dvtldrGatewayARN = a })++-- | An opaque string that indicates the position at which the VTL devices+-- that were fetched for description ended. Use the marker in your next+-- request to fetch the next set of VTL devices in the list. If there are no+-- more VTL devices to describe, this field does not appear in the response.+dvtldrMarker :: Lens' DescribeVTLDevicesResponse (Maybe Text)+dvtldrMarker = lens _dvtldrMarker (\s a -> s { _dvtldrMarker = a })++-- | An array of VTL device objects composed of the Amazon Resource Name(ARN)+-- of the VTL devices.+dvtldrVTLDevices :: Lens' DescribeVTLDevicesResponse [VTLDevice]+dvtldrVTLDevices = lens _dvtldrVTLDevices (\s a -> s { _dvtldrVTLDevices = a }) . _List++instance ToPath DescribeVTLDevices where+ toPath = const "/"++instance ToQuery DescribeVTLDevices where+ toQuery = const mempty++instance ToHeaders DescribeVTLDevices++instance ToJSON DescribeVTLDevices where+ toJSON DescribeVTLDevices{..} = object+ [ "GatewayARN" .= _dvtldGatewayARN+ , "VTLDeviceARNs" .= _dvtldVTLDeviceARNs+ , "Marker" .= _dvtldMarker+ , "Limit" .= _dvtldLimit+ ]++instance AWSRequest DescribeVTLDevices where+ type Sv DescribeVTLDevices = StorageGateway+ type Rs DescribeVTLDevices = DescribeVTLDevicesResponse++ request = post "DescribeVTLDevices"+ response = jsonResponse++instance FromJSON DescribeVTLDevicesResponse where+ parseJSON = withObject "DescribeVTLDevicesResponse" $ \o -> DescribeVTLDevicesResponse+ <$> o .:? "GatewayARN"+ <*> o .:? "Marker"+ <*> o .: "VTLDevices"++instance AWSPager DescribeVTLDevices where+ page rq rs+ | stop (rq ^. dvtldMarker) = Nothing+ | otherwise = (\x -> rq & dvtldMarker ?~ x)+ <$> (rs ^. dvtldrMarker)
+ gen/Network/AWS/StorageGateway/DescribeWorkingStorage.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DescribeWorkingStorage+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation returns information about the working storage of a gateway.+-- This operation is supported only for the gateway-stored volume+-- architecture. This operation is deprecated in cached-volumes API version+-- (20120630). Use DescribeUploadBuffer instead. The response includes disk+-- IDs that are configured as working storage, and it includes the amount of+-- working storage allocated and used.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DescribeWorkingStorage.html>+module Network.AWS.StorageGateway.DescribeWorkingStorage+ (+ -- * Request+ DescribeWorkingStorage+ -- ** Request constructor+ , describeWorkingStorage+ -- ** Request lenses+ , dwsGatewayARN++ -- * Response+ , DescribeWorkingStorageResponse+ -- ** Response constructor+ , describeWorkingStorageResponse+ -- ** Response lenses+ , dwsrDiskIds+ , dwsrGatewayARN+ , dwsrWorkingStorageAllocatedInBytes+ , dwsrWorkingStorageUsedInBytes+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DescribeWorkingStorage = DescribeWorkingStorage+ { _dwsGatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DescribeWorkingStorage' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dwsGatewayARN' @::@ 'Text'+--+describeWorkingStorage :: Text -- ^ 'dwsGatewayARN'+ -> DescribeWorkingStorage+describeWorkingStorage p1 = DescribeWorkingStorage+ { _dwsGatewayARN = p1+ }++dwsGatewayARN :: Lens' DescribeWorkingStorage Text+dwsGatewayARN = lens _dwsGatewayARN (\s a -> s { _dwsGatewayARN = a })++data DescribeWorkingStorageResponse = DescribeWorkingStorageResponse+ { _dwsrDiskIds :: List "DiskIds" Text+ , _dwsrGatewayARN :: Maybe Text+ , _dwsrWorkingStorageAllocatedInBytes :: Maybe Integer+ , _dwsrWorkingStorageUsedInBytes :: Maybe Integer+ } deriving (Eq, Ord, Show)++-- | 'DescribeWorkingStorageResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dwsrDiskIds' @::@ ['Text']+--+-- * 'dwsrGatewayARN' @::@ 'Maybe' 'Text'+--+-- * 'dwsrWorkingStorageAllocatedInBytes' @::@ 'Maybe' 'Integer'+--+-- * 'dwsrWorkingStorageUsedInBytes' @::@ 'Maybe' 'Integer'+--+describeWorkingStorageResponse :: DescribeWorkingStorageResponse+describeWorkingStorageResponse = DescribeWorkingStorageResponse+ { _dwsrGatewayARN = Nothing+ , _dwsrDiskIds = mempty+ , _dwsrWorkingStorageUsedInBytes = Nothing+ , _dwsrWorkingStorageAllocatedInBytes = Nothing+ }++-- | An array of the gateway's local disk IDs that are configured as working+-- storage. Each local disk ID is specified as a string (minimum length of 1+-- and maximum length of 300). If no local disks are configured as working+-- storage, then the DiskIds array is empty.+dwsrDiskIds :: Lens' DescribeWorkingStorageResponse [Text]+dwsrDiskIds = lens _dwsrDiskIds (\s a -> s { _dwsrDiskIds = a }) . _List++dwsrGatewayARN :: Lens' DescribeWorkingStorageResponse (Maybe Text)+dwsrGatewayARN = lens _dwsrGatewayARN (\s a -> s { _dwsrGatewayARN = a })++-- | The total working storage in bytes allocated for the gateway. If no+-- working storage is configured for the gateway, this field returns 0.+dwsrWorkingStorageAllocatedInBytes :: Lens' DescribeWorkingStorageResponse (Maybe Integer)+dwsrWorkingStorageAllocatedInBytes =+ lens _dwsrWorkingStorageAllocatedInBytes+ (\s a -> s { _dwsrWorkingStorageAllocatedInBytes = a })++-- | The total working storage in bytes in use by the gateway. If no working+-- storage is configured for the gateway, this field returns 0.+dwsrWorkingStorageUsedInBytes :: Lens' DescribeWorkingStorageResponse (Maybe Integer)+dwsrWorkingStorageUsedInBytes =+ lens _dwsrWorkingStorageUsedInBytes+ (\s a -> s { _dwsrWorkingStorageUsedInBytes = a })++instance ToPath DescribeWorkingStorage where+ toPath = const "/"++instance ToQuery DescribeWorkingStorage where+ toQuery = const mempty++instance ToHeaders DescribeWorkingStorage++instance ToJSON DescribeWorkingStorage where+ toJSON DescribeWorkingStorage{..} = object+ [ "GatewayARN" .= _dwsGatewayARN+ ]++instance AWSRequest DescribeWorkingStorage where+ type Sv DescribeWorkingStorage = StorageGateway+ type Rs DescribeWorkingStorage = DescribeWorkingStorageResponse++ request = post "DescribeWorkingStorage"+ response = jsonResponse++instance FromJSON DescribeWorkingStorageResponse where+ parseJSON = withObject "DescribeWorkingStorageResponse" $ \o -> DescribeWorkingStorageResponse+ <$> o .: "DiskIds"+ <*> o .:? "GatewayARN"+ <*> o .:? "WorkingStorageAllocatedInBytes"+ <*> o .:? "WorkingStorageUsedInBytes"
+ gen/Network/AWS/StorageGateway/DisableGateway.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.DisableGateway+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Disables a gateway when the gateway is no longer functioning. For example,+-- if your gateway VM is damaged, you can disable the gateway so you can+-- recover virtual tapes. Use this operation for a gateway-VTL that is not+-- reachable or not functioning. Once a gateway is disabled it cannot be+-- enabled.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_DisableGateway.html>+module Network.AWS.StorageGateway.DisableGateway+ (+ -- * Request+ DisableGateway+ -- ** Request constructor+ , disableGateway+ -- ** Request lenses+ , dg1GatewayARN++ -- * Response+ , DisableGatewayResponse+ -- ** Response constructor+ , disableGatewayResponse+ -- ** Response lenses+ , dgr1GatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype DisableGateway = DisableGateway+ { _dg1GatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DisableGateway' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dg1GatewayARN' @::@ 'Text'+--+disableGateway :: Text -- ^ 'dg1GatewayARN'+ -> DisableGateway+disableGateway p1 = DisableGateway+ { _dg1GatewayARN = p1+ }++dg1GatewayARN :: Lens' DisableGateway Text+dg1GatewayARN = lens _dg1GatewayARN (\s a -> s { _dg1GatewayARN = a })++newtype DisableGatewayResponse = DisableGatewayResponse+ { _dgr1GatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'DisableGatewayResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dgr1GatewayARN' @::@ 'Maybe' 'Text'+--+disableGatewayResponse :: DisableGatewayResponse+disableGatewayResponse = DisableGatewayResponse+ { _dgr1GatewayARN = Nothing+ }++-- | The unique Amazon Resource Name of the disabled gateway.+dgr1GatewayARN :: Lens' DisableGatewayResponse (Maybe Text)+dgr1GatewayARN = lens _dgr1GatewayARN (\s a -> s { _dgr1GatewayARN = a })++instance ToPath DisableGateway where+ toPath = const "/"++instance ToQuery DisableGateway where+ toQuery = const mempty++instance ToHeaders DisableGateway++instance ToJSON DisableGateway where+ toJSON DisableGateway{..} = object+ [ "GatewayARN" .= _dg1GatewayARN+ ]++instance AWSRequest DisableGateway where+ type Sv DisableGateway = StorageGateway+ type Rs DisableGateway = DisableGatewayResponse++ request = post "DisableGateway"+ response = jsonResponse++instance FromJSON DisableGatewayResponse where+ parseJSON = withObject "DisableGatewayResponse" $ \o -> DisableGatewayResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/ListGateways.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.ListGateways+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation lists gateways owned by an AWS account in a region specified+-- in the request. The returned list is ordered by gateway Amazon Resource+-- Name (ARN). By default, the operation returns a maximum of 100 gateways.+-- This operation supports pagination that allows you to optionally reduce the+-- number of gateways returned in a response. If you have more gateways than+-- are returned in a response-that is, the response returns only a truncated+-- list of your gateways-the response contains a marker that you can specify+-- in your next request to fetch the next page of gateways.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_ListGateways.html>+module Network.AWS.StorageGateway.ListGateways+ (+ -- * Request+ ListGateways+ -- ** Request constructor+ , listGateways+ -- ** Request lenses+ , lgLimit+ , lgMarker++ -- * Response+ , ListGatewaysResponse+ -- ** Response constructor+ , listGatewaysResponse+ -- ** Response lenses+ , lgrGateways+ , lgrMarker+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data ListGateways = ListGateways+ { _lgLimit :: Maybe Nat+ , _lgMarker :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'ListGateways' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lgLimit' @::@ 'Maybe' 'Natural'+--+-- * 'lgMarker' @::@ 'Maybe' 'Text'+--+listGateways :: ListGateways+listGateways = ListGateways+ { _lgMarker = Nothing+ , _lgLimit = Nothing+ }++-- | Specifies that the list of gateways returned be limited to the specified+-- number of items.+lgLimit :: Lens' ListGateways (Maybe Natural)+lgLimit = lens _lgLimit (\s a -> s { _lgLimit = a }) . mapping _Nat++-- | An opaque string that indicates the position at which to begin the+-- returned list of gateways.+lgMarker :: Lens' ListGateways (Maybe Text)+lgMarker = lens _lgMarker (\s a -> s { _lgMarker = a })++data ListGatewaysResponse = ListGatewaysResponse+ { _lgrGateways :: List "Gateways" GatewayInfo+ , _lgrMarker :: Maybe Text+ } deriving (Eq, Show)++-- | 'ListGatewaysResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lgrGateways' @::@ ['GatewayInfo']+--+-- * 'lgrMarker' @::@ 'Maybe' 'Text'+--+listGatewaysResponse :: ListGatewaysResponse+listGatewaysResponse = ListGatewaysResponse+ { _lgrGateways = mempty+ , _lgrMarker = Nothing+ }++lgrGateways :: Lens' ListGatewaysResponse [GatewayInfo]+lgrGateways = lens _lgrGateways (\s a -> s { _lgrGateways = a }) . _List++lgrMarker :: Lens' ListGatewaysResponse (Maybe Text)+lgrMarker = lens _lgrMarker (\s a -> s { _lgrMarker = a })++instance ToPath ListGateways where+ toPath = const "/"++instance ToQuery ListGateways where+ toQuery = const mempty++instance ToHeaders ListGateways++instance ToJSON ListGateways where+ toJSON ListGateways{..} = object+ [ "Marker" .= _lgMarker+ , "Limit" .= _lgLimit+ ]++instance AWSRequest ListGateways where+ type Sv ListGateways = StorageGateway+ type Rs ListGateways = ListGatewaysResponse++ request = post "ListGateways"+ response = jsonResponse++instance FromJSON ListGatewaysResponse where+ parseJSON = withObject "ListGatewaysResponse" $ \o -> ListGatewaysResponse+ <$> o .: "Gateways"+ <*> o .:? "Marker"++instance AWSPager ListGateways where+ page rq rs+ | stop (rq ^. lgMarker) = Nothing+ | otherwise = (\x -> rq & lgMarker ?~ x)+ <$> (rs ^. lgrMarker)
+ gen/Network/AWS/StorageGateway/ListLocalDisks.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.ListLocalDisks+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation returns a list of the local disks of a gateway. To specify+-- which gateway to describe you use the Amazon Resource Name (ARN) of the+-- gateway in the body of the request. The request returns all disks,+-- specifying which are configured as working storage, stored volume or not+-- configured at all.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_ListLocalDisks.html>+module Network.AWS.StorageGateway.ListLocalDisks+ (+ -- * Request+ ListLocalDisks+ -- ** Request constructor+ , listLocalDisks+ -- ** Request lenses+ , lldGatewayARN++ -- * Response+ , ListLocalDisksResponse+ -- ** Response constructor+ , listLocalDisksResponse+ -- ** Response lenses+ , lldrDisks+ , lldrGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype ListLocalDisks = ListLocalDisks+ { _lldGatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'ListLocalDisks' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lldGatewayARN' @::@ 'Text'+--+listLocalDisks :: Text -- ^ 'lldGatewayARN'+ -> ListLocalDisks+listLocalDisks p1 = ListLocalDisks+ { _lldGatewayARN = p1+ }++lldGatewayARN :: Lens' ListLocalDisks Text+lldGatewayARN = lens _lldGatewayARN (\s a -> s { _lldGatewayARN = a })++data ListLocalDisksResponse = ListLocalDisksResponse+ { _lldrDisks :: List "Disks" Disk+ , _lldrGatewayARN :: Maybe Text+ } deriving (Eq, Show)++-- | 'ListLocalDisksResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lldrDisks' @::@ ['Disk']+--+-- * 'lldrGatewayARN' @::@ 'Maybe' 'Text'+--+listLocalDisksResponse :: ListLocalDisksResponse+listLocalDisksResponse = ListLocalDisksResponse+ { _lldrGatewayARN = Nothing+ , _lldrDisks = mempty+ }++lldrDisks :: Lens' ListLocalDisksResponse [Disk]+lldrDisks = lens _lldrDisks (\s a -> s { _lldrDisks = a }) . _List++lldrGatewayARN :: Lens' ListLocalDisksResponse (Maybe Text)+lldrGatewayARN = lens _lldrGatewayARN (\s a -> s { _lldrGatewayARN = a })++instance ToPath ListLocalDisks where+ toPath = const "/"++instance ToQuery ListLocalDisks where+ toQuery = const mempty++instance ToHeaders ListLocalDisks++instance ToJSON ListLocalDisks where+ toJSON ListLocalDisks{..} = object+ [ "GatewayARN" .= _lldGatewayARN+ ]++instance AWSRequest ListLocalDisks where+ type Sv ListLocalDisks = StorageGateway+ type Rs ListLocalDisks = ListLocalDisksResponse++ request = post "ListLocalDisks"+ response = jsonResponse++instance FromJSON ListLocalDisksResponse where+ parseJSON = withObject "ListLocalDisksResponse" $ \o -> ListLocalDisksResponse+ <$> o .: "Disks"+ <*> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/ListVolumeRecoveryPoints.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.ListVolumeRecoveryPoints+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation lists the recovery points for a specified gateway. This+-- operation is supported only for the gateway-cached volume architecture.+-- Each gateway-cached volume has one recovery point. A volume recovery point+-- is a point in time at which all data of the volume is consistent and from+-- which you can create a snapshot. To create a snapshot from a volume+-- recovery point use the CreateSnapshotFromVolumeRecoveryPoint operation.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_ListVolumeRecoveryPoints.html>+module Network.AWS.StorageGateway.ListVolumeRecoveryPoints+ (+ -- * Request+ ListVolumeRecoveryPoints+ -- ** Request constructor+ , listVolumeRecoveryPoints+ -- ** Request lenses+ , lvrpGatewayARN++ -- * Response+ , ListVolumeRecoveryPointsResponse+ -- ** Response constructor+ , listVolumeRecoveryPointsResponse+ -- ** Response lenses+ , lvrprGatewayARN+ , lvrprVolumeRecoveryPointInfos+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype ListVolumeRecoveryPoints = ListVolumeRecoveryPoints+ { _lvrpGatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'ListVolumeRecoveryPoints' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lvrpGatewayARN' @::@ 'Text'+--+listVolumeRecoveryPoints :: Text -- ^ 'lvrpGatewayARN'+ -> ListVolumeRecoveryPoints+listVolumeRecoveryPoints p1 = ListVolumeRecoveryPoints+ { _lvrpGatewayARN = p1+ }++lvrpGatewayARN :: Lens' ListVolumeRecoveryPoints Text+lvrpGatewayARN = lens _lvrpGatewayARN (\s a -> s { _lvrpGatewayARN = a })++data ListVolumeRecoveryPointsResponse = ListVolumeRecoveryPointsResponse+ { _lvrprGatewayARN :: Maybe Text+ , _lvrprVolumeRecoveryPointInfos :: List "VolumeRecoveryPointInfos" VolumeRecoveryPointInfo+ } deriving (Eq, Show)++-- | 'ListVolumeRecoveryPointsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lvrprGatewayARN' @::@ 'Maybe' 'Text'+--+-- * 'lvrprVolumeRecoveryPointInfos' @::@ ['VolumeRecoveryPointInfo']+--+listVolumeRecoveryPointsResponse :: ListVolumeRecoveryPointsResponse+listVolumeRecoveryPointsResponse = ListVolumeRecoveryPointsResponse+ { _lvrprGatewayARN = Nothing+ , _lvrprVolumeRecoveryPointInfos = mempty+ }++lvrprGatewayARN :: Lens' ListVolumeRecoveryPointsResponse (Maybe Text)+lvrprGatewayARN = lens _lvrprGatewayARN (\s a -> s { _lvrprGatewayARN = a })++lvrprVolumeRecoveryPointInfos :: Lens' ListVolumeRecoveryPointsResponse [VolumeRecoveryPointInfo]+lvrprVolumeRecoveryPointInfos =+ lens _lvrprVolumeRecoveryPointInfos+ (\s a -> s { _lvrprVolumeRecoveryPointInfos = a })+ . _List++instance ToPath ListVolumeRecoveryPoints where+ toPath = const "/"++instance ToQuery ListVolumeRecoveryPoints where+ toQuery = const mempty++instance ToHeaders ListVolumeRecoveryPoints++instance ToJSON ListVolumeRecoveryPoints where+ toJSON ListVolumeRecoveryPoints{..} = object+ [ "GatewayARN" .= _lvrpGatewayARN+ ]++instance AWSRequest ListVolumeRecoveryPoints where+ type Sv ListVolumeRecoveryPoints = StorageGateway+ type Rs ListVolumeRecoveryPoints = ListVolumeRecoveryPointsResponse++ request = post "ListVolumeRecoveryPoints"+ response = jsonResponse++instance FromJSON ListVolumeRecoveryPointsResponse where+ parseJSON = withObject "ListVolumeRecoveryPointsResponse" $ \o -> ListVolumeRecoveryPointsResponse+ <$> o .:? "GatewayARN"+ <*> o .: "VolumeRecoveryPointInfos"
+ gen/Network/AWS/StorageGateway/ListVolumes.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.ListVolumes+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation lists the iSCSI stored volumes of a gateway. Results are+-- sorted by volume ARN. The response includes only the volume ARNs. If you+-- want additional volume information, use the DescribeStorediSCSIVolumes API.+-- The operation supports pagination. By default, the operation returns a+-- maximum of up to 100 volumes. You can optionally specify the Limit field in+-- the body to limit the number of volumes in the response. If the number of+-- volumes returned in the response is truncated, the response includes a+-- Marker field. You can use this Marker value in your subsequent request to+-- retrieve the next set of volumes.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_ListVolumes.html>+module Network.AWS.StorageGateway.ListVolumes+ (+ -- * Request+ ListVolumes+ -- ** Request constructor+ , listVolumes+ -- ** Request lenses+ , lvGatewayARN+ , lvLimit+ , lvMarker++ -- * Response+ , ListVolumesResponse+ -- ** Response constructor+ , listVolumesResponse+ -- ** Response lenses+ , lvrGatewayARN+ , lvrMarker+ , lvrVolumeInfos+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data ListVolumes = ListVolumes+ { _lvGatewayARN :: Text+ , _lvLimit :: Maybe Nat+ , _lvMarker :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'ListVolumes' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lvGatewayARN' @::@ 'Text'+--+-- * 'lvLimit' @::@ 'Maybe' 'Natural'+--+-- * 'lvMarker' @::@ 'Maybe' 'Text'+--+listVolumes :: Text -- ^ 'lvGatewayARN'+ -> ListVolumes+listVolumes p1 = ListVolumes+ { _lvGatewayARN = p1+ , _lvMarker = Nothing+ , _lvLimit = Nothing+ }++lvGatewayARN :: Lens' ListVolumes Text+lvGatewayARN = lens _lvGatewayARN (\s a -> s { _lvGatewayARN = a })++-- | Specifies that the list of volumes returned be limited to the specified+-- number of items.+lvLimit :: Lens' ListVolumes (Maybe Natural)+lvLimit = lens _lvLimit (\s a -> s { _lvLimit = a }) . mapping _Nat++-- | A string that indicates the position at which to begin the returned list+-- of volumes. Obtain the marker from the response of a previous List iSCSI+-- Volumes request.+lvMarker :: Lens' ListVolumes (Maybe Text)+lvMarker = lens _lvMarker (\s a -> s { _lvMarker = a })++data ListVolumesResponse = ListVolumesResponse+ { _lvrGatewayARN :: Maybe Text+ , _lvrMarker :: Maybe Text+ , _lvrVolumeInfos :: List "VolumeInfos" VolumeInfo+ } deriving (Eq, Show)++-- | 'ListVolumesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lvrGatewayARN' @::@ 'Maybe' 'Text'+--+-- * 'lvrMarker' @::@ 'Maybe' 'Text'+--+-- * 'lvrVolumeInfos' @::@ ['VolumeInfo']+--+listVolumesResponse :: ListVolumesResponse+listVolumesResponse = ListVolumesResponse+ { _lvrGatewayARN = Nothing+ , _lvrMarker = Nothing+ , _lvrVolumeInfos = mempty+ }++lvrGatewayARN :: Lens' ListVolumesResponse (Maybe Text)+lvrGatewayARN = lens _lvrGatewayARN (\s a -> s { _lvrGatewayARN = a })++lvrMarker :: Lens' ListVolumesResponse (Maybe Text)+lvrMarker = lens _lvrMarker (\s a -> s { _lvrMarker = a })++lvrVolumeInfos :: Lens' ListVolumesResponse [VolumeInfo]+lvrVolumeInfos = lens _lvrVolumeInfos (\s a -> s { _lvrVolumeInfos = a }) . _List++instance ToPath ListVolumes where+ toPath = const "/"++instance ToQuery ListVolumes where+ toQuery = const mempty++instance ToHeaders ListVolumes++instance ToJSON ListVolumes where+ toJSON ListVolumes{..} = object+ [ "GatewayARN" .= _lvGatewayARN+ , "Marker" .= _lvMarker+ , "Limit" .= _lvLimit+ ]++instance AWSRequest ListVolumes where+ type Sv ListVolumes = StorageGateway+ type Rs ListVolumes = ListVolumesResponse++ request = post "ListVolumes"+ response = jsonResponse++instance FromJSON ListVolumesResponse where+ parseJSON = withObject "ListVolumesResponse" $ \o -> ListVolumesResponse+ <$> o .:? "GatewayARN"+ <*> o .:? "Marker"+ <*> o .: "VolumeInfos"++instance AWSPager ListVolumes where+ page rq rs+ | stop (rq ^. lvMarker) = Nothing+ | otherwise = (\x -> rq & lvMarker ?~ x)+ <$> (rs ^. lvrMarker)
+ gen/Network/AWS/StorageGateway/RetrieveTapeArchive.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.RetrieveTapeArchive+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a+-- gateway-VTL. Virtual tapes archived in the VTS are not associated with any+-- gateway. However after a tape is retrieved, it is associated with a+-- gateway, even though it is also listed in the VTS. Once a tape is+-- successfully retrieved to a gateway, it cannot be retrieved again to+-- another gateway. You must archive the tape again before you can retrieve it+-- to another gateway.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_RetrieveTapeArchive.html>+module Network.AWS.StorageGateway.RetrieveTapeArchive+ (+ -- * Request+ RetrieveTapeArchive+ -- ** Request constructor+ , retrieveTapeArchive+ -- ** Request lenses+ , rtaGatewayARN+ , rtaTapeARN++ -- * Response+ , RetrieveTapeArchiveResponse+ -- ** Response constructor+ , retrieveTapeArchiveResponse+ -- ** Response lenses+ , rtarTapeARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data RetrieveTapeArchive = RetrieveTapeArchive+ { _rtaGatewayARN :: Text+ , _rtaTapeARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'RetrieveTapeArchive' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rtaGatewayARN' @::@ 'Text'+--+-- * 'rtaTapeARN' @::@ 'Text'+--+retrieveTapeArchive :: Text -- ^ 'rtaTapeARN'+ -> Text -- ^ 'rtaGatewayARN'+ -> RetrieveTapeArchive+retrieveTapeArchive p1 p2 = RetrieveTapeArchive+ { _rtaTapeARN = p1+ , _rtaGatewayARN = p2+ }++-- | The Amazon Resource Name (ARN) of the gateway you want to retrieve the+-- virtual tape to. Use the ListGateways operation to return a list of+-- gateways for your account and region. You retrieve archived virtual tapes+-- to only one gateway and the gateway must be a gateway-VTL.+rtaGatewayARN :: Lens' RetrieveTapeArchive Text+rtaGatewayARN = lens _rtaGatewayARN (\s a -> s { _rtaGatewayARN = a })++-- | The Amazon Resource Name (ARN) of the virtual tape you want to retrieve+-- from the virtual tape shelf (VTS).+rtaTapeARN :: Lens' RetrieveTapeArchive Text+rtaTapeARN = lens _rtaTapeARN (\s a -> s { _rtaTapeARN = a })++newtype RetrieveTapeArchiveResponse = RetrieveTapeArchiveResponse+ { _rtarTapeARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'RetrieveTapeArchiveResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rtarTapeARN' @::@ 'Maybe' 'Text'+--+retrieveTapeArchiveResponse :: RetrieveTapeArchiveResponse+retrieveTapeArchiveResponse = RetrieveTapeArchiveResponse+ { _rtarTapeARN = Nothing+ }++-- | The Amazon Resource Name (ARN) of the retrieved virtual tape.+rtarTapeARN :: Lens' RetrieveTapeArchiveResponse (Maybe Text)+rtarTapeARN = lens _rtarTapeARN (\s a -> s { _rtarTapeARN = a })++instance ToPath RetrieveTapeArchive where+ toPath = const "/"++instance ToQuery RetrieveTapeArchive where+ toQuery = const mempty++instance ToHeaders RetrieveTapeArchive++instance ToJSON RetrieveTapeArchive where+ toJSON RetrieveTapeArchive{..} = object+ [ "TapeARN" .= _rtaTapeARN+ , "GatewayARN" .= _rtaGatewayARN+ ]++instance AWSRequest RetrieveTapeArchive where+ type Sv RetrieveTapeArchive = StorageGateway+ type Rs RetrieveTapeArchive = RetrieveTapeArchiveResponse++ request = post "RetrieveTapeArchive"+ response = jsonResponse++instance FromJSON RetrieveTapeArchiveResponse where+ parseJSON = withObject "RetrieveTapeArchiveResponse" $ \o -> RetrieveTapeArchiveResponse+ <$> o .:? "TapeARN"
+ gen/Network/AWS/StorageGateway/RetrieveTapeRecoveryPoint.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.RetrieveTapeRecoveryPoint+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | Retrieves the recovery point for the specified virtual tape. A recovery+-- point is a point in time view of a virtual tape at which all the data on+-- the tape is consistent. If your gateway crashes, virtual tapes that have+-- recovery points can be recovered to a new gateway.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_RetrieveTapeRecoveryPoint.html>+module Network.AWS.StorageGateway.RetrieveTapeRecoveryPoint+ (+ -- * Request+ RetrieveTapeRecoveryPoint+ -- ** Request constructor+ , retrieveTapeRecoveryPoint+ -- ** Request lenses+ , rtrpGatewayARN+ , rtrpTapeARN++ -- * Response+ , RetrieveTapeRecoveryPointResponse+ -- ** Response constructor+ , retrieveTapeRecoveryPointResponse+ -- ** Response lenses+ , rtrprTapeARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data RetrieveTapeRecoveryPoint = RetrieveTapeRecoveryPoint+ { _rtrpGatewayARN :: Text+ , _rtrpTapeARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'RetrieveTapeRecoveryPoint' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rtrpGatewayARN' @::@ 'Text'+--+-- * 'rtrpTapeARN' @::@ 'Text'+--+retrieveTapeRecoveryPoint :: Text -- ^ 'rtrpTapeARN'+ -> Text -- ^ 'rtrpGatewayARN'+ -> RetrieveTapeRecoveryPoint+retrieveTapeRecoveryPoint p1 p2 = RetrieveTapeRecoveryPoint+ { _rtrpTapeARN = p1+ , _rtrpGatewayARN = p2+ }++rtrpGatewayARN :: Lens' RetrieveTapeRecoveryPoint Text+rtrpGatewayARN = lens _rtrpGatewayARN (\s a -> s { _rtrpGatewayARN = a })++-- | The Amazon Resource Name (ARN) of the virtual tape for which you want to+-- retrieve the recovery point.+rtrpTapeARN :: Lens' RetrieveTapeRecoveryPoint Text+rtrpTapeARN = lens _rtrpTapeARN (\s a -> s { _rtrpTapeARN = a })++newtype RetrieveTapeRecoveryPointResponse = RetrieveTapeRecoveryPointResponse+ { _rtrprTapeARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'RetrieveTapeRecoveryPointResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rtrprTapeARN' @::@ 'Maybe' 'Text'+--+retrieveTapeRecoveryPointResponse :: RetrieveTapeRecoveryPointResponse+retrieveTapeRecoveryPointResponse = RetrieveTapeRecoveryPointResponse+ { _rtrprTapeARN = Nothing+ }++-- | The Amazon Resource Name (ARN) of the virtual tape for which the recovery+-- point was retrieved.+rtrprTapeARN :: Lens' RetrieveTapeRecoveryPointResponse (Maybe Text)+rtrprTapeARN = lens _rtrprTapeARN (\s a -> s { _rtrprTapeARN = a })++instance ToPath RetrieveTapeRecoveryPoint where+ toPath = const "/"++instance ToQuery RetrieveTapeRecoveryPoint where+ toQuery = const mempty++instance ToHeaders RetrieveTapeRecoveryPoint++instance ToJSON RetrieveTapeRecoveryPoint where+ toJSON RetrieveTapeRecoveryPoint{..} = object+ [ "TapeARN" .= _rtrpTapeARN+ , "GatewayARN" .= _rtrpGatewayARN+ ]++instance AWSRequest RetrieveTapeRecoveryPoint where+ type Sv RetrieveTapeRecoveryPoint = StorageGateway+ type Rs RetrieveTapeRecoveryPoint = RetrieveTapeRecoveryPointResponse++ request = post "RetrieveTapeRecoveryPoint"+ response = jsonResponse++instance FromJSON RetrieveTapeRecoveryPointResponse where+ parseJSON = withObject "RetrieveTapeRecoveryPointResponse" $ \o -> RetrieveTapeRecoveryPointResponse+ <$> o .:? "TapeARN"
+ gen/Network/AWS/StorageGateway/ShutdownGateway.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.ShutdownGateway+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation shuts down a gateway. To specify which gateway to shut down,+-- use the Amazon Resource Name (ARN) of the gateway in the body of your+-- request. The operation shuts down the gateway service component running in+-- the storage gateway's virtual machine (VM) and not the VM. After the+-- gateway is shutdown, you cannot call any other API except StartGateway,+-- DescribeGatewayInformation, and ListGateways. For more information, see+-- ActivateGateway. Your applications cannot read from or write to the+-- gateway's storage volumes, and there are no snapshots taken. If do not+-- intend to use the gateway again, you must delete the gateway (using+-- DeleteGateway) to no longer pay software charges associated with the+-- gateway.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_ShutdownGateway.html>+module Network.AWS.StorageGateway.ShutdownGateway+ (+ -- * Request+ ShutdownGateway+ -- ** Request constructor+ , shutdownGateway+ -- ** Request lenses+ , sg1GatewayARN++ -- * Response+ , ShutdownGatewayResponse+ -- ** Response constructor+ , shutdownGatewayResponse+ -- ** Response lenses+ , sgr1GatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype ShutdownGateway = ShutdownGateway+ { _sg1GatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'ShutdownGateway' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'sg1GatewayARN' @::@ 'Text'+--+shutdownGateway :: Text -- ^ 'sg1GatewayARN'+ -> ShutdownGateway+shutdownGateway p1 = ShutdownGateway+ { _sg1GatewayARN = p1+ }++sg1GatewayARN :: Lens' ShutdownGateway Text+sg1GatewayARN = lens _sg1GatewayARN (\s a -> s { _sg1GatewayARN = a })++newtype ShutdownGatewayResponse = ShutdownGatewayResponse+ { _sgr1GatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'ShutdownGatewayResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'sgr1GatewayARN' @::@ 'Maybe' 'Text'+--+shutdownGatewayResponse :: ShutdownGatewayResponse+shutdownGatewayResponse = ShutdownGatewayResponse+ { _sgr1GatewayARN = Nothing+ }++sgr1GatewayARN :: Lens' ShutdownGatewayResponse (Maybe Text)+sgr1GatewayARN = lens _sgr1GatewayARN (\s a -> s { _sgr1GatewayARN = a })++instance ToPath ShutdownGateway where+ toPath = const "/"++instance ToQuery ShutdownGateway where+ toQuery = const mempty++instance ToHeaders ShutdownGateway++instance ToJSON ShutdownGateway where+ toJSON ShutdownGateway{..} = object+ [ "GatewayARN" .= _sg1GatewayARN+ ]++instance AWSRequest ShutdownGateway where+ type Sv ShutdownGateway = StorageGateway+ type Rs ShutdownGateway = ShutdownGatewayResponse++ request = post "ShutdownGateway"+ response = jsonResponse++instance FromJSON ShutdownGatewayResponse where+ parseJSON = withObject "ShutdownGatewayResponse" $ \o -> ShutdownGatewayResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/StartGateway.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.StartGateway+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation starts a gateway that you previously shut down (see+-- ShutdownGateway). After the gateway starts, you can then make other API+-- calls, your applications can read from or write to the gateway's storage+-- volumes and you will be able to take snapshot backups. To specify which+-- gateway to start, use the Amazon Resource Name (ARN) of the gateway in your+-- request.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_StartGateway.html>+module Network.AWS.StorageGateway.StartGateway+ (+ -- * Request+ StartGateway+ -- ** Request constructor+ , startGateway+ -- ** Request lenses+ , sgGatewayARN++ -- * Response+ , StartGatewayResponse+ -- ** Response constructor+ , startGatewayResponse+ -- ** Response lenses+ , sgrGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype StartGateway = StartGateway+ { _sgGatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'StartGateway' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'sgGatewayARN' @::@ 'Text'+--+startGateway :: Text -- ^ 'sgGatewayARN'+ -> StartGateway+startGateway p1 = StartGateway+ { _sgGatewayARN = p1+ }++sgGatewayARN :: Lens' StartGateway Text+sgGatewayARN = lens _sgGatewayARN (\s a -> s { _sgGatewayARN = a })++newtype StartGatewayResponse = StartGatewayResponse+ { _sgrGatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'StartGatewayResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'sgrGatewayARN' @::@ 'Maybe' 'Text'+--+startGatewayResponse :: StartGatewayResponse+startGatewayResponse = StartGatewayResponse+ { _sgrGatewayARN = Nothing+ }++sgrGatewayARN :: Lens' StartGatewayResponse (Maybe Text)+sgrGatewayARN = lens _sgrGatewayARN (\s a -> s { _sgrGatewayARN = a })++instance ToPath StartGateway where+ toPath = const "/"++instance ToQuery StartGateway where+ toQuery = const mempty++instance ToHeaders StartGateway++instance ToJSON StartGateway where+ toJSON StartGateway{..} = object+ [ "GatewayARN" .= _sgGatewayARN+ ]++instance AWSRequest StartGateway where+ type Sv StartGateway = StorageGateway+ type Rs StartGateway = StartGatewayResponse++ request = post "StartGateway"+ response = jsonResponse++instance FromJSON StartGatewayResponse where+ parseJSON = withObject "StartGatewayResponse" $ \o -> StartGatewayResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/Types.hs view
@@ -0,0 +1,1405 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.Types+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++module Network.AWS.StorageGateway.Types+ (+ -- * Service+ StorageGateway+ -- ** Error+ , JSONError++ -- * ChapInfo+ , ChapInfo+ , chapInfo+ , ciInitiatorName+ , ciSecretToAuthenticateInitiator+ , ciSecretToAuthenticateTarget+ , ciTargetARN++ -- * VolumeiSCSIAttributes+ , VolumeiSCSIAttributes+ , volumeiSCSIAttributes+ , vscsiaChapEnabled+ , vscsiaLunNumber+ , vscsiaNetworkInterfaceId+ , vscsiaNetworkInterfacePort+ , vscsiaTargetARN++ -- * DeviceiSCSIAttributes+ , DeviceiSCSIAttributes+ , deviceiSCSIAttributes+ , dscsiaChapEnabled+ , dscsiaNetworkInterfaceId+ , dscsiaNetworkInterfacePort+ , dscsiaTargetARN++ -- * Error'+ , Error'+ , error+ , eErrorCode+ , eErrorDetails++ -- * Disk+ , Disk+ , disk+ , dDiskAllocationResource+ , dDiskAllocationType+ , dDiskId+ , dDiskNode+ , dDiskPath+ , dDiskSizeInBytes++ -- * Tape+ , Tape+ , tape+ , tProgress+ , tTapeARN+ , tTapeBarcode+ , tTapeSizeInBytes+ , tTapeStatus+ , tVTLDevice++ -- * NetworkInterface+ , NetworkInterface+ , networkInterface+ , niIpv4Address+ , niIpv6Address+ , niMacAddress++ -- * VTLDevice+ , VTLDevice+ , vtldevice+ , vtldDeviceiSCSIAttributes+ , vtldVTLDeviceARN+ , vtldVTLDeviceProductIdentifier+ , vtldVTLDeviceType+ , vtldVTLDeviceVendor++ -- * TapeRecoveryPointInfo+ , TapeRecoveryPointInfo+ , tapeRecoveryPointInfo+ , trpiTapeARN+ , trpiTapeRecoveryPointTime+ , trpiTapeSizeInBytes+ , trpiTapeStatus++ -- * VolumeRecoveryPointInfo+ , VolumeRecoveryPointInfo+ , volumeRecoveryPointInfo+ , vrpiVolumeARN+ , vrpiVolumeRecoveryPointTime+ , vrpiVolumeSizeInBytes+ , vrpiVolumeUsageInBytes++ -- * TapeArchive+ , TapeArchive+ , tapeArchive+ , taCompletionTime+ , taRetrievedTo+ , taTapeARN+ , taTapeBarcode+ , taTapeSizeInBytes+ , taTapeStatus++ -- * ErrorCode+ , ErrorCode (..)++ -- * StorediSCSIVolume+ , StorediSCSIVolume+ , storediSCSIVolume+ , sscsivPreservedExistingData+ , sscsivSourceSnapshotId+ , sscsivVolumeARN+ , sscsivVolumeDiskId+ , sscsivVolumeId+ , sscsivVolumeProgress+ , sscsivVolumeSizeInBytes+ , sscsivVolumeStatus+ , sscsivVolumeType+ , sscsivVolumeiSCSIAttributes++ -- * CachediSCSIVolume+ , CachediSCSIVolume+ , cachediSCSIVolume+ , cscsivSourceSnapshotId+ , cscsivVolumeARN+ , cscsivVolumeId+ , cscsivVolumeProgress+ , cscsivVolumeSizeInBytes+ , cscsivVolumeStatus+ , cscsivVolumeType+ , cscsivVolumeiSCSIAttributes++ -- * VolumeInfo+ , VolumeInfo+ , volumeInfo+ , viVolumeARN+ , viVolumeType++ -- * GatewayInfo+ , GatewayInfo+ , gatewayInfo+ , giGatewayARN+ , giGatewayOperationalState+ , giGatewayType+ ) where++import Data.Char (isUpper)+import Network.AWS.Error+import Network.AWS.Prelude+import Network.AWS.Signing.V4+import qualified GHC.Exts++-- | Version @2013-06-30@ of the Amazon Storage Gateway service.+data StorageGateway++instance AWSService StorageGateway where+ type Sg StorageGateway = V4+ type Er StorageGateway = JSONError++ service = Service+ { _svcEndpoint = regional+ , _svcAbbrev = "StorageGateway"+ , _svcPrefix = "storagegateway"+ , _svcVersion = "2013-06-30"+ , _svcTargetPrefix = Just "StorageGateway_20130630"+ , _svcJSONVersion = Just "1.1"+ }++ handle = jsonError statusSuccess++data ChapInfo = ChapInfo+ { _ciInitiatorName :: Maybe Text+ , _ciSecretToAuthenticateInitiator :: Maybe Text+ , _ciSecretToAuthenticateTarget :: Maybe Text+ , _ciTargetARN :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'ChapInfo' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ciInitiatorName' @::@ 'Maybe' 'Text'+--+-- * 'ciSecretToAuthenticateInitiator' @::@ 'Maybe' 'Text'+--+-- * 'ciSecretToAuthenticateTarget' @::@ 'Maybe' 'Text'+--+-- * 'ciTargetARN' @::@ 'Maybe' 'Text'+--+chapInfo :: ChapInfo+chapInfo = ChapInfo+ { _ciTargetARN = Nothing+ , _ciSecretToAuthenticateInitiator = Nothing+ , _ciInitiatorName = Nothing+ , _ciSecretToAuthenticateTarget = Nothing+ }++-- | The iSCSI initiator that connects to the target.+ciInitiatorName :: Lens' ChapInfo (Maybe Text)+ciInitiatorName = lens _ciInitiatorName (\s a -> s { _ciInitiatorName = a })++-- | The secret key that the initiator (e.g. Windows client) must provide to+-- participate in mutual CHAP with the target.+ciSecretToAuthenticateInitiator :: Lens' ChapInfo (Maybe Text)+ciSecretToAuthenticateInitiator =+ lens _ciSecretToAuthenticateInitiator+ (\s a -> s { _ciSecretToAuthenticateInitiator = a })++-- | The secret key that the target must provide to participate in mutual CHAP+-- with the initiator (e.g. Windows client).+ciSecretToAuthenticateTarget :: Lens' ChapInfo (Maybe Text)+ciSecretToAuthenticateTarget =+ lens _ciSecretToAuthenticateTarget+ (\s a -> s { _ciSecretToAuthenticateTarget = a })++-- | The Amazon Resource Name (ARN) of the volume. Valid Values: 50 to 500+-- lowercase letters, numbers, periods (.), and hyphens (-).+ciTargetARN :: Lens' ChapInfo (Maybe Text)+ciTargetARN = lens _ciTargetARN (\s a -> s { _ciTargetARN = a })++instance FromJSON ChapInfo where+ parseJSON = withObject "ChapInfo" $ \o -> ChapInfo+ <$> o .:? "InitiatorName"+ <*> o .:? "SecretToAuthenticateInitiator"+ <*> o .:? "SecretToAuthenticateTarget"+ <*> o .:? "TargetARN"++instance ToJSON ChapInfo where+ toJSON ChapInfo{..} = object+ [ "TargetARN" .= _ciTargetARN+ , "SecretToAuthenticateInitiator" .= _ciSecretToAuthenticateInitiator+ , "InitiatorName" .= _ciInitiatorName+ , "SecretToAuthenticateTarget" .= _ciSecretToAuthenticateTarget+ ]++data VolumeiSCSIAttributes = VolumeiSCSIAttributes+ { _vscsiaChapEnabled :: Maybe Bool+ , _vscsiaLunNumber :: Maybe Nat+ , _vscsiaNetworkInterfaceId :: Maybe Text+ , _vscsiaNetworkInterfacePort :: Maybe Int+ , _vscsiaTargetARN :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'VolumeiSCSIAttributes' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'vscsiaChapEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'vscsiaLunNumber' @::@ 'Maybe' 'Natural'+--+-- * 'vscsiaNetworkInterfaceId' @::@ 'Maybe' 'Text'+--+-- * 'vscsiaNetworkInterfacePort' @::@ 'Maybe' 'Int'+--+-- * 'vscsiaTargetARN' @::@ 'Maybe' 'Text'+--+volumeiSCSIAttributes :: VolumeiSCSIAttributes+volumeiSCSIAttributes = VolumeiSCSIAttributes+ { _vscsiaTargetARN = Nothing+ , _vscsiaNetworkInterfaceId = Nothing+ , _vscsiaNetworkInterfacePort = Nothing+ , _vscsiaLunNumber = Nothing+ , _vscsiaChapEnabled = Nothing+ }++-- | Indicates whether mutual CHAP is enabled for the iSCSI target.+vscsiaChapEnabled :: Lens' VolumeiSCSIAttributes (Maybe Bool)+vscsiaChapEnabled =+ lens _vscsiaChapEnabled (\s a -> s { _vscsiaChapEnabled = a })++-- | The logical disk number.+vscsiaLunNumber :: Lens' VolumeiSCSIAttributes (Maybe Natural)+vscsiaLunNumber = lens _vscsiaLunNumber (\s a -> s { _vscsiaLunNumber = a }) . mapping _Nat++-- | The network interface identifier.+vscsiaNetworkInterfaceId :: Lens' VolumeiSCSIAttributes (Maybe Text)+vscsiaNetworkInterfaceId =+ lens _vscsiaNetworkInterfaceId+ (\s a -> s { _vscsiaNetworkInterfaceId = a })++-- | The port used to communicate with iSCSI targets.+vscsiaNetworkInterfacePort :: Lens' VolumeiSCSIAttributes (Maybe Int)+vscsiaNetworkInterfacePort =+ lens _vscsiaNetworkInterfacePort+ (\s a -> s { _vscsiaNetworkInterfacePort = a })++-- | The Amazon Resource Name (ARN) of the volume target.+vscsiaTargetARN :: Lens' VolumeiSCSIAttributes (Maybe Text)+vscsiaTargetARN = lens _vscsiaTargetARN (\s a -> s { _vscsiaTargetARN = a })++instance FromJSON VolumeiSCSIAttributes where+ parseJSON = withObject "VolumeiSCSIAttributes" $ \o -> VolumeiSCSIAttributes+ <$> o .:? "ChapEnabled"+ <*> o .:? "LunNumber"+ <*> o .:? "NetworkInterfaceId"+ <*> o .:? "NetworkInterfacePort"+ <*> o .:? "TargetARN"++instance ToJSON VolumeiSCSIAttributes where+ toJSON VolumeiSCSIAttributes{..} = object+ [ "TargetARN" .= _vscsiaTargetARN+ , "NetworkInterfaceId" .= _vscsiaNetworkInterfaceId+ , "NetworkInterfacePort" .= _vscsiaNetworkInterfacePort+ , "LunNumber" .= _vscsiaLunNumber+ , "ChapEnabled" .= _vscsiaChapEnabled+ ]++data DeviceiSCSIAttributes = DeviceiSCSIAttributes+ { _dscsiaChapEnabled :: Maybe Bool+ , _dscsiaNetworkInterfaceId :: Maybe Text+ , _dscsiaNetworkInterfacePort :: Maybe Int+ , _dscsiaTargetARN :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'DeviceiSCSIAttributes' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dscsiaChapEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'dscsiaNetworkInterfaceId' @::@ 'Maybe' 'Text'+--+-- * 'dscsiaNetworkInterfacePort' @::@ 'Maybe' 'Int'+--+-- * 'dscsiaTargetARN' @::@ 'Maybe' 'Text'+--+deviceiSCSIAttributes :: DeviceiSCSIAttributes+deviceiSCSIAttributes = DeviceiSCSIAttributes+ { _dscsiaTargetARN = Nothing+ , _dscsiaNetworkInterfaceId = Nothing+ , _dscsiaNetworkInterfacePort = Nothing+ , _dscsiaChapEnabled = Nothing+ }++-- | Indicates whether mutual CHAP is enabled for the iSCSI target.+dscsiaChapEnabled :: Lens' DeviceiSCSIAttributes (Maybe Bool)+dscsiaChapEnabled =+ lens _dscsiaChapEnabled (\s a -> s { _dscsiaChapEnabled = a })++-- | The network interface identifier of the VTL device.+dscsiaNetworkInterfaceId :: Lens' DeviceiSCSIAttributes (Maybe Text)+dscsiaNetworkInterfaceId =+ lens _dscsiaNetworkInterfaceId+ (\s a -> s { _dscsiaNetworkInterfaceId = a })++-- | The port used to communicate with iSCSI VTL device targets.+dscsiaNetworkInterfacePort :: Lens' DeviceiSCSIAttributes (Maybe Int)+dscsiaNetworkInterfacePort =+ lens _dscsiaNetworkInterfacePort+ (\s a -> s { _dscsiaNetworkInterfacePort = a })++-- | Specifies the unique Amazon Resource Name(ARN) that encodes the iSCSI+-- qualified name(iqn) of a tape drive or media changer target.+dscsiaTargetARN :: Lens' DeviceiSCSIAttributes (Maybe Text)+dscsiaTargetARN = lens _dscsiaTargetARN (\s a -> s { _dscsiaTargetARN = a })++instance FromJSON DeviceiSCSIAttributes where+ parseJSON = withObject "DeviceiSCSIAttributes" $ \o -> DeviceiSCSIAttributes+ <$> o .:? "ChapEnabled"+ <*> o .:? "NetworkInterfaceId"+ <*> o .:? "NetworkInterfacePort"+ <*> o .:? "TargetARN"++instance ToJSON DeviceiSCSIAttributes where+ toJSON DeviceiSCSIAttributes{..} = object+ [ "TargetARN" .= _dscsiaTargetARN+ , "NetworkInterfaceId" .= _dscsiaNetworkInterfaceId+ , "NetworkInterfacePort" .= _dscsiaNetworkInterfacePort+ , "ChapEnabled" .= _dscsiaChapEnabled+ ]++data Error' = Error'+ { _eErrorCode :: Maybe Text+ , _eErrorDetails :: Map Text Text+ } deriving (Eq, Show)++-- | 'Error'' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'eErrorCode' @::@ 'Maybe' 'Text'+--+-- * 'eErrorDetails' @::@ 'HashMap' 'Text' 'Text'+--+error :: Error'+error = Error'+ { _eErrorCode = Nothing+ , _eErrorDetails = mempty+ }++-- | Additional information about the error.+eErrorCode :: Lens' Error' (Maybe Text)+eErrorCode = lens _eErrorCode (\s a -> s { _eErrorCode = a })++-- | Human-readable text that provides detail about the error that occurred.+eErrorDetails :: Lens' Error' (HashMap Text Text)+eErrorDetails = lens _eErrorDetails (\s a -> s { _eErrorDetails = a }) . _Map++instance FromJSON Error' where+ parseJSON = withObject "Error'" $ \o -> Error'+ <$> o .:? "errorCode"+ <*> o .: "errorDetails"++instance ToJSON Error' where+ toJSON Error'{..} = object+ [ "errorCode" .= _eErrorCode+ , "errorDetails" .= _eErrorDetails+ ]++data Disk = Disk+ { _dDiskAllocationResource :: Maybe Text+ , _dDiskAllocationType :: Maybe Text+ , _dDiskId :: Maybe Text+ , _dDiskNode :: Maybe Text+ , _dDiskPath :: Maybe Text+ , _dDiskSizeInBytes :: Maybe Integer+ } deriving (Eq, Ord, Show)++-- | 'Disk' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dDiskAllocationResource' @::@ 'Maybe' 'Text'+--+-- * 'dDiskAllocationType' @::@ 'Maybe' 'Text'+--+-- * 'dDiskId' @::@ 'Maybe' 'Text'+--+-- * 'dDiskNode' @::@ 'Maybe' 'Text'+--+-- * 'dDiskPath' @::@ 'Maybe' 'Text'+--+-- * 'dDiskSizeInBytes' @::@ 'Maybe' 'Integer'+--+disk :: Disk+disk = Disk+ { _dDiskId = Nothing+ , _dDiskPath = Nothing+ , _dDiskNode = Nothing+ , _dDiskSizeInBytes = Nothing+ , _dDiskAllocationType = Nothing+ , _dDiskAllocationResource = Nothing+ }++dDiskAllocationResource :: Lens' Disk (Maybe Text)+dDiskAllocationResource =+ lens _dDiskAllocationResource (\s a -> s { _dDiskAllocationResource = a })++dDiskAllocationType :: Lens' Disk (Maybe Text)+dDiskAllocationType =+ lens _dDiskAllocationType (\s a -> s { _dDiskAllocationType = a })++dDiskId :: Lens' Disk (Maybe Text)+dDiskId = lens _dDiskId (\s a -> s { _dDiskId = a })++dDiskNode :: Lens' Disk (Maybe Text)+dDiskNode = lens _dDiskNode (\s a -> s { _dDiskNode = a })++dDiskPath :: Lens' Disk (Maybe Text)+dDiskPath = lens _dDiskPath (\s a -> s { _dDiskPath = a })++dDiskSizeInBytes :: Lens' Disk (Maybe Integer)+dDiskSizeInBytes = lens _dDiskSizeInBytes (\s a -> s { _dDiskSizeInBytes = a })++instance FromJSON Disk where+ parseJSON = withObject "Disk" $ \o -> Disk+ <$> o .:? "DiskAllocationResource"+ <*> o .:? "DiskAllocationType"+ <*> o .:? "DiskId"+ <*> o .:? "DiskNode"+ <*> o .:? "DiskPath"+ <*> o .:? "DiskSizeInBytes"++instance ToJSON Disk where+ toJSON Disk{..} = object+ [ "DiskId" .= _dDiskId+ , "DiskPath" .= _dDiskPath+ , "DiskNode" .= _dDiskNode+ , "DiskSizeInBytes" .= _dDiskSizeInBytes+ , "DiskAllocationType" .= _dDiskAllocationType+ , "DiskAllocationResource" .= _dDiskAllocationResource+ ]++data Tape = Tape+ { _tProgress :: Maybe Double+ , _tTapeARN :: Maybe Text+ , _tTapeBarcode :: Maybe Text+ , _tTapeSizeInBytes :: Maybe Nat+ , _tTapeStatus :: Maybe Text+ , _tVTLDevice :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'Tape' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tProgress' @::@ 'Maybe' 'Double'+--+-- * 'tTapeARN' @::@ 'Maybe' 'Text'+--+-- * 'tTapeBarcode' @::@ 'Maybe' 'Text'+--+-- * 'tTapeSizeInBytes' @::@ 'Maybe' 'Natural'+--+-- * 'tTapeStatus' @::@ 'Maybe' 'Text'+--+-- * 'tVTLDevice' @::@ 'Maybe' 'Text'+--+tape :: Tape+tape = Tape+ { _tTapeARN = Nothing+ , _tTapeBarcode = Nothing+ , _tTapeSizeInBytes = Nothing+ , _tTapeStatus = Nothing+ , _tVTLDevice = Nothing+ , _tProgress = Nothing+ }++-- | For archiving virtual tapes, indicates how much data remains to be+-- uploaded before archiving is complete. Range: 0 (not started) to 100+-- (complete).+tProgress :: Lens' Tape (Maybe Double)+tProgress = lens _tProgress (\s a -> s { _tProgress = a })++-- | The Amazon Resource Name (ARN) of the virtual tape.+tTapeARN :: Lens' Tape (Maybe Text)+tTapeARN = lens _tTapeARN (\s a -> s { _tTapeARN = a })++-- | The barcode that identifies a specific virtual tape.+tTapeBarcode :: Lens' Tape (Maybe Text)+tTapeBarcode = lens _tTapeBarcode (\s a -> s { _tTapeBarcode = a })++-- | The size, in bytes, of the virtual tape.+tTapeSizeInBytes :: Lens' Tape (Maybe Natural)+tTapeSizeInBytes = lens _tTapeSizeInBytes (\s a -> s { _tTapeSizeInBytes = a }) . mapping _Nat++-- | The current state of the virtual tape.+tTapeStatus :: Lens' Tape (Maybe Text)+tTapeStatus = lens _tTapeStatus (\s a -> s { _tTapeStatus = a })++-- | The virtual tape library (VTL) device that the virtual tape is associated+-- with.+tVTLDevice :: Lens' Tape (Maybe Text)+tVTLDevice = lens _tVTLDevice (\s a -> s { _tVTLDevice = a })++instance FromJSON Tape where+ parseJSON = withObject "Tape" $ \o -> Tape+ <$> o .:? "Progress"+ <*> o .:? "TapeARN"+ <*> o .:? "TapeBarcode"+ <*> o .:? "TapeSizeInBytes"+ <*> o .:? "TapeStatus"+ <*> o .:? "VTLDevice"++instance ToJSON Tape where+ toJSON Tape{..} = object+ [ "TapeARN" .= _tTapeARN+ , "TapeBarcode" .= _tTapeBarcode+ , "TapeSizeInBytes" .= _tTapeSizeInBytes+ , "TapeStatus" .= _tTapeStatus+ , "VTLDevice" .= _tVTLDevice+ , "Progress" .= _tProgress+ ]++data NetworkInterface = NetworkInterface+ { _niIpv4Address :: Maybe Text+ , _niIpv6Address :: Maybe Text+ , _niMacAddress :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'NetworkInterface' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'niIpv4Address' @::@ 'Maybe' 'Text'+--+-- * 'niIpv6Address' @::@ 'Maybe' 'Text'+--+-- * 'niMacAddress' @::@ 'Maybe' 'Text'+--+networkInterface :: NetworkInterface+networkInterface = NetworkInterface+ { _niIpv4Address = Nothing+ , _niMacAddress = Nothing+ , _niIpv6Address = Nothing+ }++-- | The Internet Protocol version 4 (IPv4) address of the interface.+niIpv4Address :: Lens' NetworkInterface (Maybe Text)+niIpv4Address = lens _niIpv4Address (\s a -> s { _niIpv4Address = a })++-- | The Internet Protocol version 6 (IPv6) address of the interface.+-- Currently not supported.+niIpv6Address :: Lens' NetworkInterface (Maybe Text)+niIpv6Address = lens _niIpv6Address (\s a -> s { _niIpv6Address = a })++-- | The Media Access Control (MAC) address of the interface.+niMacAddress :: Lens' NetworkInterface (Maybe Text)+niMacAddress = lens _niMacAddress (\s a -> s { _niMacAddress = a })++instance FromJSON NetworkInterface where+ parseJSON = withObject "NetworkInterface" $ \o -> NetworkInterface+ <$> o .:? "Ipv4Address"+ <*> o .:? "Ipv6Address"+ <*> o .:? "MacAddress"++instance ToJSON NetworkInterface where+ toJSON NetworkInterface{..} = object+ [ "Ipv4Address" .= _niIpv4Address+ , "MacAddress" .= _niMacAddress+ , "Ipv6Address" .= _niIpv6Address+ ]++data VTLDevice = VTLDevice+ { _vtldDeviceiSCSIAttributes :: Maybe DeviceiSCSIAttributes+ , _vtldVTLDeviceARN :: Maybe Text+ , _vtldVTLDeviceProductIdentifier :: Maybe Text+ , _vtldVTLDeviceType :: Maybe Text+ , _vtldVTLDeviceVendor :: Maybe Text+ } deriving (Eq, Show)++-- | 'VTLDevice' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'vtldDeviceiSCSIAttributes' @::@ 'Maybe' 'DeviceiSCSIAttributes'+--+-- * 'vtldVTLDeviceARN' @::@ 'Maybe' 'Text'+--+-- * 'vtldVTLDeviceProductIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'vtldVTLDeviceType' @::@ 'Maybe' 'Text'+--+-- * 'vtldVTLDeviceVendor' @::@ 'Maybe' 'Text'+--+vtldevice :: VTLDevice+vtldevice = VTLDevice+ { _vtldVTLDeviceARN = Nothing+ , _vtldVTLDeviceType = Nothing+ , _vtldVTLDeviceVendor = Nothing+ , _vtldVTLDeviceProductIdentifier = Nothing+ , _vtldDeviceiSCSIAttributes = Nothing+ }++-- | A list of iSCSI information about a VTL device.+vtldDeviceiSCSIAttributes :: Lens' VTLDevice (Maybe DeviceiSCSIAttributes)+vtldDeviceiSCSIAttributes =+ lens _vtldDeviceiSCSIAttributes+ (\s a -> s { _vtldDeviceiSCSIAttributes = a })++-- | Specifies the unique Amazon Resource Name (ARN) of the device (tape drive+-- or media changer).+vtldVTLDeviceARN :: Lens' VTLDevice (Maybe Text)+vtldVTLDeviceARN = lens _vtldVTLDeviceARN (\s a -> s { _vtldVTLDeviceARN = a })++vtldVTLDeviceProductIdentifier :: Lens' VTLDevice (Maybe Text)+vtldVTLDeviceProductIdentifier =+ lens _vtldVTLDeviceProductIdentifier+ (\s a -> s { _vtldVTLDeviceProductIdentifier = a })++vtldVTLDeviceType :: Lens' VTLDevice (Maybe Text)+vtldVTLDeviceType =+ lens _vtldVTLDeviceType (\s a -> s { _vtldVTLDeviceType = a })++vtldVTLDeviceVendor :: Lens' VTLDevice (Maybe Text)+vtldVTLDeviceVendor =+ lens _vtldVTLDeviceVendor (\s a -> s { _vtldVTLDeviceVendor = a })++instance FromJSON VTLDevice where+ parseJSON = withObject "VTLDevice" $ \o -> VTLDevice+ <$> o .:? "DeviceiSCSIAttributes"+ <*> o .:? "VTLDeviceARN"+ <*> o .:? "VTLDeviceProductIdentifier"+ <*> o .:? "VTLDeviceType"+ <*> o .:? "VTLDeviceVendor"++instance ToJSON VTLDevice where+ toJSON VTLDevice{..} = object+ [ "VTLDeviceARN" .= _vtldVTLDeviceARN+ , "VTLDeviceType" .= _vtldVTLDeviceType+ , "VTLDeviceVendor" .= _vtldVTLDeviceVendor+ , "VTLDeviceProductIdentifier" .= _vtldVTLDeviceProductIdentifier+ , "DeviceiSCSIAttributes" .= _vtldDeviceiSCSIAttributes+ ]++data TapeRecoveryPointInfo = TapeRecoveryPointInfo+ { _trpiTapeARN :: Maybe Text+ , _trpiTapeRecoveryPointTime :: Maybe RFC822+ , _trpiTapeSizeInBytes :: Maybe Nat+ , _trpiTapeStatus :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'TapeRecoveryPointInfo' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'trpiTapeARN' @::@ 'Maybe' 'Text'+--+-- * 'trpiTapeRecoveryPointTime' @::@ 'Maybe' 'UTCTime'+--+-- * 'trpiTapeSizeInBytes' @::@ 'Maybe' 'Natural'+--+-- * 'trpiTapeStatus' @::@ 'Maybe' 'Text'+--+tapeRecoveryPointInfo :: TapeRecoveryPointInfo+tapeRecoveryPointInfo = TapeRecoveryPointInfo+ { _trpiTapeARN = Nothing+ , _trpiTapeRecoveryPointTime = Nothing+ , _trpiTapeSizeInBytes = Nothing+ , _trpiTapeStatus = Nothing+ }++-- | The Amazon Resource Name (ARN) of the virtual tape.+trpiTapeARN :: Lens' TapeRecoveryPointInfo (Maybe Text)+trpiTapeARN = lens _trpiTapeARN (\s a -> s { _trpiTapeARN = a })++-- | The time when the point-in-time view of the virtual tape was replicated+-- for later recovery. The string format of the tape recovery point time is+-- in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.+trpiTapeRecoveryPointTime :: Lens' TapeRecoveryPointInfo (Maybe UTCTime)+trpiTapeRecoveryPointTime =+ lens _trpiTapeRecoveryPointTime+ (\s a -> s { _trpiTapeRecoveryPointTime = a })+ . mapping _Time++-- | The size, in bytes, of the virtual tapes to recover.+trpiTapeSizeInBytes :: Lens' TapeRecoveryPointInfo (Maybe Natural)+trpiTapeSizeInBytes =+ lens _trpiTapeSizeInBytes (\s a -> s { _trpiTapeSizeInBytes = a })+ . mapping _Nat++trpiTapeStatus :: Lens' TapeRecoveryPointInfo (Maybe Text)+trpiTapeStatus = lens _trpiTapeStatus (\s a -> s { _trpiTapeStatus = a })++instance FromJSON TapeRecoveryPointInfo where+ parseJSON = withObject "TapeRecoveryPointInfo" $ \o -> TapeRecoveryPointInfo+ <$> o .:? "TapeARN"+ <*> o .:? "TapeRecoveryPointTime"+ <*> o .:? "TapeSizeInBytes"+ <*> o .:? "TapeStatus"++instance ToJSON TapeRecoveryPointInfo where+ toJSON TapeRecoveryPointInfo{..} = object+ [ "TapeARN" .= _trpiTapeARN+ , "TapeRecoveryPointTime" .= _trpiTapeRecoveryPointTime+ , "TapeSizeInBytes" .= _trpiTapeSizeInBytes+ , "TapeStatus" .= _trpiTapeStatus+ ]++data VolumeRecoveryPointInfo = VolumeRecoveryPointInfo+ { _vrpiVolumeARN :: Maybe Text+ , _vrpiVolumeRecoveryPointTime :: Maybe Text+ , _vrpiVolumeSizeInBytes :: Maybe Integer+ , _vrpiVolumeUsageInBytes :: Maybe Integer+ } deriving (Eq, Ord, Show)++-- | 'VolumeRecoveryPointInfo' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'vrpiVolumeARN' @::@ 'Maybe' 'Text'+--+-- * 'vrpiVolumeRecoveryPointTime' @::@ 'Maybe' 'Text'+--+-- * 'vrpiVolumeSizeInBytes' @::@ 'Maybe' 'Integer'+--+-- * 'vrpiVolumeUsageInBytes' @::@ 'Maybe' 'Integer'+--+volumeRecoveryPointInfo :: VolumeRecoveryPointInfo+volumeRecoveryPointInfo = VolumeRecoveryPointInfo+ { _vrpiVolumeARN = Nothing+ , _vrpiVolumeSizeInBytes = Nothing+ , _vrpiVolumeUsageInBytes = Nothing+ , _vrpiVolumeRecoveryPointTime = Nothing+ }++vrpiVolumeARN :: Lens' VolumeRecoveryPointInfo (Maybe Text)+vrpiVolumeARN = lens _vrpiVolumeARN (\s a -> s { _vrpiVolumeARN = a })++vrpiVolumeRecoveryPointTime :: Lens' VolumeRecoveryPointInfo (Maybe Text)+vrpiVolumeRecoveryPointTime =+ lens _vrpiVolumeRecoveryPointTime+ (\s a -> s { _vrpiVolumeRecoveryPointTime = a })++vrpiVolumeSizeInBytes :: Lens' VolumeRecoveryPointInfo (Maybe Integer)+vrpiVolumeSizeInBytes =+ lens _vrpiVolumeSizeInBytes (\s a -> s { _vrpiVolumeSizeInBytes = a })++vrpiVolumeUsageInBytes :: Lens' VolumeRecoveryPointInfo (Maybe Integer)+vrpiVolumeUsageInBytes =+ lens _vrpiVolumeUsageInBytes (\s a -> s { _vrpiVolumeUsageInBytes = a })++instance FromJSON VolumeRecoveryPointInfo where+ parseJSON = withObject "VolumeRecoveryPointInfo" $ \o -> VolumeRecoveryPointInfo+ <$> o .:? "VolumeARN"+ <*> o .:? "VolumeRecoveryPointTime"+ <*> o .:? "VolumeSizeInBytes"+ <*> o .:? "VolumeUsageInBytes"++instance ToJSON VolumeRecoveryPointInfo where+ toJSON VolumeRecoveryPointInfo{..} = object+ [ "VolumeARN" .= _vrpiVolumeARN+ , "VolumeSizeInBytes" .= _vrpiVolumeSizeInBytes+ , "VolumeUsageInBytes" .= _vrpiVolumeUsageInBytes+ , "VolumeRecoveryPointTime" .= _vrpiVolumeRecoveryPointTime+ ]++data TapeArchive = TapeArchive+ { _taCompletionTime :: Maybe RFC822+ , _taRetrievedTo :: Maybe Text+ , _taTapeARN :: Maybe Text+ , _taTapeBarcode :: Maybe Text+ , _taTapeSizeInBytes :: Maybe Nat+ , _taTapeStatus :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'TapeArchive' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'taCompletionTime' @::@ 'Maybe' 'UTCTime'+--+-- * 'taRetrievedTo' @::@ 'Maybe' 'Text'+--+-- * 'taTapeARN' @::@ 'Maybe' 'Text'+--+-- * 'taTapeBarcode' @::@ 'Maybe' 'Text'+--+-- * 'taTapeSizeInBytes' @::@ 'Maybe' 'Natural'+--+-- * 'taTapeStatus' @::@ 'Maybe' 'Text'+--+tapeArchive :: TapeArchive+tapeArchive = TapeArchive+ { _taTapeARN = Nothing+ , _taTapeBarcode = Nothing+ , _taTapeSizeInBytes = Nothing+ , _taCompletionTime = Nothing+ , _taRetrievedTo = Nothing+ , _taTapeStatus = Nothing+ }++-- | The time that the archiving of the virtual tape was completed. The string+-- format of the completion time is in the ISO8601 extended+-- YYYY-MM-DD'T'HH:MM:SS'Z' format.+taCompletionTime :: Lens' TapeArchive (Maybe UTCTime)+taCompletionTime = lens _taCompletionTime (\s a -> s { _taCompletionTime = a }) . mapping _Time++-- | The Amazon Resource Name (ARN) of the gateway-VTL that the virtual tape+-- is being retrieved to. The virtual tape is retrieved from the virtual+-- tape shelf (VTS).+taRetrievedTo :: Lens' TapeArchive (Maybe Text)+taRetrievedTo = lens _taRetrievedTo (\s a -> s { _taRetrievedTo = a })++-- | The Amazon Resource Name (ARN) of an archived virtual tape.+taTapeARN :: Lens' TapeArchive (Maybe Text)+taTapeARN = lens _taTapeARN (\s a -> s { _taTapeARN = a })++-- | The barcode that identifies the archived virtual tape.+taTapeBarcode :: Lens' TapeArchive (Maybe Text)+taTapeBarcode = lens _taTapeBarcode (\s a -> s { _taTapeBarcode = a })++-- | The size, in bytes, of the archived virtual tape.+taTapeSizeInBytes :: Lens' TapeArchive (Maybe Natural)+taTapeSizeInBytes =+ lens _taTapeSizeInBytes (\s a -> s { _taTapeSizeInBytes = a })+ . mapping _Nat++-- | The current state of the archived virtual tape.+taTapeStatus :: Lens' TapeArchive (Maybe Text)+taTapeStatus = lens _taTapeStatus (\s a -> s { _taTapeStatus = a })++instance FromJSON TapeArchive where+ parseJSON = withObject "TapeArchive" $ \o -> TapeArchive+ <$> o .:? "CompletionTime"+ <*> o .:? "RetrievedTo"+ <*> o .:? "TapeARN"+ <*> o .:? "TapeBarcode"+ <*> o .:? "TapeSizeInBytes"+ <*> o .:? "TapeStatus"++instance ToJSON TapeArchive where+ toJSON TapeArchive{..} = object+ [ "TapeARN" .= _taTapeARN+ , "TapeBarcode" .= _taTapeBarcode+ , "TapeSizeInBytes" .= _taTapeSizeInBytes+ , "CompletionTime" .= _taCompletionTime+ , "RetrievedTo" .= _taRetrievedTo+ , "TapeStatus" .= _taTapeStatus+ ]++data ErrorCode+ = ActivationKeyExpired -- ^ ActivationKeyExpired+ | ActivationKeyInvalid -- ^ ActivationKeyInvalid+ | ActivationKeyNotFound -- ^ ActivationKeyNotFound+ | AuthenticationFailure -- ^ AuthenticationFailure+ | BandwidthThrottleScheduleNotFound -- ^ BandwidthThrottleScheduleNotFound+ | Blocked -- ^ Blocked+ | CannotExportSnapshot -- ^ CannotExportSnapshot+ | ChapCredentialNotFound -- ^ ChapCredentialNotFound+ | DiskAlreadyAllocated -- ^ DiskAlreadyAllocated+ | DiskDoesNotExist -- ^ DiskDoesNotExist+ | DiskSizeGreaterThanVolumeMaxSize -- ^ DiskSizeGreaterThanVolumeMaxSize+ | DiskSizeLessThanVolumeSize -- ^ DiskSizeLessThanVolumeSize+ | DiskSizeNotGigAligned -- ^ DiskSizeNotGigAligned+ | DuplicateCertificateInfo -- ^ DuplicateCertificateInfo+ | DuplicateSchedule -- ^ DuplicateSchedule+ | EndpointNotFound -- ^ EndpointNotFound+ | GatewayInternalError -- ^ GatewayInternalError+ | GatewayNotConnected -- ^ GatewayNotConnected+ | GatewayNotFound -- ^ GatewayNotFound+ | GatewayProxyNetworkConnectionBusy -- ^ GatewayProxyNetworkConnectionBusy+ | IAMNotSupported -- ^ IAMNotSupported+ | InitiatorInvalid -- ^ InitiatorInvalid+ | InitiatorNotFound -- ^ InitiatorNotFound+ | InternalError -- ^ InternalError+ | InvalidEndpoint -- ^ InvalidEndpoint+ | InvalidGateway -- ^ InvalidGateway+ | InvalidParameters -- ^ InvalidParameters+ | InvalidSchedule -- ^ InvalidSchedule+ | LocalStorageLimitExceeded -- ^ LocalStorageLimitExceeded+ | LunAlreadyAllocated -- ^ LunAlreadyAllocated + | LunInvalid -- ^ LunInvalid+ | MaximumContentLengthExceeded -- ^ MaximumContentLengthExceeded+ | MaximumTapeCartridgeCountExceeded -- ^ MaximumTapeCartridgeCountExceeded+ | MaximumVolumeCountExceeded -- ^ MaximumVolumeCountExceeded+ | NetworkConfigurationChanged -- ^ NetworkConfigurationChanged+ | NoDisksAvailable -- ^ NoDisksAvailable+ | NotImplemented -- ^ NotImplemented+ | NotSupported -- ^ NotSupported+ | OperationAborted -- ^ OperationAborted+ | OutdatedGateway -- ^ OutdatedGateway+ | ParametersNotImplemented -- ^ ParametersNotImplemented+ | RegionInvalid -- ^ RegionInvalid+ | RequestTimeout -- ^ RequestTimeout+ | ServiceUnavailable -- ^ ServiceUnavailable+ | SnapshotDeleted -- ^ SnapshotDeleted+ | SnapshotIdInvalid -- ^ SnapshotIdInvalid+ | SnapshotInProgress -- ^ SnapshotInProgress+ | SnapshotNotFound -- ^ SnapshotNotFound+ | SnapshotScheduleNotFound -- ^ SnapshotScheduleNotFound+ | StagingAreaFull -- ^ StagingAreaFull+ | StorageFailure -- ^ StorageFailure+ | TapeCartridgeNotFound -- ^ TapeCartridgeNotFound+ | TargetAlreadyExists -- ^ TargetAlreadyExists+ | TargetInvalid -- ^ TargetInvalid+ | TargetNotFound -- ^ TargetNotFound+ | UnauthorizedOperation -- ^ UnauthorizedOperation+ | VolumeAlreadyExists -- ^ VolumeAlreadyExists+ | VolumeIdInvalid -- ^ VolumeIdInvalid+ | VolumeInUse -- ^ VolumeInUse+ | VolumeNotFound -- ^ VolumeNotFound+ | VolumeNotReady -- ^ VolumeNotReady+ deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable ErrorCode++instance FromText ErrorCode where+ parser = match "ActivationKeyExpired" ActivationKeyExpired+ <|> match "ActivationKeyInvalid" ActivationKeyInvalid+ <|> match "ActivationKeyNotFound" ActivationKeyNotFound+ <|> match "AuthenticationFailure" AuthenticationFailure+ <|> match "BandwidthThrottleScheduleNotFound" BandwidthThrottleScheduleNotFound+ <|> match "Blocked" Blocked+ <|> match "CannotExportSnapshot" CannotExportSnapshot+ <|> match "ChapCredentialNotFound" ChapCredentialNotFound+ <|> match "DiskAlreadyAllocated" DiskAlreadyAllocated+ <|> match "DiskDoesNotExist" DiskDoesNotExist+ <|> match "DiskSizeGreaterThanVolumeMaxSize" DiskSizeGreaterThanVolumeMaxSize+ <|> match "DiskSizeLessThanVolumeSize" DiskSizeLessThanVolumeSize+ <|> match "DiskSizeNotGigAligned" DiskSizeNotGigAligned+ <|> match "DuplicateCertificateInfo" DuplicateCertificateInfo+ <|> match "DuplicateSchedule" DuplicateSchedule+ <|> match "EndpointNotFound" EndpointNotFound+ <|> match "GatewayInternalError" GatewayInternalError+ <|> match "GatewayNotConnected" GatewayNotConnected+ <|> match "GatewayNotFound" GatewayNotFound+ <|> match "GatewayProxyNetworkConnectionBusy" GatewayProxyNetworkConnectionBusy+ <|> match "IAMNotSupported" IAMNotSupported+ <|> match "InitiatorInvalid" InitiatorInvalid+ <|> match "InitiatorNotFound" InitiatorNotFound+ <|> match "InternalError" InternalError+ <|> match "InvalidEndpoint" InvalidEndpoint+ <|> match "InvalidGateway" InvalidGateway+ <|> match "InvalidParameters" InvalidParameters+ <|> match "InvalidSchedule" InvalidSchedule+ <|> match "LocalStorageLimitExceeded" LocalStorageLimitExceeded+ <|> match "LunAlreadyAllocated " LunAlreadyAllocated+ <|> match "LunInvalid" LunInvalid+ <|> match "MaximumContentLengthExceeded" MaximumContentLengthExceeded+ <|> match "MaximumTapeCartridgeCountExceeded" MaximumTapeCartridgeCountExceeded+ <|> match "MaximumVolumeCountExceeded" MaximumVolumeCountExceeded+ <|> match "NetworkConfigurationChanged" NetworkConfigurationChanged+ <|> match "NoDisksAvailable" NoDisksAvailable+ <|> match "NotImplemented" NotImplemented+ <|> match "NotSupported" NotSupported+ <|> match "OperationAborted" OperationAborted+ <|> match "OutdatedGateway" OutdatedGateway+ <|> match "ParametersNotImplemented" ParametersNotImplemented+ <|> match "RegionInvalid" RegionInvalid+ <|> match "RequestTimeout" RequestTimeout+ <|> match "ServiceUnavailable" ServiceUnavailable+ <|> match "SnapshotDeleted" SnapshotDeleted+ <|> match "SnapshotIdInvalid" SnapshotIdInvalid+ <|> match "SnapshotInProgress" SnapshotInProgress+ <|> match "SnapshotNotFound" SnapshotNotFound+ <|> match "SnapshotScheduleNotFound" SnapshotScheduleNotFound+ <|> match "StagingAreaFull" StagingAreaFull+ <|> match "StorageFailure" StorageFailure+ <|> match "TapeCartridgeNotFound" TapeCartridgeNotFound+ <|> match "TargetAlreadyExists" TargetAlreadyExists+ <|> match "TargetInvalid" TargetInvalid+ <|> match "TargetNotFound" TargetNotFound+ <|> match "UnauthorizedOperation" UnauthorizedOperation+ <|> match "VolumeAlreadyExists" VolumeAlreadyExists+ <|> match "VolumeIdInvalid" VolumeIdInvalid+ <|> match "VolumeInUse" VolumeInUse+ <|> match "VolumeNotFound" VolumeNotFound+ <|> match "VolumeNotReady" VolumeNotReady++instance ToText ErrorCode where+ toText = \case+ ActivationKeyExpired -> "ActivationKeyExpired"+ ActivationKeyInvalid -> "ActivationKeyInvalid"+ ActivationKeyNotFound -> "ActivationKeyNotFound"+ AuthenticationFailure -> "AuthenticationFailure"+ BandwidthThrottleScheduleNotFound -> "BandwidthThrottleScheduleNotFound"+ Blocked -> "Blocked"+ CannotExportSnapshot -> "CannotExportSnapshot"+ ChapCredentialNotFound -> "ChapCredentialNotFound"+ DiskAlreadyAllocated -> "DiskAlreadyAllocated"+ DiskDoesNotExist -> "DiskDoesNotExist"+ DiskSizeGreaterThanVolumeMaxSize -> "DiskSizeGreaterThanVolumeMaxSize"+ DiskSizeLessThanVolumeSize -> "DiskSizeLessThanVolumeSize"+ DiskSizeNotGigAligned -> "DiskSizeNotGigAligned"+ DuplicateCertificateInfo -> "DuplicateCertificateInfo"+ DuplicateSchedule -> "DuplicateSchedule"+ EndpointNotFound -> "EndpointNotFound"+ GatewayInternalError -> "GatewayInternalError"+ GatewayNotConnected -> "GatewayNotConnected"+ GatewayNotFound -> "GatewayNotFound"+ GatewayProxyNetworkConnectionBusy -> "GatewayProxyNetworkConnectionBusy"+ IAMNotSupported -> "IAMNotSupported"+ InitiatorInvalid -> "InitiatorInvalid"+ InitiatorNotFound -> "InitiatorNotFound"+ InternalError -> "InternalError"+ InvalidEndpoint -> "InvalidEndpoint"+ InvalidGateway -> "InvalidGateway"+ InvalidParameters -> "InvalidParameters"+ InvalidSchedule -> "InvalidSchedule"+ LocalStorageLimitExceeded -> "LocalStorageLimitExceeded"+ LunAlreadyAllocated -> "LunAlreadyAllocated "+ LunInvalid -> "LunInvalid"+ MaximumContentLengthExceeded -> "MaximumContentLengthExceeded"+ MaximumTapeCartridgeCountExceeded -> "MaximumTapeCartridgeCountExceeded"+ MaximumVolumeCountExceeded -> "MaximumVolumeCountExceeded"+ NetworkConfigurationChanged -> "NetworkConfigurationChanged"+ NoDisksAvailable -> "NoDisksAvailable"+ NotImplemented -> "NotImplemented"+ NotSupported -> "NotSupported"+ OperationAborted -> "OperationAborted"+ OutdatedGateway -> "OutdatedGateway"+ ParametersNotImplemented -> "ParametersNotImplemented"+ RegionInvalid -> "RegionInvalid"+ RequestTimeout -> "RequestTimeout"+ ServiceUnavailable -> "ServiceUnavailable"+ SnapshotDeleted -> "SnapshotDeleted"+ SnapshotIdInvalid -> "SnapshotIdInvalid"+ SnapshotInProgress -> "SnapshotInProgress"+ SnapshotNotFound -> "SnapshotNotFound"+ SnapshotScheduleNotFound -> "SnapshotScheduleNotFound"+ StagingAreaFull -> "StagingAreaFull"+ StorageFailure -> "StorageFailure"+ TapeCartridgeNotFound -> "TapeCartridgeNotFound"+ TargetAlreadyExists -> "TargetAlreadyExists"+ TargetInvalid -> "TargetInvalid"+ TargetNotFound -> "TargetNotFound"+ UnauthorizedOperation -> "UnauthorizedOperation"+ VolumeAlreadyExists -> "VolumeAlreadyExists"+ VolumeIdInvalid -> "VolumeIdInvalid"+ VolumeInUse -> "VolumeInUse"+ VolumeNotFound -> "VolumeNotFound"+ VolumeNotReady -> "VolumeNotReady"++instance FromJSON ErrorCode where+ parseJSON = parseJSONText "ErrorCode"++instance ToJSON ErrorCode where+ toJSON = toJSONText++data StorediSCSIVolume = StorediSCSIVolume+ { _sscsivPreservedExistingData :: Maybe Bool+ , _sscsivSourceSnapshotId :: Maybe Text+ , _sscsivVolumeARN :: Maybe Text+ , _sscsivVolumeDiskId :: Maybe Text+ , _sscsivVolumeId :: Maybe Text+ , _sscsivVolumeProgress :: Maybe Double+ , _sscsivVolumeSizeInBytes :: Maybe Integer+ , _sscsivVolumeStatus :: Maybe Text+ , _sscsivVolumeType :: Maybe Text+ , _sscsivVolumeiSCSIAttributes :: Maybe VolumeiSCSIAttributes+ } deriving (Eq, Show)++-- | 'StorediSCSIVolume' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'sscsivPreservedExistingData' @::@ 'Maybe' 'Bool'+--+-- * 'sscsivSourceSnapshotId' @::@ 'Maybe' 'Text'+--+-- * 'sscsivVolumeARN' @::@ 'Maybe' 'Text'+--+-- * 'sscsivVolumeDiskId' @::@ 'Maybe' 'Text'+--+-- * 'sscsivVolumeId' @::@ 'Maybe' 'Text'+--+-- * 'sscsivVolumeProgress' @::@ 'Maybe' 'Double'+--+-- * 'sscsivVolumeSizeInBytes' @::@ 'Maybe' 'Integer'+--+-- * 'sscsivVolumeStatus' @::@ 'Maybe' 'Text'+--+-- * 'sscsivVolumeType' @::@ 'Maybe' 'Text'+--+-- * 'sscsivVolumeiSCSIAttributes' @::@ 'Maybe' 'VolumeiSCSIAttributes'+--+storediSCSIVolume :: StorediSCSIVolume+storediSCSIVolume = StorediSCSIVolume+ { _sscsivVolumeARN = Nothing+ , _sscsivVolumeId = Nothing+ , _sscsivVolumeType = Nothing+ , _sscsivVolumeStatus = Nothing+ , _sscsivVolumeSizeInBytes = Nothing+ , _sscsivVolumeProgress = Nothing+ , _sscsivVolumeDiskId = Nothing+ , _sscsivSourceSnapshotId = Nothing+ , _sscsivPreservedExistingData = Nothing+ , _sscsivVolumeiSCSIAttributes = Nothing+ }++sscsivPreservedExistingData :: Lens' StorediSCSIVolume (Maybe Bool)+sscsivPreservedExistingData =+ lens _sscsivPreservedExistingData+ (\s a -> s { _sscsivPreservedExistingData = a })++sscsivSourceSnapshotId :: Lens' StorediSCSIVolume (Maybe Text)+sscsivSourceSnapshotId =+ lens _sscsivSourceSnapshotId (\s a -> s { _sscsivSourceSnapshotId = a })++sscsivVolumeARN :: Lens' StorediSCSIVolume (Maybe Text)+sscsivVolumeARN = lens _sscsivVolumeARN (\s a -> s { _sscsivVolumeARN = a })++sscsivVolumeDiskId :: Lens' StorediSCSIVolume (Maybe Text)+sscsivVolumeDiskId =+ lens _sscsivVolumeDiskId (\s a -> s { _sscsivVolumeDiskId = a })++sscsivVolumeId :: Lens' StorediSCSIVolume (Maybe Text)+sscsivVolumeId = lens _sscsivVolumeId (\s a -> s { _sscsivVolumeId = a })++sscsivVolumeProgress :: Lens' StorediSCSIVolume (Maybe Double)+sscsivVolumeProgress =+ lens _sscsivVolumeProgress (\s a -> s { _sscsivVolumeProgress = a })++sscsivVolumeSizeInBytes :: Lens' StorediSCSIVolume (Maybe Integer)+sscsivVolumeSizeInBytes =+ lens _sscsivVolumeSizeInBytes (\s a -> s { _sscsivVolumeSizeInBytes = a })++sscsivVolumeStatus :: Lens' StorediSCSIVolume (Maybe Text)+sscsivVolumeStatus =+ lens _sscsivVolumeStatus (\s a -> s { _sscsivVolumeStatus = a })++sscsivVolumeType :: Lens' StorediSCSIVolume (Maybe Text)+sscsivVolumeType = lens _sscsivVolumeType (\s a -> s { _sscsivVolumeType = a })++sscsivVolumeiSCSIAttributes :: Lens' StorediSCSIVolume (Maybe VolumeiSCSIAttributes)+sscsivVolumeiSCSIAttributes =+ lens _sscsivVolumeiSCSIAttributes+ (\s a -> s { _sscsivVolumeiSCSIAttributes = a })++instance FromJSON StorediSCSIVolume where+ parseJSON = withObject "StorediSCSIVolume" $ \o -> StorediSCSIVolume+ <$> o .:? "PreservedExistingData"+ <*> o .:? "SourceSnapshotId"+ <*> o .:? "VolumeARN"+ <*> o .:? "VolumeDiskId"+ <*> o .:? "VolumeId"+ <*> o .:? "VolumeProgress"+ <*> o .:? "VolumeSizeInBytes"+ <*> o .:? "VolumeStatus"+ <*> o .:? "VolumeType"+ <*> o .:? "VolumeiSCSIAttributes"++instance ToJSON StorediSCSIVolume where+ toJSON StorediSCSIVolume{..} = object+ [ "VolumeARN" .= _sscsivVolumeARN+ , "VolumeId" .= _sscsivVolumeId+ , "VolumeType" .= _sscsivVolumeType+ , "VolumeStatus" .= _sscsivVolumeStatus+ , "VolumeSizeInBytes" .= _sscsivVolumeSizeInBytes+ , "VolumeProgress" .= _sscsivVolumeProgress+ , "VolumeDiskId" .= _sscsivVolumeDiskId+ , "SourceSnapshotId" .= _sscsivSourceSnapshotId+ , "PreservedExistingData" .= _sscsivPreservedExistingData+ , "VolumeiSCSIAttributes" .= _sscsivVolumeiSCSIAttributes+ ]++data CachediSCSIVolume = CachediSCSIVolume+ { _cscsivSourceSnapshotId :: Maybe Text+ , _cscsivVolumeARN :: Maybe Text+ , _cscsivVolumeId :: Maybe Text+ , _cscsivVolumeProgress :: Maybe Double+ , _cscsivVolumeSizeInBytes :: Maybe Integer+ , _cscsivVolumeStatus :: Maybe Text+ , _cscsivVolumeType :: Maybe Text+ , _cscsivVolumeiSCSIAttributes :: Maybe VolumeiSCSIAttributes+ } deriving (Eq, Show)++-- | 'CachediSCSIVolume' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cscsivSourceSnapshotId' @::@ 'Maybe' 'Text'+--+-- * 'cscsivVolumeARN' @::@ 'Maybe' 'Text'+--+-- * 'cscsivVolumeId' @::@ 'Maybe' 'Text'+--+-- * 'cscsivVolumeProgress' @::@ 'Maybe' 'Double'+--+-- * 'cscsivVolumeSizeInBytes' @::@ 'Maybe' 'Integer'+--+-- * 'cscsivVolumeStatus' @::@ 'Maybe' 'Text'+--+-- * 'cscsivVolumeType' @::@ 'Maybe' 'Text'+--+-- * 'cscsivVolumeiSCSIAttributes' @::@ 'Maybe' 'VolumeiSCSIAttributes'+--+cachediSCSIVolume :: CachediSCSIVolume+cachediSCSIVolume = CachediSCSIVolume+ { _cscsivVolumeARN = Nothing+ , _cscsivVolumeId = Nothing+ , _cscsivVolumeType = Nothing+ , _cscsivVolumeStatus = Nothing+ , _cscsivVolumeSizeInBytes = Nothing+ , _cscsivVolumeProgress = Nothing+ , _cscsivSourceSnapshotId = Nothing+ , _cscsivVolumeiSCSIAttributes = Nothing+ }++cscsivSourceSnapshotId :: Lens' CachediSCSIVolume (Maybe Text)+cscsivSourceSnapshotId =+ lens _cscsivSourceSnapshotId (\s a -> s { _cscsivSourceSnapshotId = a })++cscsivVolumeARN :: Lens' CachediSCSIVolume (Maybe Text)+cscsivVolumeARN = lens _cscsivVolumeARN (\s a -> s { _cscsivVolumeARN = a })++cscsivVolumeId :: Lens' CachediSCSIVolume (Maybe Text)+cscsivVolumeId = lens _cscsivVolumeId (\s a -> s { _cscsivVolumeId = a })++cscsivVolumeProgress :: Lens' CachediSCSIVolume (Maybe Double)+cscsivVolumeProgress =+ lens _cscsivVolumeProgress (\s a -> s { _cscsivVolumeProgress = a })++cscsivVolumeSizeInBytes :: Lens' CachediSCSIVolume (Maybe Integer)+cscsivVolumeSizeInBytes =+ lens _cscsivVolumeSizeInBytes (\s a -> s { _cscsivVolumeSizeInBytes = a })++cscsivVolumeStatus :: Lens' CachediSCSIVolume (Maybe Text)+cscsivVolumeStatus =+ lens _cscsivVolumeStatus (\s a -> s { _cscsivVolumeStatus = a })++cscsivVolumeType :: Lens' CachediSCSIVolume (Maybe Text)+cscsivVolumeType = lens _cscsivVolumeType (\s a -> s { _cscsivVolumeType = a })++cscsivVolumeiSCSIAttributes :: Lens' CachediSCSIVolume (Maybe VolumeiSCSIAttributes)+cscsivVolumeiSCSIAttributes =+ lens _cscsivVolumeiSCSIAttributes+ (\s a -> s { _cscsivVolumeiSCSIAttributes = a })++instance FromJSON CachediSCSIVolume where+ parseJSON = withObject "CachediSCSIVolume" $ \o -> CachediSCSIVolume+ <$> o .:? "SourceSnapshotId"+ <*> o .:? "VolumeARN"+ <*> o .:? "VolumeId"+ <*> o .:? "VolumeProgress"+ <*> o .:? "VolumeSizeInBytes"+ <*> o .:? "VolumeStatus"+ <*> o .:? "VolumeType"+ <*> o .:? "VolumeiSCSIAttributes"++instance ToJSON CachediSCSIVolume where+ toJSON CachediSCSIVolume{..} = object+ [ "VolumeARN" .= _cscsivVolumeARN+ , "VolumeId" .= _cscsivVolumeId+ , "VolumeType" .= _cscsivVolumeType+ , "VolumeStatus" .= _cscsivVolumeStatus+ , "VolumeSizeInBytes" .= _cscsivVolumeSizeInBytes+ , "VolumeProgress" .= _cscsivVolumeProgress+ , "SourceSnapshotId" .= _cscsivSourceSnapshotId+ , "VolumeiSCSIAttributes" .= _cscsivVolumeiSCSIAttributes+ ]++data VolumeInfo = VolumeInfo+ { _viVolumeARN :: Maybe Text+ , _viVolumeType :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'VolumeInfo' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'viVolumeARN' @::@ 'Maybe' 'Text'+--+-- * 'viVolumeType' @::@ 'Maybe' 'Text'+--+volumeInfo :: VolumeInfo+volumeInfo = VolumeInfo+ { _viVolumeARN = Nothing+ , _viVolumeType = Nothing+ }++viVolumeARN :: Lens' VolumeInfo (Maybe Text)+viVolumeARN = lens _viVolumeARN (\s a -> s { _viVolumeARN = a })++viVolumeType :: Lens' VolumeInfo (Maybe Text)+viVolumeType = lens _viVolumeType (\s a -> s { _viVolumeType = a })++instance FromJSON VolumeInfo where+ parseJSON = withObject "VolumeInfo" $ \o -> VolumeInfo+ <$> o .:? "VolumeARN"+ <*> o .:? "VolumeType"++instance ToJSON VolumeInfo where+ toJSON VolumeInfo{..} = object+ [ "VolumeARN" .= _viVolumeARN+ , "VolumeType" .= _viVolumeType+ ]++data GatewayInfo = GatewayInfo+ { _giGatewayARN :: Maybe Text+ , _giGatewayOperationalState :: Maybe Text+ , _giGatewayType :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'GatewayInfo' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'giGatewayARN' @::@ 'Maybe' 'Text'+--+-- * 'giGatewayOperationalState' @::@ 'Maybe' 'Text'+--+-- * 'giGatewayType' @::@ 'Maybe' 'Text'+--+gatewayInfo :: GatewayInfo+gatewayInfo = GatewayInfo+ { _giGatewayARN = Nothing+ , _giGatewayType = Nothing+ , _giGatewayOperationalState = Nothing+ }++giGatewayARN :: Lens' GatewayInfo (Maybe Text)+giGatewayARN = lens _giGatewayARN (\s a -> s { _giGatewayARN = a })++giGatewayOperationalState :: Lens' GatewayInfo (Maybe Text)+giGatewayOperationalState =+ lens _giGatewayOperationalState+ (\s a -> s { _giGatewayOperationalState = a })++giGatewayType :: Lens' GatewayInfo (Maybe Text)+giGatewayType = lens _giGatewayType (\s a -> s { _giGatewayType = a })++instance FromJSON GatewayInfo where+ parseJSON = withObject "GatewayInfo" $ \o -> GatewayInfo+ <$> o .:? "GatewayARN"+ <*> o .:? "GatewayOperationalState"+ <*> o .:? "GatewayType"++instance ToJSON GatewayInfo where+ toJSON GatewayInfo{..} = object+ [ "GatewayARN" .= _giGatewayARN+ , "GatewayType" .= _giGatewayType+ , "GatewayOperationalState" .= _giGatewayOperationalState+ ]
+ gen/Network/AWS/StorageGateway/UpdateBandwidthRateLimit.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.UpdateBandwidthRateLimit+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation updates the bandwidth rate limits of a gateway. You can+-- update both the upload and download bandwidth rate limit or specify only+-- one of the two. If you don't set a bandwidth rate limit, the existing rate+-- limit remains. By default, a gateway's bandwidth rate limits are not set.+-- If you don't set any limit, the gateway does not have any limitations on+-- its bandwidth usage and could potentially use the maximum available+-- bandwidth. To specify which gateway to update, use the Amazon Resource Name+-- (ARN) of the gateway in your request.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_UpdateBandwidthRateLimit.html>+module Network.AWS.StorageGateway.UpdateBandwidthRateLimit+ (+ -- * Request+ UpdateBandwidthRateLimit+ -- ** Request constructor+ , updateBandwidthRateLimit+ -- ** Request lenses+ , ubrlAverageDownloadRateLimitInBitsPerSec+ , ubrlAverageUploadRateLimitInBitsPerSec+ , ubrlGatewayARN++ -- * Response+ , UpdateBandwidthRateLimitResponse+ -- ** Response constructor+ , updateBandwidthRateLimitResponse+ -- ** Response lenses+ , ubrlrGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data UpdateBandwidthRateLimit = UpdateBandwidthRateLimit+ { _ubrlAverageDownloadRateLimitInBitsPerSec :: Maybe Nat+ , _ubrlAverageUploadRateLimitInBitsPerSec :: Maybe Nat+ , _ubrlGatewayARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'UpdateBandwidthRateLimit' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ubrlAverageDownloadRateLimitInBitsPerSec' @::@ 'Maybe' 'Natural'+--+-- * 'ubrlAverageUploadRateLimitInBitsPerSec' @::@ 'Maybe' 'Natural'+--+-- * 'ubrlGatewayARN' @::@ 'Text'+--+updateBandwidthRateLimit :: Text -- ^ 'ubrlGatewayARN'+ -> UpdateBandwidthRateLimit+updateBandwidthRateLimit p1 = UpdateBandwidthRateLimit+ { _ubrlGatewayARN = p1+ , _ubrlAverageUploadRateLimitInBitsPerSec = Nothing+ , _ubrlAverageDownloadRateLimitInBitsPerSec = Nothing+ }++-- | The average download bandwidth rate limit in bits per second.+ubrlAverageDownloadRateLimitInBitsPerSec :: Lens' UpdateBandwidthRateLimit (Maybe Natural)+ubrlAverageDownloadRateLimitInBitsPerSec =+ lens _ubrlAverageDownloadRateLimitInBitsPerSec+ (\s a -> s { _ubrlAverageDownloadRateLimitInBitsPerSec = a })+ . mapping _Nat++-- | The average upload bandwidth rate limit in bits per second.+ubrlAverageUploadRateLimitInBitsPerSec :: Lens' UpdateBandwidthRateLimit (Maybe Natural)+ubrlAverageUploadRateLimitInBitsPerSec =+ lens _ubrlAverageUploadRateLimitInBitsPerSec+ (\s a -> s { _ubrlAverageUploadRateLimitInBitsPerSec = a })+ . mapping _Nat++ubrlGatewayARN :: Lens' UpdateBandwidthRateLimit Text+ubrlGatewayARN = lens _ubrlGatewayARN (\s a -> s { _ubrlGatewayARN = a })++newtype UpdateBandwidthRateLimitResponse = UpdateBandwidthRateLimitResponse+ { _ubrlrGatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'UpdateBandwidthRateLimitResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ubrlrGatewayARN' @::@ 'Maybe' 'Text'+--+updateBandwidthRateLimitResponse :: UpdateBandwidthRateLimitResponse+updateBandwidthRateLimitResponse = UpdateBandwidthRateLimitResponse+ { _ubrlrGatewayARN = Nothing+ }++ubrlrGatewayARN :: Lens' UpdateBandwidthRateLimitResponse (Maybe Text)+ubrlrGatewayARN = lens _ubrlrGatewayARN (\s a -> s { _ubrlrGatewayARN = a })++instance ToPath UpdateBandwidthRateLimit where+ toPath = const "/"++instance ToQuery UpdateBandwidthRateLimit where+ toQuery = const mempty++instance ToHeaders UpdateBandwidthRateLimit++instance ToJSON UpdateBandwidthRateLimit where+ toJSON UpdateBandwidthRateLimit{..} = object+ [ "GatewayARN" .= _ubrlGatewayARN+ , "AverageUploadRateLimitInBitsPerSec" .= _ubrlAverageUploadRateLimitInBitsPerSec+ , "AverageDownloadRateLimitInBitsPerSec" .= _ubrlAverageDownloadRateLimitInBitsPerSec+ ]++instance AWSRequest UpdateBandwidthRateLimit where+ type Sv UpdateBandwidthRateLimit = StorageGateway+ type Rs UpdateBandwidthRateLimit = UpdateBandwidthRateLimitResponse++ request = post "UpdateBandwidthRateLimit"+ response = jsonResponse++instance FromJSON UpdateBandwidthRateLimitResponse where+ parseJSON = withObject "UpdateBandwidthRateLimitResponse" $ \o -> UpdateBandwidthRateLimitResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/UpdateChapCredentials.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.UpdateChapCredentials+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation updates the Challenge-Handshake Authentication Protocol+-- (CHAP) credentials for a specified iSCSI target. By default, a gateway does+-- not have CHAP enabled; however, for added security, you might use it. When+-- you update CHAP credentials, all existing connections on the target are+-- closed and initiators must reconnect with the new credentials.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_UpdateChapCredentials.html>+module Network.AWS.StorageGateway.UpdateChapCredentials+ (+ -- * Request+ UpdateChapCredentials+ -- ** Request constructor+ , updateChapCredentials+ -- ** Request lenses+ , uccInitiatorName+ , uccSecretToAuthenticateInitiator+ , uccSecretToAuthenticateTarget+ , uccTargetARN++ -- * Response+ , UpdateChapCredentialsResponse+ -- ** Response constructor+ , updateChapCredentialsResponse+ -- ** Response lenses+ , uccrInitiatorName+ , uccrTargetARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data UpdateChapCredentials = UpdateChapCredentials+ { _uccInitiatorName :: Text+ , _uccSecretToAuthenticateInitiator :: Text+ , _uccSecretToAuthenticateTarget :: Maybe Text+ , _uccTargetARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'UpdateChapCredentials' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'uccInitiatorName' @::@ 'Text'+--+-- * 'uccSecretToAuthenticateInitiator' @::@ 'Text'+--+-- * 'uccSecretToAuthenticateTarget' @::@ 'Maybe' 'Text'+--+-- * 'uccTargetARN' @::@ 'Text'+--+updateChapCredentials :: Text -- ^ 'uccTargetARN'+ -> Text -- ^ 'uccSecretToAuthenticateInitiator'+ -> Text -- ^ 'uccInitiatorName'+ -> UpdateChapCredentials+updateChapCredentials p1 p2 p3 = UpdateChapCredentials+ { _uccTargetARN = p1+ , _uccSecretToAuthenticateInitiator = p2+ , _uccInitiatorName = p3+ , _uccSecretToAuthenticateTarget = Nothing+ }++-- | The iSCSI initiator that connects to the target.+uccInitiatorName :: Lens' UpdateChapCredentials Text+uccInitiatorName = lens _uccInitiatorName (\s a -> s { _uccInitiatorName = a })++-- | The secret key that the initiator (e.g. Windows client) must provide to+-- participate in mutual CHAP with the target.+uccSecretToAuthenticateInitiator :: Lens' UpdateChapCredentials Text+uccSecretToAuthenticateInitiator =+ lens _uccSecretToAuthenticateInitiator+ (\s a -> s { _uccSecretToAuthenticateInitiator = a })++-- | The secret key that the target must provide to participate in mutual CHAP+-- with the initiator (e.g. Windows client).+uccSecretToAuthenticateTarget :: Lens' UpdateChapCredentials (Maybe Text)+uccSecretToAuthenticateTarget =+ lens _uccSecretToAuthenticateTarget+ (\s a -> s { _uccSecretToAuthenticateTarget = a })++-- | The Amazon Resource Name (ARN) of the iSCSI volume target. Use the+-- DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN+-- for specified VolumeARN.+uccTargetARN :: Lens' UpdateChapCredentials Text+uccTargetARN = lens _uccTargetARN (\s a -> s { _uccTargetARN = a })++data UpdateChapCredentialsResponse = UpdateChapCredentialsResponse+ { _uccrInitiatorName :: Maybe Text+ , _uccrTargetARN :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'UpdateChapCredentialsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'uccrInitiatorName' @::@ 'Maybe' 'Text'+--+-- * 'uccrTargetARN' @::@ 'Maybe' 'Text'+--+updateChapCredentialsResponse :: UpdateChapCredentialsResponse+updateChapCredentialsResponse = UpdateChapCredentialsResponse+ { _uccrTargetARN = Nothing+ , _uccrInitiatorName = Nothing+ }++-- | The iSCSI initiator that connects to the target. This is the same+-- initiator name specified in the request.+uccrInitiatorName :: Lens' UpdateChapCredentialsResponse (Maybe Text)+uccrInitiatorName =+ lens _uccrInitiatorName (\s a -> s { _uccrInitiatorName = a })++-- | The Amazon Resource Name (ARN) of the target. This is the same target+-- specified in the request.+uccrTargetARN :: Lens' UpdateChapCredentialsResponse (Maybe Text)+uccrTargetARN = lens _uccrTargetARN (\s a -> s { _uccrTargetARN = a })++instance ToPath UpdateChapCredentials where+ toPath = const "/"++instance ToQuery UpdateChapCredentials where+ toQuery = const mempty++instance ToHeaders UpdateChapCredentials++instance ToJSON UpdateChapCredentials where+ toJSON UpdateChapCredentials{..} = object+ [ "TargetARN" .= _uccTargetARN+ , "SecretToAuthenticateInitiator" .= _uccSecretToAuthenticateInitiator+ , "InitiatorName" .= _uccInitiatorName+ , "SecretToAuthenticateTarget" .= _uccSecretToAuthenticateTarget+ ]++instance AWSRequest UpdateChapCredentials where+ type Sv UpdateChapCredentials = StorageGateway+ type Rs UpdateChapCredentials = UpdateChapCredentialsResponse++ request = post "UpdateChapCredentials"+ response = jsonResponse++instance FromJSON UpdateChapCredentialsResponse where+ parseJSON = withObject "UpdateChapCredentialsResponse" $ \o -> UpdateChapCredentialsResponse+ <$> o .:? "InitiatorName"+ <*> o .:? "TargetARN"
+ gen/Network/AWS/StorageGateway/UpdateGatewayInformation.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.UpdateGatewayInformation+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation updates a gateway's metadata, which includes the gateway's+-- name and time zone. To specify which gateway to update, use the Amazon+-- Resource Name (ARN) of the gateway in your request.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_UpdateGatewayInformation.html>+module Network.AWS.StorageGateway.UpdateGatewayInformation+ (+ -- * Request+ UpdateGatewayInformation+ -- ** Request constructor+ , updateGatewayInformation+ -- ** Request lenses+ , ugiGatewayARN+ , ugiGatewayName+ , ugiGatewayTimezone++ -- * Response+ , UpdateGatewayInformationResponse+ -- ** Response constructor+ , updateGatewayInformationResponse+ -- ** Response lenses+ , ugirGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data UpdateGatewayInformation = UpdateGatewayInformation+ { _ugiGatewayARN :: Text+ , _ugiGatewayName :: Maybe Text+ , _ugiGatewayTimezone :: Maybe Text+ } deriving (Eq, Ord, Show)++-- | 'UpdateGatewayInformation' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ugiGatewayARN' @::@ 'Text'+--+-- * 'ugiGatewayName' @::@ 'Maybe' 'Text'+--+-- * 'ugiGatewayTimezone' @::@ 'Maybe' 'Text'+--+updateGatewayInformation :: Text -- ^ 'ugiGatewayARN'+ -> UpdateGatewayInformation+updateGatewayInformation p1 = UpdateGatewayInformation+ { _ugiGatewayARN = p1+ , _ugiGatewayName = Nothing+ , _ugiGatewayTimezone = Nothing+ }++ugiGatewayARN :: Lens' UpdateGatewayInformation Text+ugiGatewayARN = lens _ugiGatewayARN (\s a -> s { _ugiGatewayARN = a })++ugiGatewayName :: Lens' UpdateGatewayInformation (Maybe Text)+ugiGatewayName = lens _ugiGatewayName (\s a -> s { _ugiGatewayName = a })++ugiGatewayTimezone :: Lens' UpdateGatewayInformation (Maybe Text)+ugiGatewayTimezone =+ lens _ugiGatewayTimezone (\s a -> s { _ugiGatewayTimezone = a })++newtype UpdateGatewayInformationResponse = UpdateGatewayInformationResponse+ { _ugirGatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'UpdateGatewayInformationResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ugirGatewayARN' @::@ 'Maybe' 'Text'+--+updateGatewayInformationResponse :: UpdateGatewayInformationResponse+updateGatewayInformationResponse = UpdateGatewayInformationResponse+ { _ugirGatewayARN = Nothing+ }++ugirGatewayARN :: Lens' UpdateGatewayInformationResponse (Maybe Text)+ugirGatewayARN = lens _ugirGatewayARN (\s a -> s { _ugirGatewayARN = a })++instance ToPath UpdateGatewayInformation where+ toPath = const "/"++instance ToQuery UpdateGatewayInformation where+ toQuery = const mempty++instance ToHeaders UpdateGatewayInformation++instance ToJSON UpdateGatewayInformation where+ toJSON UpdateGatewayInformation{..} = object+ [ "GatewayARN" .= _ugiGatewayARN+ , "GatewayName" .= _ugiGatewayName+ , "GatewayTimezone" .= _ugiGatewayTimezone+ ]++instance AWSRequest UpdateGatewayInformation where+ type Sv UpdateGatewayInformation = StorageGateway+ type Rs UpdateGatewayInformation = UpdateGatewayInformationResponse++ request = post "UpdateGatewayInformation"+ response = jsonResponse++instance FromJSON UpdateGatewayInformationResponse where+ parseJSON = withObject "UpdateGatewayInformationResponse" $ \o -> UpdateGatewayInformationResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/UpdateGatewaySoftwareNow.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.UpdateGatewaySoftwareNow+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation updates the gateway virtual machine (VM) software. The+-- request immediately triggers the software update. A software update forces+-- a system restart of your gateway. You can minimize the chance of any+-- disruption to your applications by increasing your iSCSI Initiators'+-- timeouts. For more information about increasing iSCSI Initiator timeouts+-- for Windows and Linux, see Customizing Your Windows iSCSI Settings and+-- Customizing Your Linux iSCSI Settings, respectively.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_UpdateGatewaySoftwareNow.html>+module Network.AWS.StorageGateway.UpdateGatewaySoftwareNow+ (+ -- * Request+ UpdateGatewaySoftwareNow+ -- ** Request constructor+ , updateGatewaySoftwareNow+ -- ** Request lenses+ , ugsnGatewayARN++ -- * Response+ , UpdateGatewaySoftwareNowResponse+ -- ** Response constructor+ , updateGatewaySoftwareNowResponse+ -- ** Response lenses+ , ugsnrGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++newtype UpdateGatewaySoftwareNow = UpdateGatewaySoftwareNow+ { _ugsnGatewayARN :: Text+ } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'UpdateGatewaySoftwareNow' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ugsnGatewayARN' @::@ 'Text'+--+updateGatewaySoftwareNow :: Text -- ^ 'ugsnGatewayARN'+ -> UpdateGatewaySoftwareNow+updateGatewaySoftwareNow p1 = UpdateGatewaySoftwareNow+ { _ugsnGatewayARN = p1+ }++ugsnGatewayARN :: Lens' UpdateGatewaySoftwareNow Text+ugsnGatewayARN = lens _ugsnGatewayARN (\s a -> s { _ugsnGatewayARN = a })++newtype UpdateGatewaySoftwareNowResponse = UpdateGatewaySoftwareNowResponse+ { _ugsnrGatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'UpdateGatewaySoftwareNowResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ugsnrGatewayARN' @::@ 'Maybe' 'Text'+--+updateGatewaySoftwareNowResponse :: UpdateGatewaySoftwareNowResponse+updateGatewaySoftwareNowResponse = UpdateGatewaySoftwareNowResponse+ { _ugsnrGatewayARN = Nothing+ }++ugsnrGatewayARN :: Lens' UpdateGatewaySoftwareNowResponse (Maybe Text)+ugsnrGatewayARN = lens _ugsnrGatewayARN (\s a -> s { _ugsnrGatewayARN = a })++instance ToPath UpdateGatewaySoftwareNow where+ toPath = const "/"++instance ToQuery UpdateGatewaySoftwareNow where+ toQuery = const mempty++instance ToHeaders UpdateGatewaySoftwareNow++instance ToJSON UpdateGatewaySoftwareNow where+ toJSON UpdateGatewaySoftwareNow{..} = object+ [ "GatewayARN" .= _ugsnGatewayARN+ ]++instance AWSRequest UpdateGatewaySoftwareNow where+ type Sv UpdateGatewaySoftwareNow = StorageGateway+ type Rs UpdateGatewaySoftwareNow = UpdateGatewaySoftwareNowResponse++ request = post "UpdateGatewaySoftwareNow"+ response = jsonResponse++instance FromJSON UpdateGatewaySoftwareNowResponse where+ parseJSON = withObject "UpdateGatewaySoftwareNowResponse" $ \o -> UpdateGatewaySoftwareNowResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/UpdateMaintenanceStartTime.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.UpdateMaintenanceStartTime+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation updates a gateway's weekly maintenance start time+-- information, including day and time of the week. The maintenance time is+-- the time in your gateway's time zone.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_UpdateMaintenanceStartTime.html>+module Network.AWS.StorageGateway.UpdateMaintenanceStartTime+ (+ -- * Request+ UpdateMaintenanceStartTime+ -- ** Request constructor+ , updateMaintenanceStartTime+ -- ** Request lenses+ , umstDayOfWeek+ , umstGatewayARN+ , umstHourOfDay+ , umstMinuteOfHour++ -- * Response+ , UpdateMaintenanceStartTimeResponse+ -- ** Response constructor+ , updateMaintenanceStartTimeResponse+ -- ** Response lenses+ , umstrGatewayARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data UpdateMaintenanceStartTime = UpdateMaintenanceStartTime+ { _umstDayOfWeek :: Nat+ , _umstGatewayARN :: Text+ , _umstHourOfDay :: Nat+ , _umstMinuteOfHour :: Nat+ } deriving (Eq, Ord, Show)++-- | 'UpdateMaintenanceStartTime' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'umstDayOfWeek' @::@ 'Natural'+--+-- * 'umstGatewayARN' @::@ 'Text'+--+-- * 'umstHourOfDay' @::@ 'Natural'+--+-- * 'umstMinuteOfHour' @::@ 'Natural'+--+updateMaintenanceStartTime :: Text -- ^ 'umstGatewayARN'+ -> Natural -- ^ 'umstHourOfDay'+ -> Natural -- ^ 'umstMinuteOfHour'+ -> Natural -- ^ 'umstDayOfWeek'+ -> UpdateMaintenanceStartTime+updateMaintenanceStartTime p1 p2 p3 p4 = UpdateMaintenanceStartTime+ { _umstGatewayARN = p1+ , _umstHourOfDay = withIso _Nat (const id) p2+ , _umstMinuteOfHour = withIso _Nat (const id) p3+ , _umstDayOfWeek = withIso _Nat (const id) p4+ }++-- | The maintenance start time day of the week.+umstDayOfWeek :: Lens' UpdateMaintenanceStartTime Natural+umstDayOfWeek = lens _umstDayOfWeek (\s a -> s { _umstDayOfWeek = a }) . _Nat++umstGatewayARN :: Lens' UpdateMaintenanceStartTime Text+umstGatewayARN = lens _umstGatewayARN (\s a -> s { _umstGatewayARN = a })++-- | The hour component of the maintenance start time represented as hh, where+-- hh is the hour (00 to 23). The hour of the day is in the time zone of the+-- gateway.+umstHourOfDay :: Lens' UpdateMaintenanceStartTime Natural+umstHourOfDay = lens _umstHourOfDay (\s a -> s { _umstHourOfDay = a }) . _Nat++-- | The minute component of the maintenance start time represented as mm,+-- where mm is the minute (00 to 59). The minute of the hour is in the time+-- zone of the gateway.+umstMinuteOfHour :: Lens' UpdateMaintenanceStartTime Natural+umstMinuteOfHour = lens _umstMinuteOfHour (\s a -> s { _umstMinuteOfHour = a }) . _Nat++newtype UpdateMaintenanceStartTimeResponse = UpdateMaintenanceStartTimeResponse+ { _umstrGatewayARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'UpdateMaintenanceStartTimeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'umstrGatewayARN' @::@ 'Maybe' 'Text'+--+updateMaintenanceStartTimeResponse :: UpdateMaintenanceStartTimeResponse+updateMaintenanceStartTimeResponse = UpdateMaintenanceStartTimeResponse+ { _umstrGatewayARN = Nothing+ }++umstrGatewayARN :: Lens' UpdateMaintenanceStartTimeResponse (Maybe Text)+umstrGatewayARN = lens _umstrGatewayARN (\s a -> s { _umstrGatewayARN = a })++instance ToPath UpdateMaintenanceStartTime where+ toPath = const "/"++instance ToQuery UpdateMaintenanceStartTime where+ toQuery = const mempty++instance ToHeaders UpdateMaintenanceStartTime++instance ToJSON UpdateMaintenanceStartTime where+ toJSON UpdateMaintenanceStartTime{..} = object+ [ "GatewayARN" .= _umstGatewayARN+ , "HourOfDay" .= _umstHourOfDay+ , "MinuteOfHour" .= _umstMinuteOfHour+ , "DayOfWeek" .= _umstDayOfWeek+ ]++instance AWSRequest UpdateMaintenanceStartTime where+ type Sv UpdateMaintenanceStartTime = StorageGateway+ type Rs UpdateMaintenanceStartTime = UpdateMaintenanceStartTimeResponse++ request = post "UpdateMaintenanceStartTime"+ response = jsonResponse++instance FromJSON UpdateMaintenanceStartTimeResponse where+ parseJSON = withObject "UpdateMaintenanceStartTimeResponse" $ \o -> UpdateMaintenanceStartTimeResponse+ <$> o .:? "GatewayARN"
+ gen/Network/AWS/StorageGateway/UpdateSnapshotSchedule.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Network.AWS.StorageGateway.UpdateSnapshotSchedule+-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++-- | This operation updates a snapshot schedule configured for a gateway volume.+-- The default snapshot schedule for volume is once every 24 hours, starting+-- at the creation time of the volume. You can use this API to change the+-- snapshot schedule configured for the volume. In the request you must+-- identify the gateway volume whose snapshot schedule you want to update, and+-- the schedule information, including when you want the snapshot to begin on+-- a day and the frequency (in hours) of snapshots.+--+-- <http://docs.aws.amazon.com/storagegateway/latest/APIReference/API_UpdateSnapshotSchedule.html>+module Network.AWS.StorageGateway.UpdateSnapshotSchedule+ (+ -- * Request+ UpdateSnapshotSchedule+ -- ** Request constructor+ , updateSnapshotSchedule+ -- ** Request lenses+ , ussDescription+ , ussRecurrenceInHours+ , ussStartAt+ , ussVolumeARN++ -- * Response+ , UpdateSnapshotScheduleResponse+ -- ** Response constructor+ , updateSnapshotScheduleResponse+ -- ** Response lenses+ , ussrVolumeARN+ ) where++import Network.AWS.Prelude+import Network.AWS.Request.JSON+import Network.AWS.StorageGateway.Types+import qualified GHC.Exts++data UpdateSnapshotSchedule = UpdateSnapshotSchedule+ { _ussDescription :: Maybe Text+ , _ussRecurrenceInHours :: Nat+ , _ussStartAt :: Nat+ , _ussVolumeARN :: Text+ } deriving (Eq, Ord, Show)++-- | 'UpdateSnapshotSchedule' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ussDescription' @::@ 'Maybe' 'Text'+--+-- * 'ussRecurrenceInHours' @::@ 'Natural'+--+-- * 'ussStartAt' @::@ 'Natural'+--+-- * 'ussVolumeARN' @::@ 'Text'+--+updateSnapshotSchedule :: Text -- ^ 'ussVolumeARN'+ -> Natural -- ^ 'ussStartAt'+ -> Natural -- ^ 'ussRecurrenceInHours'+ -> UpdateSnapshotSchedule+updateSnapshotSchedule p1 p2 p3 = UpdateSnapshotSchedule+ { _ussVolumeARN = p1+ , _ussStartAt = withIso _Nat (const id) p2+ , _ussRecurrenceInHours = withIso _Nat (const id) p3+ , _ussDescription = Nothing+ }++-- | Optional description of the snapshot that overwrites the existing+-- description.+ussDescription :: Lens' UpdateSnapshotSchedule (Maybe Text)+ussDescription = lens _ussDescription (\s a -> s { _ussDescription = a })++-- | Frequency of snapshots. Specify the number of hours between snapshots.+ussRecurrenceInHours :: Lens' UpdateSnapshotSchedule Natural+ussRecurrenceInHours =+ lens _ussRecurrenceInHours (\s a -> s { _ussRecurrenceInHours = a })+ . _Nat++-- | The hour of the day at which the snapshot schedule begins represented as+-- hh, where hh is the hour (0 to 23). The hour of the day is in the time+-- zone of the gateway.+ussStartAt :: Lens' UpdateSnapshotSchedule Natural+ussStartAt = lens _ussStartAt (\s a -> s { _ussStartAt = a }) . _Nat++-- | The Amazon Resource Name (ARN) of the volume. Use the ListVolumes+-- operation to return a list of gateway volumes.+ussVolumeARN :: Lens' UpdateSnapshotSchedule Text+ussVolumeARN = lens _ussVolumeARN (\s a -> s { _ussVolumeARN = a })++newtype UpdateSnapshotScheduleResponse = UpdateSnapshotScheduleResponse+ { _ussrVolumeARN :: Maybe Text+ } deriving (Eq, Ord, Show, Monoid)++-- | 'UpdateSnapshotScheduleResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ussrVolumeARN' @::@ 'Maybe' 'Text'+--+updateSnapshotScheduleResponse :: UpdateSnapshotScheduleResponse+updateSnapshotScheduleResponse = UpdateSnapshotScheduleResponse+ { _ussrVolumeARN = Nothing+ }++ussrVolumeARN :: Lens' UpdateSnapshotScheduleResponse (Maybe Text)+ussrVolumeARN = lens _ussrVolumeARN (\s a -> s { _ussrVolumeARN = a })++instance ToPath UpdateSnapshotSchedule where+ toPath = const "/"++instance ToQuery UpdateSnapshotSchedule where+ toQuery = const mempty++instance ToHeaders UpdateSnapshotSchedule++instance ToJSON UpdateSnapshotSchedule where+ toJSON UpdateSnapshotSchedule{..} = object+ [ "VolumeARN" .= _ussVolumeARN+ , "StartAt" .= _ussStartAt+ , "RecurrenceInHours" .= _ussRecurrenceInHours+ , "Description" .= _ussDescription+ ]++instance AWSRequest UpdateSnapshotSchedule where+ type Sv UpdateSnapshotSchedule = StorageGateway+ type Rs UpdateSnapshotSchedule = UpdateSnapshotScheduleResponse++ request = post "UpdateSnapshotSchedule"+ response = jsonResponse++instance FromJSON UpdateSnapshotScheduleResponse where+ parseJSON = withObject "UpdateSnapshotScheduleResponse" $ \o -> UpdateSnapshotScheduleResponse+ <$> o .:? "VolumeARN"