amazonka-drs (empty) → 2.0
raw patch · 191 files changed
+19358/−0 lines, 191 filesdep +amazonka-coredep +amazonka-drsdep +amazonka-test
Dependencies added: amazonka-core, amazonka-drs, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-drs.cabal +192/−0
- fixture/CreateExtendedSourceServer.yaml +10/−0
- fixture/CreateExtendedSourceServerResponse.proto +0/−0
- fixture/CreateReplicationConfigurationTemplate.yaml +10/−0
- fixture/CreateReplicationConfigurationTemplateResponse.proto +0/−0
- fixture/DeleteJob.yaml +10/−0
- fixture/DeleteJobResponse.proto +0/−0
- fixture/DeleteRecoveryInstance.yaml +10/−0
- fixture/DeleteRecoveryInstanceResponse.proto +0/−0
- fixture/DeleteReplicationConfigurationTemplate.yaml +10/−0
- fixture/DeleteReplicationConfigurationTemplateResponse.proto +0/−0
- fixture/DeleteSourceServer.yaml +10/−0
- fixture/DeleteSourceServerResponse.proto +0/−0
- fixture/DescribeJobLogItems.yaml +10/−0
- fixture/DescribeJobLogItemsResponse.proto +0/−0
- fixture/DescribeJobs.yaml +10/−0
- fixture/DescribeJobsResponse.proto +0/−0
- fixture/DescribeRecoveryInstances.yaml +10/−0
- fixture/DescribeRecoveryInstancesResponse.proto +0/−0
- fixture/DescribeRecoverySnapshots.yaml +10/−0
- fixture/DescribeRecoverySnapshotsResponse.proto +0/−0
- fixture/DescribeReplicationConfigurationTemplates.yaml +10/−0
- fixture/DescribeReplicationConfigurationTemplatesResponse.proto +0/−0
- fixture/DescribeSourceServers.yaml +10/−0
- fixture/DescribeSourceServersResponse.proto +0/−0
- fixture/DisconnectRecoveryInstance.yaml +10/−0
- fixture/DisconnectRecoveryInstanceResponse.proto +0/−0
- fixture/DisconnectSourceServer.yaml +10/−0
- fixture/DisconnectSourceServerResponse.proto +0/−0
- fixture/GetFailbackReplicationConfiguration.yaml +10/−0
- fixture/GetFailbackReplicationConfigurationResponse.proto +0/−0
- fixture/GetLaunchConfiguration.yaml +10/−0
- fixture/GetLaunchConfigurationResponse.proto +0/−0
- fixture/GetReplicationConfiguration.yaml +10/−0
- fixture/GetReplicationConfigurationResponse.proto +0/−0
- fixture/InitializeService.yaml +10/−0
- fixture/InitializeServiceResponse.proto +0/−0
- fixture/ListExtensibleSourceServers.yaml +10/−0
- fixture/ListExtensibleSourceServersResponse.proto +0/−0
- fixture/ListStagingAccounts.yaml +10/−0
- fixture/ListStagingAccountsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/RetryDataReplication.yaml +10/−0
- fixture/RetryDataReplicationResponse.proto +0/−0
- fixture/ReverseReplication.yaml +10/−0
- fixture/ReverseReplicationResponse.proto +0/−0
- fixture/StartFailbackLaunch.yaml +10/−0
- fixture/StartFailbackLaunchResponse.proto +0/−0
- fixture/StartRecovery.yaml +10/−0
- fixture/StartRecoveryResponse.proto +0/−0
- fixture/StartReplication.yaml +10/−0
- fixture/StartReplicationResponse.proto +0/−0
- fixture/StopFailback.yaml +10/−0
- fixture/StopFailbackResponse.proto +0/−0
- fixture/StopReplication.yaml +10/−0
- fixture/StopReplicationResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/TerminateRecoveryInstances.yaml +10/−0
- fixture/TerminateRecoveryInstancesResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateFailbackReplicationConfiguration.yaml +10/−0
- fixture/UpdateFailbackReplicationConfigurationResponse.proto +0/−0
- fixture/UpdateLaunchConfiguration.yaml +10/−0
- fixture/UpdateLaunchConfigurationResponse.proto +0/−0
- fixture/UpdateReplicationConfiguration.yaml +10/−0
- fixture/UpdateReplicationConfigurationResponse.proto +0/−0
- fixture/UpdateReplicationConfigurationTemplate.yaml +10/−0
- fixture/UpdateReplicationConfigurationTemplateResponse.proto +0/−0
- gen/Amazonka/DrS.hs +597/−0
- gen/Amazonka/DrS/CreateExtendedSourceServer.hs +190/−0
- gen/Amazonka/DrS/CreateReplicationConfigurationTemplate.hs +410/−0
- gen/Amazonka/DrS/DeleteJob.hs +145/−0
- gen/Amazonka/DrS/DeleteRecoveryInstance.hs +141/−0
- gen/Amazonka/DrS/DeleteReplicationConfigurationTemplate.hs +193/−0
- gen/Amazonka/DrS/DeleteSourceServer.hs +159/−0
- gen/Amazonka/DrS/DescribeJobLogItems.hs +231/−0
- gen/Amazonka/DrS/DescribeJobs.hs +232/−0
- gen/Amazonka/DrS/DescribeRecoveryInstances.hs +233/−0
- gen/Amazonka/DrS/DescribeRecoverySnapshots.hs +262/−0
- gen/Amazonka/DrS/DescribeReplicationConfigurationTemplates.hs +272/−0
- gen/Amazonka/DrS/DescribeSourceServers.hs +229/−0
- gen/Amazonka/DrS/DisconnectRecoveryInstance.hs +151/−0
- gen/Amazonka/DrS/DisconnectSourceServer.hs +145/−0
- gen/Amazonka/DrS/GetFailbackReplicationConfiguration.hs +250/−0
- gen/Amazonka/DrS/GetLaunchConfiguration.hs +131/−0
- gen/Amazonka/DrS/GetReplicationConfiguration.hs +136/−0
- gen/Amazonka/DrS/InitializeService.hs +132/−0
- gen/Amazonka/DrS/Lens.hs +735/−0
- gen/Amazonka/DrS/ListExtensibleSourceServers.hs +242/−0
- gen/Amazonka/DrS/ListStagingAccounts.hs +212/−0
- gen/Amazonka/DrS/ListTagsForResource.hs +159/−0
- gen/Amazonka/DrS/RetryDataReplication.hs +133/−0
- gen/Amazonka/DrS/ReverseReplication.hs +177/−0
- gen/Amazonka/DrS/StartFailbackLaunch.hs +189/−0
- gen/Amazonka/DrS/StartRecovery.hs +197/−0
- gen/Amazonka/DrS/StartReplication.hs +171/−0
- gen/Amazonka/DrS/StopFailback.hs +133/−0
- gen/Amazonka/DrS/StopReplication.hs +168/−0
- gen/Amazonka/DrS/TagResource.hs +146/−0
- gen/Amazonka/DrS/TerminateRecoveryInstances.hs +175/−0
- gen/Amazonka/DrS/Types.hs +727/−0
- gen/Amazonka/DrS/Types/Account.hs +66/−0
- gen/Amazonka/DrS/Types/CPU.hs +84/−0
- gen/Amazonka/DrS/Types/ConversionProperties.hs +130/−0
- gen/Amazonka/DrS/Types/DataReplicationError.hs +85/−0
- gen/Amazonka/DrS/Types/DataReplicationErrorString.hs +131/−0
- gen/Amazonka/DrS/Types/DataReplicationInfo.hs +140/−0
- gen/Amazonka/DrS/Types/DataReplicationInfoReplicatedDisk.hs +132/−0
- gen/Amazonka/DrS/Types/DataReplicationInitiation.hs +98/−0
- gen/Amazonka/DrS/Types/DataReplicationInitiationStep.hs +89/−0
- gen/Amazonka/DrS/Types/DataReplicationInitiationStepName.hs +116/−0
- gen/Amazonka/DrS/Types/DataReplicationInitiationStepStatus.hs +86/−0
- gen/Amazonka/DrS/Types/DataReplicationState.hs +111/−0
- gen/Amazonka/DrS/Types/DescribeJobsRequestFilters.hs +99/−0
- gen/Amazonka/DrS/Types/DescribeRecoveryInstancesRequestFilters.hs +103/−0
- gen/Amazonka/DrS/Types/DescribeRecoverySnapshotsRequestFilters.hs +95/−0
- gen/Amazonka/DrS/Types/DescribeSourceServersRequestFilters.hs +118/−0
- gen/Amazonka/DrS/Types/Disk.hs +84/−0
- gen/Amazonka/DrS/Types/EC2InstanceState.hs +96/−0
- gen/Amazonka/DrS/Types/ExtensionStatus.hs +76/−0
- gen/Amazonka/DrS/Types/FailbackLaunchType.hs +71/−0
- gen/Amazonka/DrS/Types/FailbackReplicationError.hs +166/−0
- gen/Amazonka/DrS/Types/FailbackState.hs +96/−0
- gen/Amazonka/DrS/Types/IdentificationHints.hs +109/−0
- gen/Amazonka/DrS/Types/InitiatedBy.hs +91/−0
- gen/Amazonka/DrS/Types/Job.hs +177/−0
- gen/Amazonka/DrS/Types/JobLog.hs +98/−0
- gen/Amazonka/DrS/Types/JobLogEvent.hs +146/−0
- gen/Amazonka/DrS/Types/JobLogEventData.hs +122/−0
- gen/Amazonka/DrS/Types/JobStatus.hs +76/−0
- gen/Amazonka/DrS/Types/JobType.hs +73/−0
- gen/Amazonka/DrS/Types/LastLaunchResult.hs +81/−0
- gen/Amazonka/DrS/Types/LastLaunchType.hs +71/−0
- gen/Amazonka/DrS/Types/LaunchConfiguration.hs +171/−0
- gen/Amazonka/DrS/Types/LaunchDisposition.hs +71/−0
- gen/Amazonka/DrS/Types/LaunchStatus.hs +86/−0
- gen/Amazonka/DrS/Types/Licensing.hs +71/−0
- gen/Amazonka/DrS/Types/LifeCycle.hs +128/−0
- gen/Amazonka/DrS/Types/LifeCycleLastLaunch.hs +73/−0
- gen/Amazonka/DrS/Types/LifeCycleLastLaunchInitiated.hs +102/−0
- gen/Amazonka/DrS/Types/NetworkInterface.hs +96/−0
- gen/Amazonka/DrS/Types/OS.hs +64/−0
- gen/Amazonka/DrS/Types/OriginEnvironment.hs +71/−0
- gen/Amazonka/DrS/Types/PITPolicyRule.hs +144/−0
- gen/Amazonka/DrS/Types/PITPolicyRuleUnits.hs +76/−0
- gen/Amazonka/DrS/Types/ParticipatingServer.hs +98/−0
- gen/Amazonka/DrS/Types/RecoveryInstance.hs +233/−0
- gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationError.hs +97/−0
- gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationInfo.hs +152/−0
- gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationInfoReplicatedDisk.hs +137/−0
- gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationInitiation.hs +97/−0
- gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationInitiationStep.hs +98/−0
- gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationInitiationStepName.hs +151/−0
- gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationInitiationStepStatus.hs +86/−0
- gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationState.hs +121/−0
- gen/Amazonka/DrS/Types/RecoveryInstanceDisk.hs +99/−0
- gen/Amazonka/DrS/Types/RecoveryInstanceFailback.hs +202/−0
- gen/Amazonka/DrS/Types/RecoveryInstanceProperties.hs +152/−0
- gen/Amazonka/DrS/Types/RecoverySnapshot.hs +129/−0
- gen/Amazonka/DrS/Types/RecoverySnapshotsOrder.hs +71/−0
- gen/Amazonka/DrS/Types/ReplicationConfiguration.hs +286/−0
- gen/Amazonka/DrS/Types/ReplicationConfigurationDataPlaneRouting.hs +71/−0
- gen/Amazonka/DrS/Types/ReplicationConfigurationDefaultLargeStagingDiskType.hs +81/−0
- gen/Amazonka/DrS/Types/ReplicationConfigurationEbsEncryption.hs +71/−0
- gen/Amazonka/DrS/Types/ReplicationConfigurationReplicatedDisk.hs +173/−0
- gen/Amazonka/DrS/Types/ReplicationConfigurationReplicatedDiskStagingDiskType.hs +96/−0
- gen/Amazonka/DrS/Types/ReplicationConfigurationTemplate.hs +304/−0
- gen/Amazonka/DrS/Types/ReplicationDirection.hs +78/−0
- gen/Amazonka/DrS/Types/SourceCloudProperties.hs +98/−0
- gen/Amazonka/DrS/Types/SourceProperties.hs +167/−0
- gen/Amazonka/DrS/Types/SourceServer.hs +215/−0
- gen/Amazonka/DrS/Types/StagingArea.hs +139/−0
- gen/Amazonka/DrS/Types/StagingSourceServer.hs +97/−0
- gen/Amazonka/DrS/Types/StartRecoveryRequestSourceServer.hs +99/−0
- gen/Amazonka/DrS/Types/TargetInstanceTypeRightSizingMethod.hs +71/−0
- gen/Amazonka/DrS/UntagResource.hs +141/−0
- gen/Amazonka/DrS/UpdateFailbackReplicationConfiguration.hs +215/−0
- gen/Amazonka/DrS/UpdateLaunchConfiguration.hs +225/−0
- gen/Amazonka/DrS/UpdateReplicationConfiguration.hs +383/−0
- gen/Amazonka/DrS/UpdateReplicationConfigurationTemplate.hs +387/−0
- gen/Amazonka/DrS/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/DrS.hs +20/−0
- test/Test/Amazonka/DrS/Internal.hs +8/−0
- test/Test/Amazonka/Gen/DrS.hs +738/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon Elastic Disaster Recovery Service SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-02-26@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-drs)+and the [AWS API Reference](https://aws.amazon.com/documentation/).++The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information, sending requests,+and receiving responses.++Lenses are used for constructing and manipulating types,+due to the depth of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++See [Amazonka.DrS](http://hackage.haskell.org/package/amazonka-drs/docs/Amazonka-DrS.html)+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-drs` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ amazonka-drs.cabal view
@@ -0,0 +1,192 @@+cabal-version: 2.2+name: amazonka-drs+version: 2.0+synopsis: Amazon Elastic Disaster Recovery Service SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2020-02-26@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+ which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.DrS.Lens" and are+ suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Amazonka.DrS" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git+ subdir: amazonka-drs++library+ default-language: Haskell2010+ hs-source-dirs: src gen+ ghc-options:+ -Wall -fwarn-incomplete-uni-patterns+ -fwarn-incomplete-record-updates -funbox-strict-fields++ exposed-modules:+ Amazonka.DrS+ Amazonka.DrS.CreateExtendedSourceServer+ Amazonka.DrS.CreateReplicationConfigurationTemplate+ Amazonka.DrS.DeleteJob+ Amazonka.DrS.DeleteRecoveryInstance+ Amazonka.DrS.DeleteReplicationConfigurationTemplate+ Amazonka.DrS.DeleteSourceServer+ Amazonka.DrS.DescribeJobLogItems+ Amazonka.DrS.DescribeJobs+ Amazonka.DrS.DescribeRecoveryInstances+ Amazonka.DrS.DescribeRecoverySnapshots+ Amazonka.DrS.DescribeReplicationConfigurationTemplates+ Amazonka.DrS.DescribeSourceServers+ Amazonka.DrS.DisconnectRecoveryInstance+ Amazonka.DrS.DisconnectSourceServer+ Amazonka.DrS.GetFailbackReplicationConfiguration+ Amazonka.DrS.GetLaunchConfiguration+ Amazonka.DrS.GetReplicationConfiguration+ Amazonka.DrS.InitializeService+ Amazonka.DrS.Lens+ Amazonka.DrS.ListExtensibleSourceServers+ Amazonka.DrS.ListStagingAccounts+ Amazonka.DrS.ListTagsForResource+ Amazonka.DrS.RetryDataReplication+ Amazonka.DrS.ReverseReplication+ Amazonka.DrS.StartFailbackLaunch+ Amazonka.DrS.StartRecovery+ Amazonka.DrS.StartReplication+ Amazonka.DrS.StopFailback+ Amazonka.DrS.StopReplication+ Amazonka.DrS.TagResource+ Amazonka.DrS.TerminateRecoveryInstances+ Amazonka.DrS.Types+ Amazonka.DrS.Types.Account+ Amazonka.DrS.Types.ConversionProperties+ Amazonka.DrS.Types.CPU+ Amazonka.DrS.Types.DataReplicationError+ Amazonka.DrS.Types.DataReplicationErrorString+ Amazonka.DrS.Types.DataReplicationInfo+ Amazonka.DrS.Types.DataReplicationInfoReplicatedDisk+ Amazonka.DrS.Types.DataReplicationInitiation+ Amazonka.DrS.Types.DataReplicationInitiationStep+ Amazonka.DrS.Types.DataReplicationInitiationStepName+ Amazonka.DrS.Types.DataReplicationInitiationStepStatus+ Amazonka.DrS.Types.DataReplicationState+ Amazonka.DrS.Types.DescribeJobsRequestFilters+ Amazonka.DrS.Types.DescribeRecoveryInstancesRequestFilters+ Amazonka.DrS.Types.DescribeRecoverySnapshotsRequestFilters+ Amazonka.DrS.Types.DescribeSourceServersRequestFilters+ Amazonka.DrS.Types.Disk+ Amazonka.DrS.Types.EC2InstanceState+ Amazonka.DrS.Types.ExtensionStatus+ Amazonka.DrS.Types.FailbackLaunchType+ Amazonka.DrS.Types.FailbackReplicationError+ Amazonka.DrS.Types.FailbackState+ Amazonka.DrS.Types.IdentificationHints+ Amazonka.DrS.Types.InitiatedBy+ Amazonka.DrS.Types.Job+ Amazonka.DrS.Types.JobLog+ Amazonka.DrS.Types.JobLogEvent+ Amazonka.DrS.Types.JobLogEventData+ Amazonka.DrS.Types.JobStatus+ Amazonka.DrS.Types.JobType+ Amazonka.DrS.Types.LastLaunchResult+ Amazonka.DrS.Types.LastLaunchType+ Amazonka.DrS.Types.LaunchConfiguration+ Amazonka.DrS.Types.LaunchDisposition+ Amazonka.DrS.Types.LaunchStatus+ Amazonka.DrS.Types.Licensing+ Amazonka.DrS.Types.LifeCycle+ Amazonka.DrS.Types.LifeCycleLastLaunch+ Amazonka.DrS.Types.LifeCycleLastLaunchInitiated+ Amazonka.DrS.Types.NetworkInterface+ Amazonka.DrS.Types.OriginEnvironment+ Amazonka.DrS.Types.OS+ Amazonka.DrS.Types.ParticipatingServer+ Amazonka.DrS.Types.PITPolicyRule+ Amazonka.DrS.Types.PITPolicyRuleUnits+ Amazonka.DrS.Types.RecoveryInstance+ Amazonka.DrS.Types.RecoveryInstanceDataReplicationError+ Amazonka.DrS.Types.RecoveryInstanceDataReplicationInfo+ Amazonka.DrS.Types.RecoveryInstanceDataReplicationInfoReplicatedDisk+ Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiation+ Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStep+ Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStepName+ Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStepStatus+ Amazonka.DrS.Types.RecoveryInstanceDataReplicationState+ Amazonka.DrS.Types.RecoveryInstanceDisk+ Amazonka.DrS.Types.RecoveryInstanceFailback+ Amazonka.DrS.Types.RecoveryInstanceProperties+ Amazonka.DrS.Types.RecoverySnapshot+ Amazonka.DrS.Types.RecoverySnapshotsOrder+ Amazonka.DrS.Types.ReplicationConfiguration+ Amazonka.DrS.Types.ReplicationConfigurationDataPlaneRouting+ Amazonka.DrS.Types.ReplicationConfigurationDefaultLargeStagingDiskType+ Amazonka.DrS.Types.ReplicationConfigurationEbsEncryption+ Amazonka.DrS.Types.ReplicationConfigurationReplicatedDisk+ Amazonka.DrS.Types.ReplicationConfigurationReplicatedDiskStagingDiskType+ Amazonka.DrS.Types.ReplicationConfigurationTemplate+ Amazonka.DrS.Types.ReplicationDirection+ Amazonka.DrS.Types.SourceCloudProperties+ Amazonka.DrS.Types.SourceProperties+ Amazonka.DrS.Types.SourceServer+ Amazonka.DrS.Types.StagingArea+ Amazonka.DrS.Types.StagingSourceServer+ Amazonka.DrS.Types.StartRecoveryRequestSourceServer+ Amazonka.DrS.Types.TargetInstanceTypeRightSizingMethod+ Amazonka.DrS.UntagResource+ Amazonka.DrS.UpdateFailbackReplicationConfiguration+ Amazonka.DrS.UpdateLaunchConfiguration+ Amazonka.DrS.UpdateReplicationConfiguration+ Amazonka.DrS.UpdateReplicationConfigurationTemplate+ Amazonka.DrS.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-drs-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded++ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.DrS+ Test.Amazonka.DrS.Internal+ Test.Amazonka.Gen.DrS++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-drs+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/CreateExtendedSourceServer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateExtendedSourceServerResponse.proto view
+ fixture/CreateReplicationConfigurationTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateReplicationConfigurationTemplateResponse.proto view
+ fixture/DeleteJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteJobResponse.proto view
+ fixture/DeleteRecoveryInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteRecoveryInstanceResponse.proto view
+ fixture/DeleteReplicationConfigurationTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteReplicationConfigurationTemplateResponse.proto view
+ fixture/DeleteSourceServer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteSourceServerResponse.proto view
+ fixture/DescribeJobLogItems.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeJobLogItemsResponse.proto view
+ fixture/DescribeJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeJobsResponse.proto view
+ fixture/DescribeRecoveryInstances.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeRecoveryInstancesResponse.proto view
+ fixture/DescribeRecoverySnapshots.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeRecoverySnapshotsResponse.proto view
+ fixture/DescribeReplicationConfigurationTemplates.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeReplicationConfigurationTemplatesResponse.proto view
+ fixture/DescribeSourceServers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeSourceServersResponse.proto view
+ fixture/DisconnectRecoveryInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DisconnectRecoveryInstanceResponse.proto view
+ fixture/DisconnectSourceServer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DisconnectSourceServerResponse.proto view
+ fixture/GetFailbackReplicationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetFailbackReplicationConfigurationResponse.proto view
+ fixture/GetLaunchConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetLaunchConfigurationResponse.proto view
+ fixture/GetReplicationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetReplicationConfigurationResponse.proto view
+ fixture/InitializeService.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/InitializeServiceResponse.proto view
+ fixture/ListExtensibleSourceServers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListExtensibleSourceServersResponse.proto view
+ fixture/ListStagingAccounts.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListStagingAccountsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/RetryDataReplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/RetryDataReplicationResponse.proto view
+ fixture/ReverseReplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ReverseReplicationResponse.proto view
+ fixture/StartFailbackLaunch.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StartFailbackLaunchResponse.proto view
+ fixture/StartRecovery.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StartRecoveryResponse.proto view
+ fixture/StartReplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StartReplicationResponse.proto view
+ fixture/StopFailback.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StopFailbackResponse.proto view
+ fixture/StopReplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StopReplicationResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/TerminateRecoveryInstances.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TerminateRecoveryInstancesResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateFailbackReplicationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateFailbackReplicationConfigurationResponse.proto view
+ fixture/UpdateLaunchConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateLaunchConfigurationResponse.proto view
+ fixture/UpdateReplicationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateReplicationConfigurationResponse.proto view
+ fixture/UpdateReplicationConfigurationTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/drs/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: drs.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateReplicationConfigurationTemplateResponse.proto view
+ gen/Amazonka/DrS.hs view
@@ -0,0 +1,597 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.DrS+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2020-02-26@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- AWS Elastic Disaster Recovery Service.+module Amazonka.DrS+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** UninitializedAccountException+ _UninitializedAccountException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CreateExtendedSourceServer+ CreateExtendedSourceServer (CreateExtendedSourceServer'),+ newCreateExtendedSourceServer,+ CreateExtendedSourceServerResponse (CreateExtendedSourceServerResponse'),+ newCreateExtendedSourceServerResponse,++ -- ** CreateReplicationConfigurationTemplate+ CreateReplicationConfigurationTemplate (CreateReplicationConfigurationTemplate'),+ newCreateReplicationConfigurationTemplate,+ ReplicationConfigurationTemplate (ReplicationConfigurationTemplate'),+ newReplicationConfigurationTemplate,++ -- ** DeleteJob+ DeleteJob (DeleteJob'),+ newDeleteJob,+ DeleteJobResponse (DeleteJobResponse'),+ newDeleteJobResponse,++ -- ** DeleteRecoveryInstance+ DeleteRecoveryInstance (DeleteRecoveryInstance'),+ newDeleteRecoveryInstance,+ DeleteRecoveryInstanceResponse (DeleteRecoveryInstanceResponse'),+ newDeleteRecoveryInstanceResponse,++ -- ** DeleteReplicationConfigurationTemplate+ DeleteReplicationConfigurationTemplate (DeleteReplicationConfigurationTemplate'),+ newDeleteReplicationConfigurationTemplate,+ DeleteReplicationConfigurationTemplateResponse (DeleteReplicationConfigurationTemplateResponse'),+ newDeleteReplicationConfigurationTemplateResponse,++ -- ** DeleteSourceServer+ DeleteSourceServer (DeleteSourceServer'),+ newDeleteSourceServer,+ DeleteSourceServerResponse (DeleteSourceServerResponse'),+ newDeleteSourceServerResponse,++ -- ** DescribeJobLogItems (Paginated)+ DescribeJobLogItems (DescribeJobLogItems'),+ newDescribeJobLogItems,+ DescribeJobLogItemsResponse (DescribeJobLogItemsResponse'),+ newDescribeJobLogItemsResponse,++ -- ** DescribeJobs (Paginated)+ DescribeJobs (DescribeJobs'),+ newDescribeJobs,+ DescribeJobsResponse (DescribeJobsResponse'),+ newDescribeJobsResponse,++ -- ** DescribeRecoveryInstances (Paginated)+ DescribeRecoveryInstances (DescribeRecoveryInstances'),+ newDescribeRecoveryInstances,+ DescribeRecoveryInstancesResponse (DescribeRecoveryInstancesResponse'),+ newDescribeRecoveryInstancesResponse,++ -- ** DescribeRecoverySnapshots (Paginated)+ DescribeRecoverySnapshots (DescribeRecoverySnapshots'),+ newDescribeRecoverySnapshots,+ DescribeRecoverySnapshotsResponse (DescribeRecoverySnapshotsResponse'),+ newDescribeRecoverySnapshotsResponse,++ -- ** DescribeReplicationConfigurationTemplates (Paginated)+ DescribeReplicationConfigurationTemplates (DescribeReplicationConfigurationTemplates'),+ newDescribeReplicationConfigurationTemplates,+ DescribeReplicationConfigurationTemplatesResponse (DescribeReplicationConfigurationTemplatesResponse'),+ newDescribeReplicationConfigurationTemplatesResponse,++ -- ** DescribeSourceServers (Paginated)+ DescribeSourceServers (DescribeSourceServers'),+ newDescribeSourceServers,+ DescribeSourceServersResponse (DescribeSourceServersResponse'),+ newDescribeSourceServersResponse,++ -- ** DisconnectRecoveryInstance+ DisconnectRecoveryInstance (DisconnectRecoveryInstance'),+ newDisconnectRecoveryInstance,+ DisconnectRecoveryInstanceResponse (DisconnectRecoveryInstanceResponse'),+ newDisconnectRecoveryInstanceResponse,++ -- ** DisconnectSourceServer+ DisconnectSourceServer (DisconnectSourceServer'),+ newDisconnectSourceServer,+ SourceServer (SourceServer'),+ newSourceServer,++ -- ** GetFailbackReplicationConfiguration+ GetFailbackReplicationConfiguration (GetFailbackReplicationConfiguration'),+ newGetFailbackReplicationConfiguration,+ GetFailbackReplicationConfigurationResponse (GetFailbackReplicationConfigurationResponse'),+ newGetFailbackReplicationConfigurationResponse,++ -- ** GetLaunchConfiguration+ GetLaunchConfiguration (GetLaunchConfiguration'),+ newGetLaunchConfiguration,+ LaunchConfiguration (LaunchConfiguration'),+ newLaunchConfiguration,++ -- ** GetReplicationConfiguration+ GetReplicationConfiguration (GetReplicationConfiguration'),+ newGetReplicationConfiguration,+ ReplicationConfiguration (ReplicationConfiguration'),+ newReplicationConfiguration,++ -- ** InitializeService+ InitializeService (InitializeService'),+ newInitializeService,+ InitializeServiceResponse (InitializeServiceResponse'),+ newInitializeServiceResponse,++ -- ** ListExtensibleSourceServers (Paginated)+ ListExtensibleSourceServers (ListExtensibleSourceServers'),+ newListExtensibleSourceServers,+ ListExtensibleSourceServersResponse (ListExtensibleSourceServersResponse'),+ newListExtensibleSourceServersResponse,++ -- ** ListStagingAccounts (Paginated)+ ListStagingAccounts (ListStagingAccounts'),+ newListStagingAccounts,+ ListStagingAccountsResponse (ListStagingAccountsResponse'),+ newListStagingAccountsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** RetryDataReplication+ RetryDataReplication (RetryDataReplication'),+ newRetryDataReplication,+ SourceServer (SourceServer'),+ newSourceServer,++ -- ** ReverseReplication+ ReverseReplication (ReverseReplication'),+ newReverseReplication,+ ReverseReplicationResponse (ReverseReplicationResponse'),+ newReverseReplicationResponse,++ -- ** StartFailbackLaunch+ StartFailbackLaunch (StartFailbackLaunch'),+ newStartFailbackLaunch,+ StartFailbackLaunchResponse (StartFailbackLaunchResponse'),+ newStartFailbackLaunchResponse,++ -- ** StartRecovery+ StartRecovery (StartRecovery'),+ newStartRecovery,+ StartRecoveryResponse (StartRecoveryResponse'),+ newStartRecoveryResponse,++ -- ** StartReplication+ StartReplication (StartReplication'),+ newStartReplication,+ StartReplicationResponse (StartReplicationResponse'),+ newStartReplicationResponse,++ -- ** StopFailback+ StopFailback (StopFailback'),+ newStopFailback,+ StopFailbackResponse (StopFailbackResponse'),+ newStopFailbackResponse,++ -- ** StopReplication+ StopReplication (StopReplication'),+ newStopReplication,+ StopReplicationResponse (StopReplicationResponse'),+ newStopReplicationResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** TerminateRecoveryInstances+ TerminateRecoveryInstances (TerminateRecoveryInstances'),+ newTerminateRecoveryInstances,+ TerminateRecoveryInstancesResponse (TerminateRecoveryInstancesResponse'),+ newTerminateRecoveryInstancesResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateFailbackReplicationConfiguration+ UpdateFailbackReplicationConfiguration (UpdateFailbackReplicationConfiguration'),+ newUpdateFailbackReplicationConfiguration,+ UpdateFailbackReplicationConfigurationResponse (UpdateFailbackReplicationConfigurationResponse'),+ newUpdateFailbackReplicationConfigurationResponse,++ -- ** UpdateLaunchConfiguration+ UpdateLaunchConfiguration (UpdateLaunchConfiguration'),+ newUpdateLaunchConfiguration,+ LaunchConfiguration (LaunchConfiguration'),+ newLaunchConfiguration,++ -- ** UpdateReplicationConfiguration+ UpdateReplicationConfiguration (UpdateReplicationConfiguration'),+ newUpdateReplicationConfiguration,+ ReplicationConfiguration (ReplicationConfiguration'),+ newReplicationConfiguration,++ -- ** UpdateReplicationConfigurationTemplate+ UpdateReplicationConfigurationTemplate (UpdateReplicationConfigurationTemplate'),+ newUpdateReplicationConfigurationTemplate,+ ReplicationConfigurationTemplate (ReplicationConfigurationTemplate'),+ newReplicationConfigurationTemplate,++ -- * Types++ -- ** DataReplicationErrorString+ DataReplicationErrorString (..),++ -- ** DataReplicationInitiationStepName+ DataReplicationInitiationStepName (..),++ -- ** DataReplicationInitiationStepStatus+ DataReplicationInitiationStepStatus (..),++ -- ** DataReplicationState+ DataReplicationState (..),++ -- ** EC2InstanceState+ EC2InstanceState (..),++ -- ** ExtensionStatus+ ExtensionStatus (..),++ -- ** FailbackLaunchType+ FailbackLaunchType (..),++ -- ** FailbackReplicationError+ FailbackReplicationError (..),++ -- ** FailbackState+ FailbackState (..),++ -- ** InitiatedBy+ InitiatedBy (..),++ -- ** JobLogEvent+ JobLogEvent (..),++ -- ** JobStatus+ JobStatus (..),++ -- ** JobType+ JobType (..),++ -- ** LastLaunchResult+ LastLaunchResult (..),++ -- ** LastLaunchType+ LastLaunchType (..),++ -- ** LaunchDisposition+ LaunchDisposition (..),++ -- ** LaunchStatus+ LaunchStatus (..),++ -- ** OriginEnvironment+ OriginEnvironment (..),++ -- ** PITPolicyRuleUnits+ PITPolicyRuleUnits (..),++ -- ** RecoveryInstanceDataReplicationInitiationStepName+ RecoveryInstanceDataReplicationInitiationStepName (..),++ -- ** RecoveryInstanceDataReplicationInitiationStepStatus+ RecoveryInstanceDataReplicationInitiationStepStatus (..),++ -- ** RecoveryInstanceDataReplicationState+ RecoveryInstanceDataReplicationState (..),++ -- ** RecoverySnapshotsOrder+ RecoverySnapshotsOrder (..),++ -- ** ReplicationConfigurationDataPlaneRouting+ ReplicationConfigurationDataPlaneRouting (..),++ -- ** ReplicationConfigurationDefaultLargeStagingDiskType+ ReplicationConfigurationDefaultLargeStagingDiskType (..),++ -- ** ReplicationConfigurationEbsEncryption+ ReplicationConfigurationEbsEncryption (..),++ -- ** ReplicationConfigurationReplicatedDiskStagingDiskType+ ReplicationConfigurationReplicatedDiskStagingDiskType (..),++ -- ** ReplicationDirection+ ReplicationDirection (..),++ -- ** TargetInstanceTypeRightSizingMethod+ TargetInstanceTypeRightSizingMethod (..),++ -- ** Account+ Account (Account'),+ newAccount,++ -- ** CPU+ CPU (CPU'),+ newCPU,++ -- ** ConversionProperties+ ConversionProperties (ConversionProperties'),+ newConversionProperties,++ -- ** DataReplicationError+ DataReplicationError (DataReplicationError'),+ newDataReplicationError,++ -- ** DataReplicationInfo+ DataReplicationInfo (DataReplicationInfo'),+ newDataReplicationInfo,++ -- ** DataReplicationInfoReplicatedDisk+ DataReplicationInfoReplicatedDisk (DataReplicationInfoReplicatedDisk'),+ newDataReplicationInfoReplicatedDisk,++ -- ** DataReplicationInitiation+ DataReplicationInitiation (DataReplicationInitiation'),+ newDataReplicationInitiation,++ -- ** DataReplicationInitiationStep+ DataReplicationInitiationStep (DataReplicationInitiationStep'),+ newDataReplicationInitiationStep,++ -- ** DescribeJobsRequestFilters+ DescribeJobsRequestFilters (DescribeJobsRequestFilters'),+ newDescribeJobsRequestFilters,++ -- ** DescribeRecoveryInstancesRequestFilters+ DescribeRecoveryInstancesRequestFilters (DescribeRecoveryInstancesRequestFilters'),+ newDescribeRecoveryInstancesRequestFilters,++ -- ** DescribeRecoverySnapshotsRequestFilters+ DescribeRecoverySnapshotsRequestFilters (DescribeRecoverySnapshotsRequestFilters'),+ newDescribeRecoverySnapshotsRequestFilters,++ -- ** DescribeSourceServersRequestFilters+ DescribeSourceServersRequestFilters (DescribeSourceServersRequestFilters'),+ newDescribeSourceServersRequestFilters,++ -- ** Disk+ Disk (Disk'),+ newDisk,++ -- ** IdentificationHints+ IdentificationHints (IdentificationHints'),+ newIdentificationHints,++ -- ** Job+ Job (Job'),+ newJob,++ -- ** JobLog+ JobLog (JobLog'),+ newJobLog,++ -- ** JobLogEventData+ JobLogEventData (JobLogEventData'),+ newJobLogEventData,++ -- ** LaunchConfiguration+ LaunchConfiguration (LaunchConfiguration'),+ newLaunchConfiguration,++ -- ** Licensing+ Licensing (Licensing'),+ newLicensing,++ -- ** LifeCycle+ LifeCycle (LifeCycle'),+ newLifeCycle,++ -- ** LifeCycleLastLaunch+ LifeCycleLastLaunch (LifeCycleLastLaunch'),+ newLifeCycleLastLaunch,++ -- ** LifeCycleLastLaunchInitiated+ LifeCycleLastLaunchInitiated (LifeCycleLastLaunchInitiated'),+ newLifeCycleLastLaunchInitiated,++ -- ** NetworkInterface+ NetworkInterface (NetworkInterface'),+ newNetworkInterface,++ -- ** OS+ OS (OS'),+ newOS,++ -- ** PITPolicyRule+ PITPolicyRule (PITPolicyRule'),+ newPITPolicyRule,++ -- ** ParticipatingServer+ ParticipatingServer (ParticipatingServer'),+ newParticipatingServer,++ -- ** RecoveryInstance+ RecoveryInstance (RecoveryInstance'),+ newRecoveryInstance,++ -- ** RecoveryInstanceDataReplicationError+ RecoveryInstanceDataReplicationError (RecoveryInstanceDataReplicationError'),+ newRecoveryInstanceDataReplicationError,++ -- ** RecoveryInstanceDataReplicationInfo+ RecoveryInstanceDataReplicationInfo (RecoveryInstanceDataReplicationInfo'),+ newRecoveryInstanceDataReplicationInfo,++ -- ** RecoveryInstanceDataReplicationInfoReplicatedDisk+ RecoveryInstanceDataReplicationInfoReplicatedDisk (RecoveryInstanceDataReplicationInfoReplicatedDisk'),+ newRecoveryInstanceDataReplicationInfoReplicatedDisk,++ -- ** RecoveryInstanceDataReplicationInitiation+ RecoveryInstanceDataReplicationInitiation (RecoveryInstanceDataReplicationInitiation'),+ newRecoveryInstanceDataReplicationInitiation,++ -- ** RecoveryInstanceDataReplicationInitiationStep+ RecoveryInstanceDataReplicationInitiationStep (RecoveryInstanceDataReplicationInitiationStep'),+ newRecoveryInstanceDataReplicationInitiationStep,++ -- ** RecoveryInstanceDisk+ RecoveryInstanceDisk (RecoveryInstanceDisk'),+ newRecoveryInstanceDisk,++ -- ** RecoveryInstanceFailback+ RecoveryInstanceFailback (RecoveryInstanceFailback'),+ newRecoveryInstanceFailback,++ -- ** RecoveryInstanceProperties+ RecoveryInstanceProperties (RecoveryInstanceProperties'),+ newRecoveryInstanceProperties,++ -- ** RecoverySnapshot+ RecoverySnapshot (RecoverySnapshot'),+ newRecoverySnapshot,++ -- ** ReplicationConfiguration+ ReplicationConfiguration (ReplicationConfiguration'),+ newReplicationConfiguration,++ -- ** ReplicationConfigurationReplicatedDisk+ ReplicationConfigurationReplicatedDisk (ReplicationConfigurationReplicatedDisk'),+ newReplicationConfigurationReplicatedDisk,++ -- ** ReplicationConfigurationTemplate+ ReplicationConfigurationTemplate (ReplicationConfigurationTemplate'),+ newReplicationConfigurationTemplate,++ -- ** SourceCloudProperties+ SourceCloudProperties (SourceCloudProperties'),+ newSourceCloudProperties,++ -- ** SourceProperties+ SourceProperties (SourceProperties'),+ newSourceProperties,++ -- ** SourceServer+ SourceServer (SourceServer'),+ newSourceServer,++ -- ** StagingArea+ StagingArea (StagingArea'),+ newStagingArea,++ -- ** StagingSourceServer+ StagingSourceServer (StagingSourceServer'),+ newStagingSourceServer,++ -- ** StartRecoveryRequestSourceServer+ StartRecoveryRequestSourceServer (StartRecoveryRequestSourceServer'),+ newStartRecoveryRequestSourceServer,+ )+where++import Amazonka.DrS.CreateExtendedSourceServer+import Amazonka.DrS.CreateReplicationConfigurationTemplate+import Amazonka.DrS.DeleteJob+import Amazonka.DrS.DeleteRecoveryInstance+import Amazonka.DrS.DeleteReplicationConfigurationTemplate+import Amazonka.DrS.DeleteSourceServer+import Amazonka.DrS.DescribeJobLogItems+import Amazonka.DrS.DescribeJobs+import Amazonka.DrS.DescribeRecoveryInstances+import Amazonka.DrS.DescribeRecoverySnapshots+import Amazonka.DrS.DescribeReplicationConfigurationTemplates+import Amazonka.DrS.DescribeSourceServers+import Amazonka.DrS.DisconnectRecoveryInstance+import Amazonka.DrS.DisconnectSourceServer+import Amazonka.DrS.GetFailbackReplicationConfiguration+import Amazonka.DrS.GetLaunchConfiguration+import Amazonka.DrS.GetReplicationConfiguration+import Amazonka.DrS.InitializeService+import Amazonka.DrS.Lens+import Amazonka.DrS.ListExtensibleSourceServers+import Amazonka.DrS.ListStagingAccounts+import Amazonka.DrS.ListTagsForResource+import Amazonka.DrS.RetryDataReplication+import Amazonka.DrS.ReverseReplication+import Amazonka.DrS.StartFailbackLaunch+import Amazonka.DrS.StartRecovery+import Amazonka.DrS.StartReplication+import Amazonka.DrS.StopFailback+import Amazonka.DrS.StopReplication+import Amazonka.DrS.TagResource+import Amazonka.DrS.TerminateRecoveryInstances+import Amazonka.DrS.Types+import Amazonka.DrS.UntagResource+import Amazonka.DrS.UpdateFailbackReplicationConfiguration+import Amazonka.DrS.UpdateLaunchConfiguration+import Amazonka.DrS.UpdateReplicationConfiguration+import Amazonka.DrS.UpdateReplicationConfigurationTemplate+import Amazonka.DrS.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'DrS'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/DrS/CreateExtendedSourceServer.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.CreateExtendedSourceServer+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create an extended source server in the target Account based on the+-- source server in staging account.+module Amazonka.DrS.CreateExtendedSourceServer+ ( -- * Creating a Request+ CreateExtendedSourceServer (..),+ newCreateExtendedSourceServer,++ -- * Request Lenses+ createExtendedSourceServer_tags,+ createExtendedSourceServer_sourceServerArn,++ -- * Destructuring the Response+ CreateExtendedSourceServerResponse (..),+ newCreateExtendedSourceServerResponse,++ -- * Response Lenses+ createExtendedSourceServerResponse_sourceServer,+ createExtendedSourceServerResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateExtendedSourceServer' smart constructor.+data CreateExtendedSourceServer = CreateExtendedSourceServer'+ { -- | A list of tags associated with the extended source server.+ tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | This defines the ARN of the source server in staging Account based on+ -- which you want to create an extended source server.+ sourceServerArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateExtendedSourceServer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'createExtendedSourceServer_tags' - A list of tags associated with the extended source server.+--+-- 'sourceServerArn', 'createExtendedSourceServer_sourceServerArn' - This defines the ARN of the source server in staging Account based on+-- which you want to create an extended source server.+newCreateExtendedSourceServer ::+ -- | 'sourceServerArn'+ Prelude.Text ->+ CreateExtendedSourceServer+newCreateExtendedSourceServer pSourceServerArn_ =+ CreateExtendedSourceServer'+ { tags = Prelude.Nothing,+ sourceServerArn = pSourceServerArn_+ }++-- | A list of tags associated with the extended source server.+createExtendedSourceServer_tags :: Lens.Lens' CreateExtendedSourceServer (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createExtendedSourceServer_tags = Lens.lens (\CreateExtendedSourceServer' {tags} -> tags) (\s@CreateExtendedSourceServer' {} a -> s {tags = a} :: CreateExtendedSourceServer) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | This defines the ARN of the source server in staging Account based on+-- which you want to create an extended source server.+createExtendedSourceServer_sourceServerArn :: Lens.Lens' CreateExtendedSourceServer Prelude.Text+createExtendedSourceServer_sourceServerArn = Lens.lens (\CreateExtendedSourceServer' {sourceServerArn} -> sourceServerArn) (\s@CreateExtendedSourceServer' {} a -> s {sourceServerArn = a} :: CreateExtendedSourceServer)++instance Core.AWSRequest CreateExtendedSourceServer where+ type+ AWSResponse CreateExtendedSourceServer =+ CreateExtendedSourceServerResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateExtendedSourceServerResponse'+ Prelude.<$> (x Data..?> "sourceServer")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateExtendedSourceServer where+ hashWithSalt _salt CreateExtendedSourceServer' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` sourceServerArn++instance Prelude.NFData CreateExtendedSourceServer where+ rnf CreateExtendedSourceServer' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf sourceServerArn++instance Data.ToHeaders CreateExtendedSourceServer where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateExtendedSourceServer where+ toJSON CreateExtendedSourceServer' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("sourceServerArn" Data..= sourceServerArn)+ ]+ )++instance Data.ToPath CreateExtendedSourceServer where+ toPath = Prelude.const "/CreateExtendedSourceServer"++instance Data.ToQuery CreateExtendedSourceServer where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateExtendedSourceServerResponse' smart constructor.+data CreateExtendedSourceServerResponse = CreateExtendedSourceServerResponse'+ { -- | Created extended source server.+ sourceServer :: Prelude.Maybe SourceServer,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateExtendedSourceServerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceServer', 'createExtendedSourceServerResponse_sourceServer' - Created extended source server.+--+-- 'httpStatus', 'createExtendedSourceServerResponse_httpStatus' - The response's http status code.+newCreateExtendedSourceServerResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateExtendedSourceServerResponse+newCreateExtendedSourceServerResponse pHttpStatus_ =+ CreateExtendedSourceServerResponse'+ { sourceServer =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Created extended source server.+createExtendedSourceServerResponse_sourceServer :: Lens.Lens' CreateExtendedSourceServerResponse (Prelude.Maybe SourceServer)+createExtendedSourceServerResponse_sourceServer = Lens.lens (\CreateExtendedSourceServerResponse' {sourceServer} -> sourceServer) (\s@CreateExtendedSourceServerResponse' {} a -> s {sourceServer = a} :: CreateExtendedSourceServerResponse)++-- | The response's http status code.+createExtendedSourceServerResponse_httpStatus :: Lens.Lens' CreateExtendedSourceServerResponse Prelude.Int+createExtendedSourceServerResponse_httpStatus = Lens.lens (\CreateExtendedSourceServerResponse' {httpStatus} -> httpStatus) (\s@CreateExtendedSourceServerResponse' {} a -> s {httpStatus = a} :: CreateExtendedSourceServerResponse)++instance+ Prelude.NFData+ CreateExtendedSourceServerResponse+ where+ rnf CreateExtendedSourceServerResponse' {..} =+ Prelude.rnf sourceServer+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/CreateReplicationConfigurationTemplate.hs view
@@ -0,0 +1,410 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.CreateReplicationConfigurationTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new ReplicationConfigurationTemplate.+module Amazonka.DrS.CreateReplicationConfigurationTemplate+ ( -- * Creating a Request+ CreateReplicationConfigurationTemplate (..),+ newCreateReplicationConfigurationTemplate,++ -- * Request Lenses+ createReplicationConfigurationTemplate_ebsEncryptionKeyArn,+ createReplicationConfigurationTemplate_tags,+ createReplicationConfigurationTemplate_associateDefaultSecurityGroup,+ createReplicationConfigurationTemplate_bandwidthThrottling,+ createReplicationConfigurationTemplate_createPublicIP,+ createReplicationConfigurationTemplate_dataPlaneRouting,+ createReplicationConfigurationTemplate_defaultLargeStagingDiskType,+ createReplicationConfigurationTemplate_ebsEncryption,+ createReplicationConfigurationTemplate_pitPolicy,+ createReplicationConfigurationTemplate_replicationServerInstanceType,+ createReplicationConfigurationTemplate_replicationServersSecurityGroupsIDs,+ createReplicationConfigurationTemplate_stagingAreaSubnetId,+ createReplicationConfigurationTemplate_stagingAreaTags,+ createReplicationConfigurationTemplate_useDedicatedReplicationServer,++ -- * Destructuring the Response+ ReplicationConfigurationTemplate (..),+ newReplicationConfigurationTemplate,++ -- * Response Lenses+ replicationConfigurationTemplate_arn,+ replicationConfigurationTemplate_associateDefaultSecurityGroup,+ replicationConfigurationTemplate_bandwidthThrottling,+ replicationConfigurationTemplate_createPublicIP,+ replicationConfigurationTemplate_dataPlaneRouting,+ replicationConfigurationTemplate_defaultLargeStagingDiskType,+ replicationConfigurationTemplate_ebsEncryption,+ replicationConfigurationTemplate_ebsEncryptionKeyArn,+ replicationConfigurationTemplate_pitPolicy,+ replicationConfigurationTemplate_replicationServerInstanceType,+ replicationConfigurationTemplate_replicationServersSecurityGroupsIDs,+ replicationConfigurationTemplate_stagingAreaSubnetId,+ replicationConfigurationTemplate_stagingAreaTags,+ replicationConfigurationTemplate_tags,+ replicationConfigurationTemplate_useDedicatedReplicationServer,+ replicationConfigurationTemplate_replicationConfigurationTemplateID,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateReplicationConfigurationTemplate' smart constructor.+data CreateReplicationConfigurationTemplate = CreateReplicationConfigurationTemplate'+ { -- | The ARN of the EBS encryption key to be used during replication.+ ebsEncryptionKeyArn :: Prelude.Maybe Prelude.Text,+ -- | A set of tags to be associated with the Replication Configuration+ -- Template resource.+ tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | Whether to associate the default Elastic Disaster Recovery Security+ -- group with the Replication Configuration Template.+ associateDefaultSecurityGroup :: Prelude.Bool,+ -- | Configure bandwidth throttling for the outbound data transfer rate of+ -- the Source Server in Mbps.+ bandwidthThrottling :: Prelude.Natural,+ -- | Whether to create a Public IP for the Recovery Instance by default.+ createPublicIP :: Prelude.Bool,+ -- | The data plane routing mechanism that will be used for replication.+ dataPlaneRouting :: ReplicationConfigurationDataPlaneRouting,+ -- | The Staging Disk EBS volume type to be used during replication.+ defaultLargeStagingDiskType :: ReplicationConfigurationDefaultLargeStagingDiskType,+ -- | The type of EBS encryption to be used during replication.+ ebsEncryption :: ReplicationConfigurationEbsEncryption,+ -- | The Point in time (PIT) policy to manage snapshots taken during+ -- replication.+ pitPolicy :: Prelude.NonEmpty PITPolicyRule,+ -- | The instance type to be used for the replication server.+ replicationServerInstanceType :: Prelude.Text,+ -- | The security group IDs that will be used by the replication server.+ replicationServersSecurityGroupsIDs :: [Prelude.Text],+ -- | The subnet to be used by the replication staging area.+ stagingAreaSubnetId :: Prelude.Text,+ -- | A set of tags to be associated with all resources created in the+ -- replication staging area: EC2 replication server, EBS volumes, EBS+ -- snapshots, etc.+ stagingAreaTags :: Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Whether to use a dedicated Replication Server in the replication staging+ -- area.+ useDedicatedReplicationServer :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateReplicationConfigurationTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ebsEncryptionKeyArn', 'createReplicationConfigurationTemplate_ebsEncryptionKeyArn' - The ARN of the EBS encryption key to be used during replication.+--+-- 'tags', 'createReplicationConfigurationTemplate_tags' - A set of tags to be associated with the Replication Configuration+-- Template resource.+--+-- 'associateDefaultSecurityGroup', 'createReplicationConfigurationTemplate_associateDefaultSecurityGroup' - Whether to associate the default Elastic Disaster Recovery Security+-- group with the Replication Configuration Template.+--+-- 'bandwidthThrottling', 'createReplicationConfigurationTemplate_bandwidthThrottling' - Configure bandwidth throttling for the outbound data transfer rate of+-- the Source Server in Mbps.+--+-- 'createPublicIP', 'createReplicationConfigurationTemplate_createPublicIP' - Whether to create a Public IP for the Recovery Instance by default.+--+-- 'dataPlaneRouting', 'createReplicationConfigurationTemplate_dataPlaneRouting' - The data plane routing mechanism that will be used for replication.+--+-- 'defaultLargeStagingDiskType', 'createReplicationConfigurationTemplate_defaultLargeStagingDiskType' - The Staging Disk EBS volume type to be used during replication.+--+-- 'ebsEncryption', 'createReplicationConfigurationTemplate_ebsEncryption' - The type of EBS encryption to be used during replication.+--+-- 'pitPolicy', 'createReplicationConfigurationTemplate_pitPolicy' - The Point in time (PIT) policy to manage snapshots taken during+-- replication.+--+-- 'replicationServerInstanceType', 'createReplicationConfigurationTemplate_replicationServerInstanceType' - The instance type to be used for the replication server.+--+-- 'replicationServersSecurityGroupsIDs', 'createReplicationConfigurationTemplate_replicationServersSecurityGroupsIDs' - The security group IDs that will be used by the replication server.+--+-- 'stagingAreaSubnetId', 'createReplicationConfigurationTemplate_stagingAreaSubnetId' - The subnet to be used by the replication staging area.+--+-- 'stagingAreaTags', 'createReplicationConfigurationTemplate_stagingAreaTags' - A set of tags to be associated with all resources created in the+-- replication staging area: EC2 replication server, EBS volumes, EBS+-- snapshots, etc.+--+-- 'useDedicatedReplicationServer', 'createReplicationConfigurationTemplate_useDedicatedReplicationServer' - Whether to use a dedicated Replication Server in the replication staging+-- area.+newCreateReplicationConfigurationTemplate ::+ -- | 'associateDefaultSecurityGroup'+ Prelude.Bool ->+ -- | 'bandwidthThrottling'+ Prelude.Natural ->+ -- | 'createPublicIP'+ Prelude.Bool ->+ -- | 'dataPlaneRouting'+ ReplicationConfigurationDataPlaneRouting ->+ -- | 'defaultLargeStagingDiskType'+ ReplicationConfigurationDefaultLargeStagingDiskType ->+ -- | 'ebsEncryption'+ ReplicationConfigurationEbsEncryption ->+ -- | 'pitPolicy'+ Prelude.NonEmpty PITPolicyRule ->+ -- | 'replicationServerInstanceType'+ Prelude.Text ->+ -- | 'stagingAreaSubnetId'+ Prelude.Text ->+ -- | 'useDedicatedReplicationServer'+ Prelude.Bool ->+ CreateReplicationConfigurationTemplate+newCreateReplicationConfigurationTemplate+ pAssociateDefaultSecurityGroup_+ pBandwidthThrottling_+ pCreatePublicIP_+ pDataPlaneRouting_+ pDefaultLargeStagingDiskType_+ pEbsEncryption_+ pPitPolicy_+ pReplicationServerInstanceType_+ pStagingAreaSubnetId_+ pUseDedicatedReplicationServer_ =+ CreateReplicationConfigurationTemplate'+ { ebsEncryptionKeyArn =+ Prelude.Nothing,+ tags = Prelude.Nothing,+ associateDefaultSecurityGroup =+ pAssociateDefaultSecurityGroup_,+ bandwidthThrottling =+ pBandwidthThrottling_,+ createPublicIP = pCreatePublicIP_,+ dataPlaneRouting =+ pDataPlaneRouting_,+ defaultLargeStagingDiskType =+ pDefaultLargeStagingDiskType_,+ ebsEncryption = pEbsEncryption_,+ pitPolicy =+ Lens.coerced Lens.# pPitPolicy_,+ replicationServerInstanceType =+ pReplicationServerInstanceType_,+ replicationServersSecurityGroupsIDs =+ Prelude.mempty,+ stagingAreaSubnetId =+ pStagingAreaSubnetId_,+ stagingAreaTags = Prelude.mempty,+ useDedicatedReplicationServer =+ pUseDedicatedReplicationServer_+ }++-- | The ARN of the EBS encryption key to be used during replication.+createReplicationConfigurationTemplate_ebsEncryptionKeyArn :: Lens.Lens' CreateReplicationConfigurationTemplate (Prelude.Maybe Prelude.Text)+createReplicationConfigurationTemplate_ebsEncryptionKeyArn = Lens.lens (\CreateReplicationConfigurationTemplate' {ebsEncryptionKeyArn} -> ebsEncryptionKeyArn) (\s@CreateReplicationConfigurationTemplate' {} a -> s {ebsEncryptionKeyArn = a} :: CreateReplicationConfigurationTemplate)++-- | A set of tags to be associated with the Replication Configuration+-- Template resource.+createReplicationConfigurationTemplate_tags :: Lens.Lens' CreateReplicationConfigurationTemplate (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createReplicationConfigurationTemplate_tags = Lens.lens (\CreateReplicationConfigurationTemplate' {tags} -> tags) (\s@CreateReplicationConfigurationTemplate' {} a -> s {tags = a} :: CreateReplicationConfigurationTemplate) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Whether to associate the default Elastic Disaster Recovery Security+-- group with the Replication Configuration Template.+createReplicationConfigurationTemplate_associateDefaultSecurityGroup :: Lens.Lens' CreateReplicationConfigurationTemplate Prelude.Bool+createReplicationConfigurationTemplate_associateDefaultSecurityGroup = Lens.lens (\CreateReplicationConfigurationTemplate' {associateDefaultSecurityGroup} -> associateDefaultSecurityGroup) (\s@CreateReplicationConfigurationTemplate' {} a -> s {associateDefaultSecurityGroup = a} :: CreateReplicationConfigurationTemplate)++-- | Configure bandwidth throttling for the outbound data transfer rate of+-- the Source Server in Mbps.+createReplicationConfigurationTemplate_bandwidthThrottling :: Lens.Lens' CreateReplicationConfigurationTemplate Prelude.Natural+createReplicationConfigurationTemplate_bandwidthThrottling = Lens.lens (\CreateReplicationConfigurationTemplate' {bandwidthThrottling} -> bandwidthThrottling) (\s@CreateReplicationConfigurationTemplate' {} a -> s {bandwidthThrottling = a} :: CreateReplicationConfigurationTemplate)++-- | Whether to create a Public IP for the Recovery Instance by default.+createReplicationConfigurationTemplate_createPublicIP :: Lens.Lens' CreateReplicationConfigurationTemplate Prelude.Bool+createReplicationConfigurationTemplate_createPublicIP = Lens.lens (\CreateReplicationConfigurationTemplate' {createPublicIP} -> createPublicIP) (\s@CreateReplicationConfigurationTemplate' {} a -> s {createPublicIP = a} :: CreateReplicationConfigurationTemplate)++-- | The data plane routing mechanism that will be used for replication.+createReplicationConfigurationTemplate_dataPlaneRouting :: Lens.Lens' CreateReplicationConfigurationTemplate ReplicationConfigurationDataPlaneRouting+createReplicationConfigurationTemplate_dataPlaneRouting = Lens.lens (\CreateReplicationConfigurationTemplate' {dataPlaneRouting} -> dataPlaneRouting) (\s@CreateReplicationConfigurationTemplate' {} a -> s {dataPlaneRouting = a} :: CreateReplicationConfigurationTemplate)++-- | The Staging Disk EBS volume type to be used during replication.+createReplicationConfigurationTemplate_defaultLargeStagingDiskType :: Lens.Lens' CreateReplicationConfigurationTemplate ReplicationConfigurationDefaultLargeStagingDiskType+createReplicationConfigurationTemplate_defaultLargeStagingDiskType = Lens.lens (\CreateReplicationConfigurationTemplate' {defaultLargeStagingDiskType} -> defaultLargeStagingDiskType) (\s@CreateReplicationConfigurationTemplate' {} a -> s {defaultLargeStagingDiskType = a} :: CreateReplicationConfigurationTemplate)++-- | The type of EBS encryption to be used during replication.+createReplicationConfigurationTemplate_ebsEncryption :: Lens.Lens' CreateReplicationConfigurationTemplate ReplicationConfigurationEbsEncryption+createReplicationConfigurationTemplate_ebsEncryption = Lens.lens (\CreateReplicationConfigurationTemplate' {ebsEncryption} -> ebsEncryption) (\s@CreateReplicationConfigurationTemplate' {} a -> s {ebsEncryption = a} :: CreateReplicationConfigurationTemplate)++-- | The Point in time (PIT) policy to manage snapshots taken during+-- replication.+createReplicationConfigurationTemplate_pitPolicy :: Lens.Lens' CreateReplicationConfigurationTemplate (Prelude.NonEmpty PITPolicyRule)+createReplicationConfigurationTemplate_pitPolicy = Lens.lens (\CreateReplicationConfigurationTemplate' {pitPolicy} -> pitPolicy) (\s@CreateReplicationConfigurationTemplate' {} a -> s {pitPolicy = a} :: CreateReplicationConfigurationTemplate) Prelude.. Lens.coerced++-- | The instance type to be used for the replication server.+createReplicationConfigurationTemplate_replicationServerInstanceType :: Lens.Lens' CreateReplicationConfigurationTemplate Prelude.Text+createReplicationConfigurationTemplate_replicationServerInstanceType = Lens.lens (\CreateReplicationConfigurationTemplate' {replicationServerInstanceType} -> replicationServerInstanceType) (\s@CreateReplicationConfigurationTemplate' {} a -> s {replicationServerInstanceType = a} :: CreateReplicationConfigurationTemplate)++-- | The security group IDs that will be used by the replication server.+createReplicationConfigurationTemplate_replicationServersSecurityGroupsIDs :: Lens.Lens' CreateReplicationConfigurationTemplate [Prelude.Text]+createReplicationConfigurationTemplate_replicationServersSecurityGroupsIDs = Lens.lens (\CreateReplicationConfigurationTemplate' {replicationServersSecurityGroupsIDs} -> replicationServersSecurityGroupsIDs) (\s@CreateReplicationConfigurationTemplate' {} a -> s {replicationServersSecurityGroupsIDs = a} :: CreateReplicationConfigurationTemplate) Prelude.. Lens.coerced++-- | The subnet to be used by the replication staging area.+createReplicationConfigurationTemplate_stagingAreaSubnetId :: Lens.Lens' CreateReplicationConfigurationTemplate Prelude.Text+createReplicationConfigurationTemplate_stagingAreaSubnetId = Lens.lens (\CreateReplicationConfigurationTemplate' {stagingAreaSubnetId} -> stagingAreaSubnetId) (\s@CreateReplicationConfigurationTemplate' {} a -> s {stagingAreaSubnetId = a} :: CreateReplicationConfigurationTemplate)++-- | A set of tags to be associated with all resources created in the+-- replication staging area: EC2 replication server, EBS volumes, EBS+-- snapshots, etc.+createReplicationConfigurationTemplate_stagingAreaTags :: Lens.Lens' CreateReplicationConfigurationTemplate (Prelude.HashMap Prelude.Text Prelude.Text)+createReplicationConfigurationTemplate_stagingAreaTags = Lens.lens (\CreateReplicationConfigurationTemplate' {stagingAreaTags} -> stagingAreaTags) (\s@CreateReplicationConfigurationTemplate' {} a -> s {stagingAreaTags = a} :: CreateReplicationConfigurationTemplate) Prelude.. Data._Sensitive Prelude.. Lens.coerced++-- | Whether to use a dedicated Replication Server in the replication staging+-- area.+createReplicationConfigurationTemplate_useDedicatedReplicationServer :: Lens.Lens' CreateReplicationConfigurationTemplate Prelude.Bool+createReplicationConfigurationTemplate_useDedicatedReplicationServer = Lens.lens (\CreateReplicationConfigurationTemplate' {useDedicatedReplicationServer} -> useDedicatedReplicationServer) (\s@CreateReplicationConfigurationTemplate' {} a -> s {useDedicatedReplicationServer = a} :: CreateReplicationConfigurationTemplate)++instance+ Core.AWSRequest+ CreateReplicationConfigurationTemplate+ where+ type+ AWSResponse+ CreateReplicationConfigurationTemplate =+ ReplicationConfigurationTemplate+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance+ Prelude.Hashable+ CreateReplicationConfigurationTemplate+ where+ hashWithSalt+ _salt+ CreateReplicationConfigurationTemplate' {..} =+ _salt+ `Prelude.hashWithSalt` ebsEncryptionKeyArn+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` associateDefaultSecurityGroup+ `Prelude.hashWithSalt` bandwidthThrottling+ `Prelude.hashWithSalt` createPublicIP+ `Prelude.hashWithSalt` dataPlaneRouting+ `Prelude.hashWithSalt` defaultLargeStagingDiskType+ `Prelude.hashWithSalt` ebsEncryption+ `Prelude.hashWithSalt` pitPolicy+ `Prelude.hashWithSalt` replicationServerInstanceType+ `Prelude.hashWithSalt` replicationServersSecurityGroupsIDs+ `Prelude.hashWithSalt` stagingAreaSubnetId+ `Prelude.hashWithSalt` stagingAreaTags+ `Prelude.hashWithSalt` useDedicatedReplicationServer++instance+ Prelude.NFData+ CreateReplicationConfigurationTemplate+ where+ rnf CreateReplicationConfigurationTemplate' {..} =+ Prelude.rnf ebsEncryptionKeyArn+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf associateDefaultSecurityGroup+ `Prelude.seq` Prelude.rnf bandwidthThrottling+ `Prelude.seq` Prelude.rnf createPublicIP+ `Prelude.seq` Prelude.rnf dataPlaneRouting+ `Prelude.seq` Prelude.rnf defaultLargeStagingDiskType+ `Prelude.seq` Prelude.rnf ebsEncryption+ `Prelude.seq` Prelude.rnf pitPolicy+ `Prelude.seq` Prelude.rnf replicationServerInstanceType+ `Prelude.seq` Prelude.rnf replicationServersSecurityGroupsIDs+ `Prelude.seq` Prelude.rnf stagingAreaSubnetId+ `Prelude.seq` Prelude.rnf stagingAreaTags+ `Prelude.seq` Prelude.rnf useDedicatedReplicationServer++instance+ Data.ToHeaders+ CreateReplicationConfigurationTemplate+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ CreateReplicationConfigurationTemplate+ where+ toJSON CreateReplicationConfigurationTemplate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ebsEncryptionKeyArn" Data..=)+ Prelude.<$> ebsEncryptionKeyArn,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ( "associateDefaultSecurityGroup"+ Data..= associateDefaultSecurityGroup+ ),+ Prelude.Just+ ("bandwidthThrottling" Data..= bandwidthThrottling),+ Prelude.Just+ ("createPublicIP" Data..= createPublicIP),+ Prelude.Just+ ("dataPlaneRouting" Data..= dataPlaneRouting),+ Prelude.Just+ ( "defaultLargeStagingDiskType"+ Data..= defaultLargeStagingDiskType+ ),+ Prelude.Just ("ebsEncryption" Data..= ebsEncryption),+ Prelude.Just ("pitPolicy" Data..= pitPolicy),+ Prelude.Just+ ( "replicationServerInstanceType"+ Data..= replicationServerInstanceType+ ),+ Prelude.Just+ ( "replicationServersSecurityGroupsIDs"+ Data..= replicationServersSecurityGroupsIDs+ ),+ Prelude.Just+ ("stagingAreaSubnetId" Data..= stagingAreaSubnetId),+ Prelude.Just+ ("stagingAreaTags" Data..= stagingAreaTags),+ Prelude.Just+ ( "useDedicatedReplicationServer"+ Data..= useDedicatedReplicationServer+ )+ ]+ )++instance+ Data.ToPath+ CreateReplicationConfigurationTemplate+ where+ toPath =+ Prelude.const+ "/CreateReplicationConfigurationTemplate"++instance+ Data.ToQuery+ CreateReplicationConfigurationTemplate+ where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/DrS/DeleteJob.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.DeleteJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a single Job by ID.+module Amazonka.DrS.DeleteJob+ ( -- * Creating a Request+ DeleteJob (..),+ newDeleteJob,++ -- * Request Lenses+ deleteJob_jobID,++ -- * Destructuring the Response+ DeleteJobResponse (..),+ newDeleteJobResponse,++ -- * Response Lenses+ deleteJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteJob' smart constructor.+data DeleteJob = DeleteJob'+ { -- | The ID of the Job to be deleted.+ jobID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobID', 'deleteJob_jobID' - The ID of the Job to be deleted.+newDeleteJob ::+ -- | 'jobID'+ Prelude.Text ->+ DeleteJob+newDeleteJob pJobID_ = DeleteJob' {jobID = pJobID_}++-- | The ID of the Job to be deleted.+deleteJob_jobID :: Lens.Lens' DeleteJob Prelude.Text+deleteJob_jobID = Lens.lens (\DeleteJob' {jobID} -> jobID) (\s@DeleteJob' {} a -> s {jobID = a} :: DeleteJob)++instance Core.AWSRequest DeleteJob where+ type AWSResponse DeleteJob = DeleteJobResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteJobResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteJob where+ hashWithSalt _salt DeleteJob' {..} =+ _salt `Prelude.hashWithSalt` jobID++instance Prelude.NFData DeleteJob where+ rnf DeleteJob' {..} = Prelude.rnf jobID++instance Data.ToHeaders DeleteJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteJob where+ toJSON DeleteJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("jobID" Data..= jobID)]+ )++instance Data.ToPath DeleteJob where+ toPath = Prelude.const "/DeleteJob"++instance Data.ToQuery DeleteJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteJobResponse' smart constructor.+data DeleteJobResponse = DeleteJobResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteJobResponse_httpStatus' - The response's http status code.+newDeleteJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteJobResponse+newDeleteJobResponse pHttpStatus_ =+ DeleteJobResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteJobResponse_httpStatus :: Lens.Lens' DeleteJobResponse Prelude.Int+deleteJobResponse_httpStatus = Lens.lens (\DeleteJobResponse' {httpStatus} -> httpStatus) (\s@DeleteJobResponse' {} a -> s {httpStatus = a} :: DeleteJobResponse)++instance Prelude.NFData DeleteJobResponse where+ rnf DeleteJobResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/DrS/DeleteRecoveryInstance.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.DeleteRecoveryInstance+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a single Recovery Instance by ID. This deletes the Recovery+-- Instance resource from Elastic Disaster Recovery. The Recovery Instance+-- must be disconnected first in order to delete it.+module Amazonka.DrS.DeleteRecoveryInstance+ ( -- * Creating a Request+ DeleteRecoveryInstance (..),+ newDeleteRecoveryInstance,++ -- * Request Lenses+ deleteRecoveryInstance_recoveryInstanceID,++ -- * Destructuring the Response+ DeleteRecoveryInstanceResponse (..),+ newDeleteRecoveryInstanceResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteRecoveryInstance' smart constructor.+data DeleteRecoveryInstance = DeleteRecoveryInstance'+ { -- | The ID of the Recovery Instance to be deleted.+ recoveryInstanceID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRecoveryInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'recoveryInstanceID', 'deleteRecoveryInstance_recoveryInstanceID' - The ID of the Recovery Instance to be deleted.+newDeleteRecoveryInstance ::+ -- | 'recoveryInstanceID'+ Prelude.Text ->+ DeleteRecoveryInstance+newDeleteRecoveryInstance pRecoveryInstanceID_ =+ DeleteRecoveryInstance'+ { recoveryInstanceID =+ pRecoveryInstanceID_+ }++-- | The ID of the Recovery Instance to be deleted.+deleteRecoveryInstance_recoveryInstanceID :: Lens.Lens' DeleteRecoveryInstance Prelude.Text+deleteRecoveryInstance_recoveryInstanceID = Lens.lens (\DeleteRecoveryInstance' {recoveryInstanceID} -> recoveryInstanceID) (\s@DeleteRecoveryInstance' {} a -> s {recoveryInstanceID = a} :: DeleteRecoveryInstance)++instance Core.AWSRequest DeleteRecoveryInstance where+ type+ AWSResponse DeleteRecoveryInstance =+ DeleteRecoveryInstanceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveNull+ DeleteRecoveryInstanceResponse'++instance Prelude.Hashable DeleteRecoveryInstance where+ hashWithSalt _salt DeleteRecoveryInstance' {..} =+ _salt `Prelude.hashWithSalt` recoveryInstanceID++instance Prelude.NFData DeleteRecoveryInstance where+ rnf DeleteRecoveryInstance' {..} =+ Prelude.rnf recoveryInstanceID++instance Data.ToHeaders DeleteRecoveryInstance where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteRecoveryInstance where+ toJSON DeleteRecoveryInstance' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("recoveryInstanceID" Data..= recoveryInstanceID)+ ]+ )++instance Data.ToPath DeleteRecoveryInstance where+ toPath = Prelude.const "/DeleteRecoveryInstance"++instance Data.ToQuery DeleteRecoveryInstance where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteRecoveryInstanceResponse' smart constructor.+data DeleteRecoveryInstanceResponse = DeleteRecoveryInstanceResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRecoveryInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteRecoveryInstanceResponse ::+ DeleteRecoveryInstanceResponse+newDeleteRecoveryInstanceResponse =+ DeleteRecoveryInstanceResponse'++instance+ Prelude.NFData+ DeleteRecoveryInstanceResponse+ where+ rnf _ = ()
+ gen/Amazonka/DrS/DeleteReplicationConfigurationTemplate.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.DeleteReplicationConfigurationTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a single Replication Configuration Template by ID+module Amazonka.DrS.DeleteReplicationConfigurationTemplate+ ( -- * Creating a Request+ DeleteReplicationConfigurationTemplate (..),+ newDeleteReplicationConfigurationTemplate,++ -- * Request Lenses+ deleteReplicationConfigurationTemplate_replicationConfigurationTemplateID,++ -- * Destructuring the Response+ DeleteReplicationConfigurationTemplateResponse (..),+ newDeleteReplicationConfigurationTemplateResponse,++ -- * Response Lenses+ deleteReplicationConfigurationTemplateResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteReplicationConfigurationTemplate' smart constructor.+data DeleteReplicationConfigurationTemplate = DeleteReplicationConfigurationTemplate'+ { -- | The ID of the Replication Configuration Template to be deleted.+ replicationConfigurationTemplateID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteReplicationConfigurationTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'replicationConfigurationTemplateID', 'deleteReplicationConfigurationTemplate_replicationConfigurationTemplateID' - The ID of the Replication Configuration Template to be deleted.+newDeleteReplicationConfigurationTemplate ::+ -- | 'replicationConfigurationTemplateID'+ Prelude.Text ->+ DeleteReplicationConfigurationTemplate+newDeleteReplicationConfigurationTemplate+ pReplicationConfigurationTemplateID_ =+ DeleteReplicationConfigurationTemplate'+ { replicationConfigurationTemplateID =+ pReplicationConfigurationTemplateID_+ }++-- | The ID of the Replication Configuration Template to be deleted.+deleteReplicationConfigurationTemplate_replicationConfigurationTemplateID :: Lens.Lens' DeleteReplicationConfigurationTemplate Prelude.Text+deleteReplicationConfigurationTemplate_replicationConfigurationTemplateID = Lens.lens (\DeleteReplicationConfigurationTemplate' {replicationConfigurationTemplateID} -> replicationConfigurationTemplateID) (\s@DeleteReplicationConfigurationTemplate' {} a -> s {replicationConfigurationTemplateID = a} :: DeleteReplicationConfigurationTemplate)++instance+ Core.AWSRequest+ DeleteReplicationConfigurationTemplate+ where+ type+ AWSResponse+ DeleteReplicationConfigurationTemplate =+ DeleteReplicationConfigurationTemplateResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteReplicationConfigurationTemplateResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DeleteReplicationConfigurationTemplate+ where+ hashWithSalt+ _salt+ DeleteReplicationConfigurationTemplate' {..} =+ _salt+ `Prelude.hashWithSalt` replicationConfigurationTemplateID++instance+ Prelude.NFData+ DeleteReplicationConfigurationTemplate+ where+ rnf DeleteReplicationConfigurationTemplate' {..} =+ Prelude.rnf replicationConfigurationTemplateID++instance+ Data.ToHeaders+ DeleteReplicationConfigurationTemplate+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ DeleteReplicationConfigurationTemplate+ where+ toJSON DeleteReplicationConfigurationTemplate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "replicationConfigurationTemplateID"+ Data..= replicationConfigurationTemplateID+ )+ ]+ )++instance+ Data.ToPath+ DeleteReplicationConfigurationTemplate+ where+ toPath =+ Prelude.const+ "/DeleteReplicationConfigurationTemplate"++instance+ Data.ToQuery+ DeleteReplicationConfigurationTemplate+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteReplicationConfigurationTemplateResponse' smart constructor.+data DeleteReplicationConfigurationTemplateResponse = DeleteReplicationConfigurationTemplateResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteReplicationConfigurationTemplateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteReplicationConfigurationTemplateResponse_httpStatus' - The response's http status code.+newDeleteReplicationConfigurationTemplateResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteReplicationConfigurationTemplateResponse+newDeleteReplicationConfigurationTemplateResponse+ pHttpStatus_ =+ DeleteReplicationConfigurationTemplateResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteReplicationConfigurationTemplateResponse_httpStatus :: Lens.Lens' DeleteReplicationConfigurationTemplateResponse Prelude.Int+deleteReplicationConfigurationTemplateResponse_httpStatus = Lens.lens (\DeleteReplicationConfigurationTemplateResponse' {httpStatus} -> httpStatus) (\s@DeleteReplicationConfigurationTemplateResponse' {} a -> s {httpStatus = a} :: DeleteReplicationConfigurationTemplateResponse)++instance+ Prelude.NFData+ DeleteReplicationConfigurationTemplateResponse+ where+ rnf+ DeleteReplicationConfigurationTemplateResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/DrS/DeleteSourceServer.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.DeleteSourceServer+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a single Source Server by ID. The Source Server must be+-- disconnected first.+module Amazonka.DrS.DeleteSourceServer+ ( -- * Creating a Request+ DeleteSourceServer (..),+ newDeleteSourceServer,++ -- * Request Lenses+ deleteSourceServer_sourceServerID,++ -- * Destructuring the Response+ DeleteSourceServerResponse (..),+ newDeleteSourceServerResponse,++ -- * Response Lenses+ deleteSourceServerResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteSourceServer' smart constructor.+data DeleteSourceServer = DeleteSourceServer'+ { -- | The ID of the Source Server to be deleted.+ sourceServerID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSourceServer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceServerID', 'deleteSourceServer_sourceServerID' - The ID of the Source Server to be deleted.+newDeleteSourceServer ::+ -- | 'sourceServerID'+ Prelude.Text ->+ DeleteSourceServer+newDeleteSourceServer pSourceServerID_ =+ DeleteSourceServer'+ { sourceServerID =+ pSourceServerID_+ }++-- | The ID of the Source Server to be deleted.+deleteSourceServer_sourceServerID :: Lens.Lens' DeleteSourceServer Prelude.Text+deleteSourceServer_sourceServerID = Lens.lens (\DeleteSourceServer' {sourceServerID} -> sourceServerID) (\s@DeleteSourceServer' {} a -> s {sourceServerID = a} :: DeleteSourceServer)++instance Core.AWSRequest DeleteSourceServer where+ type+ AWSResponse DeleteSourceServer =+ DeleteSourceServerResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteSourceServerResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteSourceServer where+ hashWithSalt _salt DeleteSourceServer' {..} =+ _salt `Prelude.hashWithSalt` sourceServerID++instance Prelude.NFData DeleteSourceServer where+ rnf DeleteSourceServer' {..} =+ Prelude.rnf sourceServerID++instance Data.ToHeaders DeleteSourceServer where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteSourceServer where+ toJSON DeleteSourceServer' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("sourceServerID" Data..= sourceServerID)+ ]+ )++instance Data.ToPath DeleteSourceServer where+ toPath = Prelude.const "/DeleteSourceServer"++instance Data.ToQuery DeleteSourceServer where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSourceServerResponse' smart constructor.+data DeleteSourceServerResponse = DeleteSourceServerResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSourceServerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteSourceServerResponse_httpStatus' - The response's http status code.+newDeleteSourceServerResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteSourceServerResponse+newDeleteSourceServerResponse pHttpStatus_ =+ DeleteSourceServerResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteSourceServerResponse_httpStatus :: Lens.Lens' DeleteSourceServerResponse Prelude.Int+deleteSourceServerResponse_httpStatus = Lens.lens (\DeleteSourceServerResponse' {httpStatus} -> httpStatus) (\s@DeleteSourceServerResponse' {} a -> s {httpStatus = a} :: DeleteSourceServerResponse)++instance Prelude.NFData DeleteSourceServerResponse where+ rnf DeleteSourceServerResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/DrS/DescribeJobLogItems.hs view
@@ -0,0 +1,231 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.DescribeJobLogItems+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a detailed Job log with pagination.+--+-- This operation returns paginated results.+module Amazonka.DrS.DescribeJobLogItems+ ( -- * Creating a Request+ DescribeJobLogItems (..),+ newDescribeJobLogItems,++ -- * Request Lenses+ describeJobLogItems_maxResults,+ describeJobLogItems_nextToken,+ describeJobLogItems_jobID,++ -- * Destructuring the Response+ DescribeJobLogItemsResponse (..),+ newDescribeJobLogItemsResponse,++ -- * Response Lenses+ describeJobLogItemsResponse_items,+ describeJobLogItemsResponse_nextToken,+ describeJobLogItemsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeJobLogItems' smart constructor.+data DescribeJobLogItems = DescribeJobLogItems'+ { -- | Maximum number of Job log items to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token of the next Job log items to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Job for which Job log items will be retrieved.+ jobID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeJobLogItems' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'describeJobLogItems_maxResults' - Maximum number of Job log items to retrieve.+--+-- 'nextToken', 'describeJobLogItems_nextToken' - The token of the next Job log items to retrieve.+--+-- 'jobID', 'describeJobLogItems_jobID' - The ID of the Job for which Job log items will be retrieved.+newDescribeJobLogItems ::+ -- | 'jobID'+ Prelude.Text ->+ DescribeJobLogItems+newDescribeJobLogItems pJobID_ =+ DescribeJobLogItems'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ jobID = pJobID_+ }++-- | Maximum number of Job log items to retrieve.+describeJobLogItems_maxResults :: Lens.Lens' DescribeJobLogItems (Prelude.Maybe Prelude.Natural)+describeJobLogItems_maxResults = Lens.lens (\DescribeJobLogItems' {maxResults} -> maxResults) (\s@DescribeJobLogItems' {} a -> s {maxResults = a} :: DescribeJobLogItems)++-- | The token of the next Job log items to retrieve.+describeJobLogItems_nextToken :: Lens.Lens' DescribeJobLogItems (Prelude.Maybe Prelude.Text)+describeJobLogItems_nextToken = Lens.lens (\DescribeJobLogItems' {nextToken} -> nextToken) (\s@DescribeJobLogItems' {} a -> s {nextToken = a} :: DescribeJobLogItems)++-- | The ID of the Job for which Job log items will be retrieved.+describeJobLogItems_jobID :: Lens.Lens' DescribeJobLogItems Prelude.Text+describeJobLogItems_jobID = Lens.lens (\DescribeJobLogItems' {jobID} -> jobID) (\s@DescribeJobLogItems' {} a -> s {jobID = a} :: DescribeJobLogItems)++instance Core.AWSPager DescribeJobLogItems where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? describeJobLogItemsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? describeJobLogItemsResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& describeJobLogItems_nextToken+ Lens..~ rs+ Lens.^? describeJobLogItemsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest DescribeJobLogItems where+ type+ AWSResponse DescribeJobLogItems =+ DescribeJobLogItemsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeJobLogItemsResponse'+ Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeJobLogItems where+ hashWithSalt _salt DescribeJobLogItems' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` jobID++instance Prelude.NFData DescribeJobLogItems where+ rnf DescribeJobLogItems' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf jobID++instance Data.ToHeaders DescribeJobLogItems where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeJobLogItems where+ toJSON DescribeJobLogItems' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("jobID" Data..= jobID)+ ]+ )++instance Data.ToPath DescribeJobLogItems where+ toPath = Prelude.const "/DescribeJobLogItems"++instance Data.ToQuery DescribeJobLogItems where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeJobLogItemsResponse' smart constructor.+data DescribeJobLogItemsResponse = DescribeJobLogItemsResponse'+ { -- | An array of Job log items.+ items :: Prelude.Maybe [JobLog],+ -- | The token of the next Job log items to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeJobLogItemsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'describeJobLogItemsResponse_items' - An array of Job log items.+--+-- 'nextToken', 'describeJobLogItemsResponse_nextToken' - The token of the next Job log items to retrieve.+--+-- 'httpStatus', 'describeJobLogItemsResponse_httpStatus' - The response's http status code.+newDescribeJobLogItemsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeJobLogItemsResponse+newDescribeJobLogItemsResponse pHttpStatus_ =+ DescribeJobLogItemsResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of Job log items.+describeJobLogItemsResponse_items :: Lens.Lens' DescribeJobLogItemsResponse (Prelude.Maybe [JobLog])+describeJobLogItemsResponse_items = Lens.lens (\DescribeJobLogItemsResponse' {items} -> items) (\s@DescribeJobLogItemsResponse' {} a -> s {items = a} :: DescribeJobLogItemsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token of the next Job log items to retrieve.+describeJobLogItemsResponse_nextToken :: Lens.Lens' DescribeJobLogItemsResponse (Prelude.Maybe Prelude.Text)+describeJobLogItemsResponse_nextToken = Lens.lens (\DescribeJobLogItemsResponse' {nextToken} -> nextToken) (\s@DescribeJobLogItemsResponse' {} a -> s {nextToken = a} :: DescribeJobLogItemsResponse)++-- | The response's http status code.+describeJobLogItemsResponse_httpStatus :: Lens.Lens' DescribeJobLogItemsResponse Prelude.Int+describeJobLogItemsResponse_httpStatus = Lens.lens (\DescribeJobLogItemsResponse' {httpStatus} -> httpStatus) (\s@DescribeJobLogItemsResponse' {} a -> s {httpStatus = a} :: DescribeJobLogItemsResponse)++instance Prelude.NFData DescribeJobLogItemsResponse where+ rnf DescribeJobLogItemsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/DescribeJobs.hs view
@@ -0,0 +1,232 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.DescribeJobs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of Jobs. Use the JobsID and fromDate and toDate filters+-- to limit which jobs are returned. The response is sorted by+-- creationDataTime - latest date first. Jobs are created by the+-- StartRecovery, TerminateRecoveryInstances and StartFailbackLaunch APIs.+-- Jobs are also created by DiagnosticLaunch and+-- TerminateDiagnosticInstances, which are APIs available only to *Support*+-- and only used in response to relevant support tickets.+--+-- This operation returns paginated results.+module Amazonka.DrS.DescribeJobs+ ( -- * Creating a Request+ DescribeJobs (..),+ newDescribeJobs,++ -- * Request Lenses+ describeJobs_filters,+ describeJobs_maxResults,+ describeJobs_nextToken,++ -- * Destructuring the Response+ DescribeJobsResponse (..),+ newDescribeJobsResponse,++ -- * Response Lenses+ describeJobsResponse_items,+ describeJobsResponse_nextToken,+ describeJobsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeJobs' smart constructor.+data DescribeJobs = DescribeJobs'+ { -- | A set of filters by which to return Jobs.+ filters :: Prelude.Maybe DescribeJobsRequestFilters,+ -- | Maximum number of Jobs to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token of the next Job to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'describeJobs_filters' - A set of filters by which to return Jobs.+--+-- 'maxResults', 'describeJobs_maxResults' - Maximum number of Jobs to retrieve.+--+-- 'nextToken', 'describeJobs_nextToken' - The token of the next Job to retrieve.+newDescribeJobs ::+ DescribeJobs+newDescribeJobs =+ DescribeJobs'+ { filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | A set of filters by which to return Jobs.+describeJobs_filters :: Lens.Lens' DescribeJobs (Prelude.Maybe DescribeJobsRequestFilters)+describeJobs_filters = Lens.lens (\DescribeJobs' {filters} -> filters) (\s@DescribeJobs' {} a -> s {filters = a} :: DescribeJobs)++-- | Maximum number of Jobs to retrieve.+describeJobs_maxResults :: Lens.Lens' DescribeJobs (Prelude.Maybe Prelude.Natural)+describeJobs_maxResults = Lens.lens (\DescribeJobs' {maxResults} -> maxResults) (\s@DescribeJobs' {} a -> s {maxResults = a} :: DescribeJobs)++-- | The token of the next Job to retrieve.+describeJobs_nextToken :: Lens.Lens' DescribeJobs (Prelude.Maybe Prelude.Text)+describeJobs_nextToken = Lens.lens (\DescribeJobs' {nextToken} -> nextToken) (\s@DescribeJobs' {} a -> s {nextToken = a} :: DescribeJobs)++instance Core.AWSPager DescribeJobs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? describeJobsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? describeJobsResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& describeJobs_nextToken+ Lens..~ rs+ Lens.^? describeJobsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest DescribeJobs where+ type AWSResponse DescribeJobs = DescribeJobsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeJobsResponse'+ Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeJobs where+ hashWithSalt _salt DescribeJobs' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData DescribeJobs where+ rnf DescribeJobs' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders DescribeJobs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeJobs where+ toJSON DescribeJobs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("filters" Data..=) Prelude.<$> filters,+ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath DescribeJobs where+ toPath = Prelude.const "/DescribeJobs"++instance Data.ToQuery DescribeJobs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeJobsResponse' smart constructor.+data DescribeJobsResponse = DescribeJobsResponse'+ { -- | An array of Jobs.+ items :: Prelude.Maybe [Job],+ -- | The token of the next Job to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'describeJobsResponse_items' - An array of Jobs.+--+-- 'nextToken', 'describeJobsResponse_nextToken' - The token of the next Job to retrieve.+--+-- 'httpStatus', 'describeJobsResponse_httpStatus' - The response's http status code.+newDescribeJobsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeJobsResponse+newDescribeJobsResponse pHttpStatus_ =+ DescribeJobsResponse'+ { items = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of Jobs.+describeJobsResponse_items :: Lens.Lens' DescribeJobsResponse (Prelude.Maybe [Job])+describeJobsResponse_items = Lens.lens (\DescribeJobsResponse' {items} -> items) (\s@DescribeJobsResponse' {} a -> s {items = a} :: DescribeJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token of the next Job to retrieve.+describeJobsResponse_nextToken :: Lens.Lens' DescribeJobsResponse (Prelude.Maybe Prelude.Text)+describeJobsResponse_nextToken = Lens.lens (\DescribeJobsResponse' {nextToken} -> nextToken) (\s@DescribeJobsResponse' {} a -> s {nextToken = a} :: DescribeJobsResponse)++-- | The response's http status code.+describeJobsResponse_httpStatus :: Lens.Lens' DescribeJobsResponse Prelude.Int+describeJobsResponse_httpStatus = Lens.lens (\DescribeJobsResponse' {httpStatus} -> httpStatus) (\s@DescribeJobsResponse' {} a -> s {httpStatus = a} :: DescribeJobsResponse)++instance Prelude.NFData DescribeJobsResponse where+ rnf DescribeJobsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/DescribeRecoveryInstances.hs view
@@ -0,0 +1,233 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.DescribeRecoveryInstances+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all Recovery Instances or multiple Recovery Instances by ID.+--+-- This operation returns paginated results.+module Amazonka.DrS.DescribeRecoveryInstances+ ( -- * Creating a Request+ DescribeRecoveryInstances (..),+ newDescribeRecoveryInstances,++ -- * Request Lenses+ describeRecoveryInstances_filters,+ describeRecoveryInstances_maxResults,+ describeRecoveryInstances_nextToken,++ -- * Destructuring the Response+ DescribeRecoveryInstancesResponse (..),+ newDescribeRecoveryInstancesResponse,++ -- * Response Lenses+ describeRecoveryInstancesResponse_items,+ describeRecoveryInstancesResponse_nextToken,+ describeRecoveryInstancesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeRecoveryInstances' smart constructor.+data DescribeRecoveryInstances = DescribeRecoveryInstances'+ { -- | A set of filters by which to return Recovery Instances.+ filters :: Prelude.Maybe DescribeRecoveryInstancesRequestFilters,+ -- | Maximum number of Recovery Instances to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token of the next Recovery Instance to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRecoveryInstances' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'describeRecoveryInstances_filters' - A set of filters by which to return Recovery Instances.+--+-- 'maxResults', 'describeRecoveryInstances_maxResults' - Maximum number of Recovery Instances to retrieve.+--+-- 'nextToken', 'describeRecoveryInstances_nextToken' - The token of the next Recovery Instance to retrieve.+newDescribeRecoveryInstances ::+ DescribeRecoveryInstances+newDescribeRecoveryInstances =+ DescribeRecoveryInstances'+ { filters =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | A set of filters by which to return Recovery Instances.+describeRecoveryInstances_filters :: Lens.Lens' DescribeRecoveryInstances (Prelude.Maybe DescribeRecoveryInstancesRequestFilters)+describeRecoveryInstances_filters = Lens.lens (\DescribeRecoveryInstances' {filters} -> filters) (\s@DescribeRecoveryInstances' {} a -> s {filters = a} :: DescribeRecoveryInstances)++-- | Maximum number of Recovery Instances to retrieve.+describeRecoveryInstances_maxResults :: Lens.Lens' DescribeRecoveryInstances (Prelude.Maybe Prelude.Natural)+describeRecoveryInstances_maxResults = Lens.lens (\DescribeRecoveryInstances' {maxResults} -> maxResults) (\s@DescribeRecoveryInstances' {} a -> s {maxResults = a} :: DescribeRecoveryInstances)++-- | The token of the next Recovery Instance to retrieve.+describeRecoveryInstances_nextToken :: Lens.Lens' DescribeRecoveryInstances (Prelude.Maybe Prelude.Text)+describeRecoveryInstances_nextToken = Lens.lens (\DescribeRecoveryInstances' {nextToken} -> nextToken) (\s@DescribeRecoveryInstances' {} a -> s {nextToken = a} :: DescribeRecoveryInstances)++instance Core.AWSPager DescribeRecoveryInstances where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? describeRecoveryInstancesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? describeRecoveryInstancesResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& describeRecoveryInstances_nextToken+ Lens..~ rs+ Lens.^? describeRecoveryInstancesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest DescribeRecoveryInstances where+ type+ AWSResponse DescribeRecoveryInstances =+ DescribeRecoveryInstancesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeRecoveryInstancesResponse'+ Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeRecoveryInstances where+ hashWithSalt _salt DescribeRecoveryInstances' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData DescribeRecoveryInstances where+ rnf DescribeRecoveryInstances' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders DescribeRecoveryInstances where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeRecoveryInstances where+ toJSON DescribeRecoveryInstances' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("filters" Data..=) Prelude.<$> filters,+ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath DescribeRecoveryInstances where+ toPath = Prelude.const "/DescribeRecoveryInstances"++instance Data.ToQuery DescribeRecoveryInstances where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeRecoveryInstancesResponse' smart constructor.+data DescribeRecoveryInstancesResponse = DescribeRecoveryInstancesResponse'+ { -- | An array of Recovery Instances.+ items :: Prelude.Maybe [RecoveryInstance],+ -- | The token of the next Recovery Instance to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRecoveryInstancesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'describeRecoveryInstancesResponse_items' - An array of Recovery Instances.+--+-- 'nextToken', 'describeRecoveryInstancesResponse_nextToken' - The token of the next Recovery Instance to retrieve.+--+-- 'httpStatus', 'describeRecoveryInstancesResponse_httpStatus' - The response's http status code.+newDescribeRecoveryInstancesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeRecoveryInstancesResponse+newDescribeRecoveryInstancesResponse pHttpStatus_ =+ DescribeRecoveryInstancesResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of Recovery Instances.+describeRecoveryInstancesResponse_items :: Lens.Lens' DescribeRecoveryInstancesResponse (Prelude.Maybe [RecoveryInstance])+describeRecoveryInstancesResponse_items = Lens.lens (\DescribeRecoveryInstancesResponse' {items} -> items) (\s@DescribeRecoveryInstancesResponse' {} a -> s {items = a} :: DescribeRecoveryInstancesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token of the next Recovery Instance to retrieve.+describeRecoveryInstancesResponse_nextToken :: Lens.Lens' DescribeRecoveryInstancesResponse (Prelude.Maybe Prelude.Text)+describeRecoveryInstancesResponse_nextToken = Lens.lens (\DescribeRecoveryInstancesResponse' {nextToken} -> nextToken) (\s@DescribeRecoveryInstancesResponse' {} a -> s {nextToken = a} :: DescribeRecoveryInstancesResponse)++-- | The response's http status code.+describeRecoveryInstancesResponse_httpStatus :: Lens.Lens' DescribeRecoveryInstancesResponse Prelude.Int+describeRecoveryInstancesResponse_httpStatus = Lens.lens (\DescribeRecoveryInstancesResponse' {httpStatus} -> httpStatus) (\s@DescribeRecoveryInstancesResponse' {} a -> s {httpStatus = a} :: DescribeRecoveryInstancesResponse)++instance+ Prelude.NFData+ DescribeRecoveryInstancesResponse+ where+ rnf DescribeRecoveryInstancesResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/DescribeRecoverySnapshots.hs view
@@ -0,0 +1,262 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.DescribeRecoverySnapshots+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all Recovery Snapshots for a single Source Server.+--+-- This operation returns paginated results.+module Amazonka.DrS.DescribeRecoverySnapshots+ ( -- * Creating a Request+ DescribeRecoverySnapshots (..),+ newDescribeRecoverySnapshots,++ -- * Request Lenses+ describeRecoverySnapshots_filters,+ describeRecoverySnapshots_maxResults,+ describeRecoverySnapshots_nextToken,+ describeRecoverySnapshots_order,+ describeRecoverySnapshots_sourceServerID,++ -- * Destructuring the Response+ DescribeRecoverySnapshotsResponse (..),+ newDescribeRecoverySnapshotsResponse,++ -- * Response Lenses+ describeRecoverySnapshotsResponse_items,+ describeRecoverySnapshotsResponse_nextToken,+ describeRecoverySnapshotsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeRecoverySnapshots' smart constructor.+data DescribeRecoverySnapshots = DescribeRecoverySnapshots'+ { -- | A set of filters by which to return Recovery Snapshots.+ filters :: Prelude.Maybe DescribeRecoverySnapshotsRequestFilters,+ -- | Maximum number of Recovery Snapshots to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token of the next Recovery Snapshot to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The sorted ordering by which to return Recovery Snapshots.+ order :: Prelude.Maybe RecoverySnapshotsOrder,+ -- | Filter Recovery Snapshots by Source Server ID.+ sourceServerID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRecoverySnapshots' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'describeRecoverySnapshots_filters' - A set of filters by which to return Recovery Snapshots.+--+-- 'maxResults', 'describeRecoverySnapshots_maxResults' - Maximum number of Recovery Snapshots to retrieve.+--+-- 'nextToken', 'describeRecoverySnapshots_nextToken' - The token of the next Recovery Snapshot to retrieve.+--+-- 'order', 'describeRecoverySnapshots_order' - The sorted ordering by which to return Recovery Snapshots.+--+-- 'sourceServerID', 'describeRecoverySnapshots_sourceServerID' - Filter Recovery Snapshots by Source Server ID.+newDescribeRecoverySnapshots ::+ -- | 'sourceServerID'+ Prelude.Text ->+ DescribeRecoverySnapshots+newDescribeRecoverySnapshots pSourceServerID_ =+ DescribeRecoverySnapshots'+ { filters =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ order = Prelude.Nothing,+ sourceServerID = pSourceServerID_+ }++-- | A set of filters by which to return Recovery Snapshots.+describeRecoverySnapshots_filters :: Lens.Lens' DescribeRecoverySnapshots (Prelude.Maybe DescribeRecoverySnapshotsRequestFilters)+describeRecoverySnapshots_filters = Lens.lens (\DescribeRecoverySnapshots' {filters} -> filters) (\s@DescribeRecoverySnapshots' {} a -> s {filters = a} :: DescribeRecoverySnapshots)++-- | Maximum number of Recovery Snapshots to retrieve.+describeRecoverySnapshots_maxResults :: Lens.Lens' DescribeRecoverySnapshots (Prelude.Maybe Prelude.Natural)+describeRecoverySnapshots_maxResults = Lens.lens (\DescribeRecoverySnapshots' {maxResults} -> maxResults) (\s@DescribeRecoverySnapshots' {} a -> s {maxResults = a} :: DescribeRecoverySnapshots)++-- | The token of the next Recovery Snapshot to retrieve.+describeRecoverySnapshots_nextToken :: Lens.Lens' DescribeRecoverySnapshots (Prelude.Maybe Prelude.Text)+describeRecoverySnapshots_nextToken = Lens.lens (\DescribeRecoverySnapshots' {nextToken} -> nextToken) (\s@DescribeRecoverySnapshots' {} a -> s {nextToken = a} :: DescribeRecoverySnapshots)++-- | The sorted ordering by which to return Recovery Snapshots.+describeRecoverySnapshots_order :: Lens.Lens' DescribeRecoverySnapshots (Prelude.Maybe RecoverySnapshotsOrder)+describeRecoverySnapshots_order = Lens.lens (\DescribeRecoverySnapshots' {order} -> order) (\s@DescribeRecoverySnapshots' {} a -> s {order = a} :: DescribeRecoverySnapshots)++-- | Filter Recovery Snapshots by Source Server ID.+describeRecoverySnapshots_sourceServerID :: Lens.Lens' DescribeRecoverySnapshots Prelude.Text+describeRecoverySnapshots_sourceServerID = Lens.lens (\DescribeRecoverySnapshots' {sourceServerID} -> sourceServerID) (\s@DescribeRecoverySnapshots' {} a -> s {sourceServerID = a} :: DescribeRecoverySnapshots)++instance Core.AWSPager DescribeRecoverySnapshots where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? describeRecoverySnapshotsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? describeRecoverySnapshotsResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& describeRecoverySnapshots_nextToken+ Lens..~ rs+ Lens.^? describeRecoverySnapshotsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest DescribeRecoverySnapshots where+ type+ AWSResponse DescribeRecoverySnapshots =+ DescribeRecoverySnapshotsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeRecoverySnapshotsResponse'+ Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeRecoverySnapshots where+ hashWithSalt _salt DescribeRecoverySnapshots' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` order+ `Prelude.hashWithSalt` sourceServerID++instance Prelude.NFData DescribeRecoverySnapshots where+ rnf DescribeRecoverySnapshots' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf order+ `Prelude.seq` Prelude.rnf sourceServerID++instance Data.ToHeaders DescribeRecoverySnapshots where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeRecoverySnapshots where+ toJSON DescribeRecoverySnapshots' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("filters" Data..=) Prelude.<$> filters,+ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("order" Data..=) Prelude.<$> order,+ Prelude.Just+ ("sourceServerID" Data..= sourceServerID)+ ]+ )++instance Data.ToPath DescribeRecoverySnapshots where+ toPath = Prelude.const "/DescribeRecoverySnapshots"++instance Data.ToQuery DescribeRecoverySnapshots where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeRecoverySnapshotsResponse' smart constructor.+data DescribeRecoverySnapshotsResponse = DescribeRecoverySnapshotsResponse'+ { -- | An array of Recovery Snapshots.+ items :: Prelude.Maybe [RecoverySnapshot],+ -- | The token of the next Recovery Snapshot to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRecoverySnapshotsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'describeRecoverySnapshotsResponse_items' - An array of Recovery Snapshots.+--+-- 'nextToken', 'describeRecoverySnapshotsResponse_nextToken' - The token of the next Recovery Snapshot to retrieve.+--+-- 'httpStatus', 'describeRecoverySnapshotsResponse_httpStatus' - The response's http status code.+newDescribeRecoverySnapshotsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeRecoverySnapshotsResponse+newDescribeRecoverySnapshotsResponse pHttpStatus_ =+ DescribeRecoverySnapshotsResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of Recovery Snapshots.+describeRecoverySnapshotsResponse_items :: Lens.Lens' DescribeRecoverySnapshotsResponse (Prelude.Maybe [RecoverySnapshot])+describeRecoverySnapshotsResponse_items = Lens.lens (\DescribeRecoverySnapshotsResponse' {items} -> items) (\s@DescribeRecoverySnapshotsResponse' {} a -> s {items = a} :: DescribeRecoverySnapshotsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token of the next Recovery Snapshot to retrieve.+describeRecoverySnapshotsResponse_nextToken :: Lens.Lens' DescribeRecoverySnapshotsResponse (Prelude.Maybe Prelude.Text)+describeRecoverySnapshotsResponse_nextToken = Lens.lens (\DescribeRecoverySnapshotsResponse' {nextToken} -> nextToken) (\s@DescribeRecoverySnapshotsResponse' {} a -> s {nextToken = a} :: DescribeRecoverySnapshotsResponse)++-- | The response's http status code.+describeRecoverySnapshotsResponse_httpStatus :: Lens.Lens' DescribeRecoverySnapshotsResponse Prelude.Int+describeRecoverySnapshotsResponse_httpStatus = Lens.lens (\DescribeRecoverySnapshotsResponse' {httpStatus} -> httpStatus) (\s@DescribeRecoverySnapshotsResponse' {} a -> s {httpStatus = a} :: DescribeRecoverySnapshotsResponse)++instance+ Prelude.NFData+ DescribeRecoverySnapshotsResponse+ where+ rnf DescribeRecoverySnapshotsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/DescribeReplicationConfigurationTemplates.hs view
@@ -0,0 +1,272 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.DescribeReplicationConfigurationTemplates+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all ReplicationConfigurationTemplates, filtered by Source Server+-- IDs.+--+-- This operation returns paginated results.+module Amazonka.DrS.DescribeReplicationConfigurationTemplates+ ( -- * Creating a Request+ DescribeReplicationConfigurationTemplates (..),+ newDescribeReplicationConfigurationTemplates,++ -- * Request Lenses+ describeReplicationConfigurationTemplates_maxResults,+ describeReplicationConfigurationTemplates_nextToken,+ describeReplicationConfigurationTemplates_replicationConfigurationTemplateIDs,++ -- * Destructuring the Response+ DescribeReplicationConfigurationTemplatesResponse (..),+ newDescribeReplicationConfigurationTemplatesResponse,++ -- * Response Lenses+ describeReplicationConfigurationTemplatesResponse_items,+ describeReplicationConfigurationTemplatesResponse_nextToken,+ describeReplicationConfigurationTemplatesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeReplicationConfigurationTemplates' smart constructor.+data DescribeReplicationConfigurationTemplates = DescribeReplicationConfigurationTemplates'+ { -- | Maximum number of Replication Configuration Templates to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token of the next Replication Configuration Template to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The IDs of the Replication Configuration Templates to retrieve. An empty+ -- list means all Replication Configuration Templates.+ replicationConfigurationTemplateIDs :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeReplicationConfigurationTemplates' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'describeReplicationConfigurationTemplates_maxResults' - Maximum number of Replication Configuration Templates to retrieve.+--+-- 'nextToken', 'describeReplicationConfigurationTemplates_nextToken' - The token of the next Replication Configuration Template to retrieve.+--+-- 'replicationConfigurationTemplateIDs', 'describeReplicationConfigurationTemplates_replicationConfigurationTemplateIDs' - The IDs of the Replication Configuration Templates to retrieve. An empty+-- list means all Replication Configuration Templates.+newDescribeReplicationConfigurationTemplates ::+ DescribeReplicationConfigurationTemplates+newDescribeReplicationConfigurationTemplates =+ DescribeReplicationConfigurationTemplates'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ replicationConfigurationTemplateIDs =+ Prelude.Nothing+ }++-- | Maximum number of Replication Configuration Templates to retrieve.+describeReplicationConfigurationTemplates_maxResults :: Lens.Lens' DescribeReplicationConfigurationTemplates (Prelude.Maybe Prelude.Natural)+describeReplicationConfigurationTemplates_maxResults = Lens.lens (\DescribeReplicationConfigurationTemplates' {maxResults} -> maxResults) (\s@DescribeReplicationConfigurationTemplates' {} a -> s {maxResults = a} :: DescribeReplicationConfigurationTemplates)++-- | The token of the next Replication Configuration Template to retrieve.+describeReplicationConfigurationTemplates_nextToken :: Lens.Lens' DescribeReplicationConfigurationTemplates (Prelude.Maybe Prelude.Text)+describeReplicationConfigurationTemplates_nextToken = Lens.lens (\DescribeReplicationConfigurationTemplates' {nextToken} -> nextToken) (\s@DescribeReplicationConfigurationTemplates' {} a -> s {nextToken = a} :: DescribeReplicationConfigurationTemplates)++-- | The IDs of the Replication Configuration Templates to retrieve. An empty+-- list means all Replication Configuration Templates.+describeReplicationConfigurationTemplates_replicationConfigurationTemplateIDs :: Lens.Lens' DescribeReplicationConfigurationTemplates (Prelude.Maybe [Prelude.Text])+describeReplicationConfigurationTemplates_replicationConfigurationTemplateIDs = Lens.lens (\DescribeReplicationConfigurationTemplates' {replicationConfigurationTemplateIDs} -> replicationConfigurationTemplateIDs) (\s@DescribeReplicationConfigurationTemplates' {} a -> s {replicationConfigurationTemplateIDs = a} :: DescribeReplicationConfigurationTemplates) Prelude.. Lens.mapping Lens.coerced++instance+ Core.AWSPager+ DescribeReplicationConfigurationTemplates+ where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? describeReplicationConfigurationTemplatesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? describeReplicationConfigurationTemplatesResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& describeReplicationConfigurationTemplates_nextToken+ Lens..~ rs+ Lens.^? describeReplicationConfigurationTemplatesResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ DescribeReplicationConfigurationTemplates+ where+ type+ AWSResponse+ DescribeReplicationConfigurationTemplates =+ DescribeReplicationConfigurationTemplatesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeReplicationConfigurationTemplatesResponse'+ Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DescribeReplicationConfigurationTemplates+ where+ hashWithSalt+ _salt+ DescribeReplicationConfigurationTemplates' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` replicationConfigurationTemplateIDs++instance+ Prelude.NFData+ DescribeReplicationConfigurationTemplates+ where+ rnf DescribeReplicationConfigurationTemplates' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf replicationConfigurationTemplateIDs++instance+ Data.ToHeaders+ DescribeReplicationConfigurationTemplates+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ DescribeReplicationConfigurationTemplates+ where+ toJSON DescribeReplicationConfigurationTemplates' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("replicationConfigurationTemplateIDs" Data..=)+ Prelude.<$> replicationConfigurationTemplateIDs+ ]+ )++instance+ Data.ToPath+ DescribeReplicationConfigurationTemplates+ where+ toPath =+ Prelude.const+ "/DescribeReplicationConfigurationTemplates"++instance+ Data.ToQuery+ DescribeReplicationConfigurationTemplates+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeReplicationConfigurationTemplatesResponse' smart constructor.+data DescribeReplicationConfigurationTemplatesResponse = DescribeReplicationConfigurationTemplatesResponse'+ { -- | An array of Replication Configuration Templates.+ items :: Prelude.Maybe [ReplicationConfigurationTemplate],+ -- | The token of the next Replication Configuration Template to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeReplicationConfigurationTemplatesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'describeReplicationConfigurationTemplatesResponse_items' - An array of Replication Configuration Templates.+--+-- 'nextToken', 'describeReplicationConfigurationTemplatesResponse_nextToken' - The token of the next Replication Configuration Template to retrieve.+--+-- 'httpStatus', 'describeReplicationConfigurationTemplatesResponse_httpStatus' - The response's http status code.+newDescribeReplicationConfigurationTemplatesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeReplicationConfigurationTemplatesResponse+newDescribeReplicationConfigurationTemplatesResponse+ pHttpStatus_ =+ DescribeReplicationConfigurationTemplatesResponse'+ { items =+ Prelude.Nothing,+ nextToken =+ Prelude.Nothing,+ httpStatus =+ pHttpStatus_+ }++-- | An array of Replication Configuration Templates.+describeReplicationConfigurationTemplatesResponse_items :: Lens.Lens' DescribeReplicationConfigurationTemplatesResponse (Prelude.Maybe [ReplicationConfigurationTemplate])+describeReplicationConfigurationTemplatesResponse_items = Lens.lens (\DescribeReplicationConfigurationTemplatesResponse' {items} -> items) (\s@DescribeReplicationConfigurationTemplatesResponse' {} a -> s {items = a} :: DescribeReplicationConfigurationTemplatesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token of the next Replication Configuration Template to retrieve.+describeReplicationConfigurationTemplatesResponse_nextToken :: Lens.Lens' DescribeReplicationConfigurationTemplatesResponse (Prelude.Maybe Prelude.Text)+describeReplicationConfigurationTemplatesResponse_nextToken = Lens.lens (\DescribeReplicationConfigurationTemplatesResponse' {nextToken} -> nextToken) (\s@DescribeReplicationConfigurationTemplatesResponse' {} a -> s {nextToken = a} :: DescribeReplicationConfigurationTemplatesResponse)++-- | The response's http status code.+describeReplicationConfigurationTemplatesResponse_httpStatus :: Lens.Lens' DescribeReplicationConfigurationTemplatesResponse Prelude.Int+describeReplicationConfigurationTemplatesResponse_httpStatus = Lens.lens (\DescribeReplicationConfigurationTemplatesResponse' {httpStatus} -> httpStatus) (\s@DescribeReplicationConfigurationTemplatesResponse' {} a -> s {httpStatus = a} :: DescribeReplicationConfigurationTemplatesResponse)++instance+ Prelude.NFData+ DescribeReplicationConfigurationTemplatesResponse+ where+ rnf+ DescribeReplicationConfigurationTemplatesResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/DescribeSourceServers.hs view
@@ -0,0 +1,229 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.DescribeSourceServers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all Source Servers or multiple Source Servers filtered by ID.+--+-- This operation returns paginated results.+module Amazonka.DrS.DescribeSourceServers+ ( -- * Creating a Request+ DescribeSourceServers (..),+ newDescribeSourceServers,++ -- * Request Lenses+ describeSourceServers_filters,+ describeSourceServers_maxResults,+ describeSourceServers_nextToken,++ -- * Destructuring the Response+ DescribeSourceServersResponse (..),+ newDescribeSourceServersResponse,++ -- * Response Lenses+ describeSourceServersResponse_items,+ describeSourceServersResponse_nextToken,+ describeSourceServersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeSourceServers' smart constructor.+data DescribeSourceServers = DescribeSourceServers'+ { -- | A set of filters by which to return Source Servers.+ filters :: Prelude.Maybe DescribeSourceServersRequestFilters,+ -- | Maximum number of Source Servers to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token of the next Source Server to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSourceServers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'describeSourceServers_filters' - A set of filters by which to return Source Servers.+--+-- 'maxResults', 'describeSourceServers_maxResults' - Maximum number of Source Servers to retrieve.+--+-- 'nextToken', 'describeSourceServers_nextToken' - The token of the next Source Server to retrieve.+newDescribeSourceServers ::+ DescribeSourceServers+newDescribeSourceServers =+ DescribeSourceServers'+ { filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | A set of filters by which to return Source Servers.+describeSourceServers_filters :: Lens.Lens' DescribeSourceServers (Prelude.Maybe DescribeSourceServersRequestFilters)+describeSourceServers_filters = Lens.lens (\DescribeSourceServers' {filters} -> filters) (\s@DescribeSourceServers' {} a -> s {filters = a} :: DescribeSourceServers)++-- | Maximum number of Source Servers to retrieve.+describeSourceServers_maxResults :: Lens.Lens' DescribeSourceServers (Prelude.Maybe Prelude.Natural)+describeSourceServers_maxResults = Lens.lens (\DescribeSourceServers' {maxResults} -> maxResults) (\s@DescribeSourceServers' {} a -> s {maxResults = a} :: DescribeSourceServers)++-- | The token of the next Source Server to retrieve.+describeSourceServers_nextToken :: Lens.Lens' DescribeSourceServers (Prelude.Maybe Prelude.Text)+describeSourceServers_nextToken = Lens.lens (\DescribeSourceServers' {nextToken} -> nextToken) (\s@DescribeSourceServers' {} a -> s {nextToken = a} :: DescribeSourceServers)++instance Core.AWSPager DescribeSourceServers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? describeSourceServersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? describeSourceServersResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& describeSourceServers_nextToken+ Lens..~ rs+ Lens.^? describeSourceServersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest DescribeSourceServers where+ type+ AWSResponse DescribeSourceServers =+ DescribeSourceServersResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeSourceServersResponse'+ Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeSourceServers where+ hashWithSalt _salt DescribeSourceServers' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData DescribeSourceServers where+ rnf DescribeSourceServers' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders DescribeSourceServers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeSourceServers where+ toJSON DescribeSourceServers' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("filters" Data..=) Prelude.<$> filters,+ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath DescribeSourceServers where+ toPath = Prelude.const "/DescribeSourceServers"++instance Data.ToQuery DescribeSourceServers where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeSourceServersResponse' smart constructor.+data DescribeSourceServersResponse = DescribeSourceServersResponse'+ { -- | An array of Source Servers.+ items :: Prelude.Maybe [SourceServer],+ -- | The token of the next Source Server to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSourceServersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'describeSourceServersResponse_items' - An array of Source Servers.+--+-- 'nextToken', 'describeSourceServersResponse_nextToken' - The token of the next Source Server to retrieve.+--+-- 'httpStatus', 'describeSourceServersResponse_httpStatus' - The response's http status code.+newDescribeSourceServersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeSourceServersResponse+newDescribeSourceServersResponse pHttpStatus_ =+ DescribeSourceServersResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of Source Servers.+describeSourceServersResponse_items :: Lens.Lens' DescribeSourceServersResponse (Prelude.Maybe [SourceServer])+describeSourceServersResponse_items = Lens.lens (\DescribeSourceServersResponse' {items} -> items) (\s@DescribeSourceServersResponse' {} a -> s {items = a} :: DescribeSourceServersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token of the next Source Server to retrieve.+describeSourceServersResponse_nextToken :: Lens.Lens' DescribeSourceServersResponse (Prelude.Maybe Prelude.Text)+describeSourceServersResponse_nextToken = Lens.lens (\DescribeSourceServersResponse' {nextToken} -> nextToken) (\s@DescribeSourceServersResponse' {} a -> s {nextToken = a} :: DescribeSourceServersResponse)++-- | The response's http status code.+describeSourceServersResponse_httpStatus :: Lens.Lens' DescribeSourceServersResponse Prelude.Int+describeSourceServersResponse_httpStatus = Lens.lens (\DescribeSourceServersResponse' {httpStatus} -> httpStatus) (\s@DescribeSourceServersResponse' {} a -> s {httpStatus = a} :: DescribeSourceServersResponse)++instance Prelude.NFData DescribeSourceServersResponse where+ rnf DescribeSourceServersResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/DisconnectRecoveryInstance.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.DisconnectRecoveryInstance+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disconnect a Recovery Instance from Elastic Disaster Recovery. Data+-- replication is stopped immediately. All AWS resources created by Elastic+-- Disaster Recovery for enabling the replication of the Recovery Instance+-- will be terminated \/ deleted within 90 minutes. If the agent on the+-- Recovery Instance has not been prevented from communicating with the+-- Elastic Disaster Recovery service, then it will receive a command to+-- uninstall itself (within approximately 10 minutes). The following+-- properties of the Recovery Instance will be changed immediately:+-- dataReplicationInfo.dataReplicationState will be set to DISCONNECTED;+-- The totalStorageBytes property for each of+-- dataReplicationInfo.replicatedDisks will be set to zero;+-- dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will+-- be nullified.+module Amazonka.DrS.DisconnectRecoveryInstance+ ( -- * Creating a Request+ DisconnectRecoveryInstance (..),+ newDisconnectRecoveryInstance,++ -- * Request Lenses+ disconnectRecoveryInstance_recoveryInstanceID,++ -- * Destructuring the Response+ DisconnectRecoveryInstanceResponse (..),+ newDisconnectRecoveryInstanceResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisconnectRecoveryInstance' smart constructor.+data DisconnectRecoveryInstance = DisconnectRecoveryInstance'+ { -- | The ID of the Recovery Instance to disconnect.+ recoveryInstanceID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisconnectRecoveryInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'recoveryInstanceID', 'disconnectRecoveryInstance_recoveryInstanceID' - The ID of the Recovery Instance to disconnect.+newDisconnectRecoveryInstance ::+ -- | 'recoveryInstanceID'+ Prelude.Text ->+ DisconnectRecoveryInstance+newDisconnectRecoveryInstance pRecoveryInstanceID_ =+ DisconnectRecoveryInstance'+ { recoveryInstanceID =+ pRecoveryInstanceID_+ }++-- | The ID of the Recovery Instance to disconnect.+disconnectRecoveryInstance_recoveryInstanceID :: Lens.Lens' DisconnectRecoveryInstance Prelude.Text+disconnectRecoveryInstance_recoveryInstanceID = Lens.lens (\DisconnectRecoveryInstance' {recoveryInstanceID} -> recoveryInstanceID) (\s@DisconnectRecoveryInstance' {} a -> s {recoveryInstanceID = a} :: DisconnectRecoveryInstance)++instance Core.AWSRequest DisconnectRecoveryInstance where+ type+ AWSResponse DisconnectRecoveryInstance =+ DisconnectRecoveryInstanceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveNull+ DisconnectRecoveryInstanceResponse'++instance Prelude.Hashable DisconnectRecoveryInstance where+ hashWithSalt _salt DisconnectRecoveryInstance' {..} =+ _salt `Prelude.hashWithSalt` recoveryInstanceID++instance Prelude.NFData DisconnectRecoveryInstance where+ rnf DisconnectRecoveryInstance' {..} =+ Prelude.rnf recoveryInstanceID++instance Data.ToHeaders DisconnectRecoveryInstance where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DisconnectRecoveryInstance where+ toJSON DisconnectRecoveryInstance' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("recoveryInstanceID" Data..= recoveryInstanceID)+ ]+ )++instance Data.ToPath DisconnectRecoveryInstance where+ toPath = Prelude.const "/DisconnectRecoveryInstance"++instance Data.ToQuery DisconnectRecoveryInstance where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisconnectRecoveryInstanceResponse' smart constructor.+data DisconnectRecoveryInstanceResponse = DisconnectRecoveryInstanceResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisconnectRecoveryInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDisconnectRecoveryInstanceResponse ::+ DisconnectRecoveryInstanceResponse+newDisconnectRecoveryInstanceResponse =+ DisconnectRecoveryInstanceResponse'++instance+ Prelude.NFData+ DisconnectRecoveryInstanceResponse+ where+ rnf _ = ()
+ gen/Amazonka/DrS/DisconnectSourceServer.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.DisconnectSourceServer+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disconnects a specific Source Server from Elastic Disaster Recovery.+-- Data replication is stopped immediately. All AWS resources created by+-- Elastic Disaster Recovery for enabling the replication of the Source+-- Server will be terminated \/ deleted within 90 minutes. You cannot+-- disconnect a Source Server if it has a Recovery Instance. If the agent+-- on the Source Server has not been prevented from communicating with the+-- Elastic Disaster Recovery service, then it will receive a command to+-- uninstall itself (within approximately 10 minutes). The following+-- properties of the SourceServer will be changed immediately:+-- dataReplicationInfo.dataReplicationState will be set to DISCONNECTED;+-- The totalStorageBytes property for each of+-- dataReplicationInfo.replicatedDisks will be set to zero;+-- dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will+-- be nullified.+module Amazonka.DrS.DisconnectSourceServer+ ( -- * Creating a Request+ DisconnectSourceServer (..),+ newDisconnectSourceServer,++ -- * Request Lenses+ disconnectSourceServer_sourceServerID,++ -- * Destructuring the Response+ SourceServer (..),+ newSourceServer,++ -- * Response Lenses+ sourceServer_arn,+ sourceServer_dataReplicationInfo,+ sourceServer_lastLaunchResult,+ sourceServer_lifeCycle,+ sourceServer_recoveryInstanceId,+ sourceServer_replicationDirection,+ sourceServer_reversedDirectionSourceServerArn,+ sourceServer_sourceCloudProperties,+ sourceServer_sourceProperties,+ sourceServer_sourceServerID,+ sourceServer_stagingArea,+ sourceServer_tags,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisconnectSourceServer' smart constructor.+data DisconnectSourceServer = DisconnectSourceServer'+ { -- | The ID of the Source Server to disconnect.+ sourceServerID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisconnectSourceServer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceServerID', 'disconnectSourceServer_sourceServerID' - The ID of the Source Server to disconnect.+newDisconnectSourceServer ::+ -- | 'sourceServerID'+ Prelude.Text ->+ DisconnectSourceServer+newDisconnectSourceServer pSourceServerID_ =+ DisconnectSourceServer'+ { sourceServerID =+ pSourceServerID_+ }++-- | The ID of the Source Server to disconnect.+disconnectSourceServer_sourceServerID :: Lens.Lens' DisconnectSourceServer Prelude.Text+disconnectSourceServer_sourceServerID = Lens.lens (\DisconnectSourceServer' {sourceServerID} -> sourceServerID) (\s@DisconnectSourceServer' {} a -> s {sourceServerID = a} :: DisconnectSourceServer)++instance Core.AWSRequest DisconnectSourceServer where+ type+ AWSResponse DisconnectSourceServer =+ SourceServer+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable DisconnectSourceServer where+ hashWithSalt _salt DisconnectSourceServer' {..} =+ _salt `Prelude.hashWithSalt` sourceServerID++instance Prelude.NFData DisconnectSourceServer where+ rnf DisconnectSourceServer' {..} =+ Prelude.rnf sourceServerID++instance Data.ToHeaders DisconnectSourceServer where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DisconnectSourceServer where+ toJSON DisconnectSourceServer' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("sourceServerID" Data..= sourceServerID)+ ]+ )++instance Data.ToPath DisconnectSourceServer where+ toPath = Prelude.const "/DisconnectSourceServer"++instance Data.ToQuery DisconnectSourceServer where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/DrS/GetFailbackReplicationConfiguration.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.GetFailbackReplicationConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all Failback ReplicationConfigurations, filtered by Recovery+-- Instance ID.+module Amazonka.DrS.GetFailbackReplicationConfiguration+ ( -- * Creating a Request+ GetFailbackReplicationConfiguration (..),+ newGetFailbackReplicationConfiguration,++ -- * Request Lenses+ getFailbackReplicationConfiguration_recoveryInstanceID,++ -- * Destructuring the Response+ GetFailbackReplicationConfigurationResponse (..),+ newGetFailbackReplicationConfigurationResponse,++ -- * Response Lenses+ getFailbackReplicationConfigurationResponse_bandwidthThrottling,+ getFailbackReplicationConfigurationResponse_name,+ getFailbackReplicationConfigurationResponse_usePrivateIP,+ getFailbackReplicationConfigurationResponse_httpStatus,+ getFailbackReplicationConfigurationResponse_recoveryInstanceID,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetFailbackReplicationConfiguration' smart constructor.+data GetFailbackReplicationConfiguration = GetFailbackReplicationConfiguration'+ { -- | The ID of the Recovery Instance whose failback replication configuration+ -- should be returned.+ recoveryInstanceID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFailbackReplicationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'recoveryInstanceID', 'getFailbackReplicationConfiguration_recoveryInstanceID' - The ID of the Recovery Instance whose failback replication configuration+-- should be returned.+newGetFailbackReplicationConfiguration ::+ -- | 'recoveryInstanceID'+ Prelude.Text ->+ GetFailbackReplicationConfiguration+newGetFailbackReplicationConfiguration+ pRecoveryInstanceID_ =+ GetFailbackReplicationConfiguration'+ { recoveryInstanceID =+ pRecoveryInstanceID_+ }++-- | The ID of the Recovery Instance whose failback replication configuration+-- should be returned.+getFailbackReplicationConfiguration_recoveryInstanceID :: Lens.Lens' GetFailbackReplicationConfiguration Prelude.Text+getFailbackReplicationConfiguration_recoveryInstanceID = Lens.lens (\GetFailbackReplicationConfiguration' {recoveryInstanceID} -> recoveryInstanceID) (\s@GetFailbackReplicationConfiguration' {} a -> s {recoveryInstanceID = a} :: GetFailbackReplicationConfiguration)++instance+ Core.AWSRequest+ GetFailbackReplicationConfiguration+ where+ type+ AWSResponse GetFailbackReplicationConfiguration =+ GetFailbackReplicationConfigurationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetFailbackReplicationConfigurationResponse'+ Prelude.<$> (x Data..?> "bandwidthThrottling")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "usePrivateIP")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "recoveryInstanceID")+ )++instance+ Prelude.Hashable+ GetFailbackReplicationConfiguration+ where+ hashWithSalt+ _salt+ GetFailbackReplicationConfiguration' {..} =+ _salt `Prelude.hashWithSalt` recoveryInstanceID++instance+ Prelude.NFData+ GetFailbackReplicationConfiguration+ where+ rnf GetFailbackReplicationConfiguration' {..} =+ Prelude.rnf recoveryInstanceID++instance+ Data.ToHeaders+ GetFailbackReplicationConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ GetFailbackReplicationConfiguration+ where+ toJSON GetFailbackReplicationConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("recoveryInstanceID" Data..= recoveryInstanceID)+ ]+ )++instance+ Data.ToPath+ GetFailbackReplicationConfiguration+ where+ toPath =+ Prelude.const+ "/GetFailbackReplicationConfiguration"++instance+ Data.ToQuery+ GetFailbackReplicationConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFailbackReplicationConfigurationResponse' smart constructor.+data GetFailbackReplicationConfigurationResponse = GetFailbackReplicationConfigurationResponse'+ { -- | Configure bandwidth throttling for the outbound data transfer rate of+ -- the Recovery Instance in Mbps.+ bandwidthThrottling :: Prelude.Maybe Prelude.Natural,+ -- | The name of the Failback Replication Configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | Whether to use Private IP for the failback replication of the Recovery+ -- Instance.+ usePrivateIP :: Prelude.Maybe Prelude.Bool,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the Recovery Instance.+ recoveryInstanceID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFailbackReplicationConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bandwidthThrottling', 'getFailbackReplicationConfigurationResponse_bandwidthThrottling' - Configure bandwidth throttling for the outbound data transfer rate of+-- the Recovery Instance in Mbps.+--+-- 'name', 'getFailbackReplicationConfigurationResponse_name' - The name of the Failback Replication Configuration.+--+-- 'usePrivateIP', 'getFailbackReplicationConfigurationResponse_usePrivateIP' - Whether to use Private IP for the failback replication of the Recovery+-- Instance.+--+-- 'httpStatus', 'getFailbackReplicationConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'recoveryInstanceID', 'getFailbackReplicationConfigurationResponse_recoveryInstanceID' - The ID of the Recovery Instance.+newGetFailbackReplicationConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'recoveryInstanceID'+ Prelude.Text ->+ GetFailbackReplicationConfigurationResponse+newGetFailbackReplicationConfigurationResponse+ pHttpStatus_+ pRecoveryInstanceID_ =+ GetFailbackReplicationConfigurationResponse'+ { bandwidthThrottling =+ Prelude.Nothing,+ name = Prelude.Nothing,+ usePrivateIP = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ recoveryInstanceID =+ pRecoveryInstanceID_+ }++-- | Configure bandwidth throttling for the outbound data transfer rate of+-- the Recovery Instance in Mbps.+getFailbackReplicationConfigurationResponse_bandwidthThrottling :: Lens.Lens' GetFailbackReplicationConfigurationResponse (Prelude.Maybe Prelude.Natural)+getFailbackReplicationConfigurationResponse_bandwidthThrottling = Lens.lens (\GetFailbackReplicationConfigurationResponse' {bandwidthThrottling} -> bandwidthThrottling) (\s@GetFailbackReplicationConfigurationResponse' {} a -> s {bandwidthThrottling = a} :: GetFailbackReplicationConfigurationResponse)++-- | The name of the Failback Replication Configuration.+getFailbackReplicationConfigurationResponse_name :: Lens.Lens' GetFailbackReplicationConfigurationResponse (Prelude.Maybe Prelude.Text)+getFailbackReplicationConfigurationResponse_name = Lens.lens (\GetFailbackReplicationConfigurationResponse' {name} -> name) (\s@GetFailbackReplicationConfigurationResponse' {} a -> s {name = a} :: GetFailbackReplicationConfigurationResponse)++-- | Whether to use Private IP for the failback replication of the Recovery+-- Instance.+getFailbackReplicationConfigurationResponse_usePrivateIP :: Lens.Lens' GetFailbackReplicationConfigurationResponse (Prelude.Maybe Prelude.Bool)+getFailbackReplicationConfigurationResponse_usePrivateIP = Lens.lens (\GetFailbackReplicationConfigurationResponse' {usePrivateIP} -> usePrivateIP) (\s@GetFailbackReplicationConfigurationResponse' {} a -> s {usePrivateIP = a} :: GetFailbackReplicationConfigurationResponse)++-- | The response's http status code.+getFailbackReplicationConfigurationResponse_httpStatus :: Lens.Lens' GetFailbackReplicationConfigurationResponse Prelude.Int+getFailbackReplicationConfigurationResponse_httpStatus = Lens.lens (\GetFailbackReplicationConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetFailbackReplicationConfigurationResponse' {} a -> s {httpStatus = a} :: GetFailbackReplicationConfigurationResponse)++-- | The ID of the Recovery Instance.+getFailbackReplicationConfigurationResponse_recoveryInstanceID :: Lens.Lens' GetFailbackReplicationConfigurationResponse Prelude.Text+getFailbackReplicationConfigurationResponse_recoveryInstanceID = Lens.lens (\GetFailbackReplicationConfigurationResponse' {recoveryInstanceID} -> recoveryInstanceID) (\s@GetFailbackReplicationConfigurationResponse' {} a -> s {recoveryInstanceID = a} :: GetFailbackReplicationConfigurationResponse)++instance+ Prelude.NFData+ GetFailbackReplicationConfigurationResponse+ where+ rnf GetFailbackReplicationConfigurationResponse' {..} =+ Prelude.rnf bandwidthThrottling+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf usePrivateIP+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf recoveryInstanceID
+ gen/Amazonka/DrS/GetLaunchConfiguration.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.GetLaunchConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a LaunchConfiguration, filtered by Source Server IDs.+module Amazonka.DrS.GetLaunchConfiguration+ ( -- * Creating a Request+ GetLaunchConfiguration (..),+ newGetLaunchConfiguration,++ -- * Request Lenses+ getLaunchConfiguration_sourceServerID,++ -- * Destructuring the Response+ LaunchConfiguration (..),+ newLaunchConfiguration,++ -- * Response Lenses+ launchConfiguration_copyPrivateIp,+ launchConfiguration_copyTags,+ launchConfiguration_ec2LaunchTemplateID,+ launchConfiguration_launchDisposition,+ launchConfiguration_licensing,+ launchConfiguration_name,+ launchConfiguration_sourceServerID,+ launchConfiguration_targetInstanceTypeRightSizingMethod,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLaunchConfiguration' smart constructor.+data GetLaunchConfiguration = GetLaunchConfiguration'+ { -- | The ID of the Source Server that we want to retrieve a Launch+ -- Configuration for.+ sourceServerID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLaunchConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceServerID', 'getLaunchConfiguration_sourceServerID' - The ID of the Source Server that we want to retrieve a Launch+-- Configuration for.+newGetLaunchConfiguration ::+ -- | 'sourceServerID'+ Prelude.Text ->+ GetLaunchConfiguration+newGetLaunchConfiguration pSourceServerID_ =+ GetLaunchConfiguration'+ { sourceServerID =+ pSourceServerID_+ }++-- | The ID of the Source Server that we want to retrieve a Launch+-- Configuration for.+getLaunchConfiguration_sourceServerID :: Lens.Lens' GetLaunchConfiguration Prelude.Text+getLaunchConfiguration_sourceServerID = Lens.lens (\GetLaunchConfiguration' {sourceServerID} -> sourceServerID) (\s@GetLaunchConfiguration' {} a -> s {sourceServerID = a} :: GetLaunchConfiguration)++instance Core.AWSRequest GetLaunchConfiguration where+ type+ AWSResponse GetLaunchConfiguration =+ LaunchConfiguration+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable GetLaunchConfiguration where+ hashWithSalt _salt GetLaunchConfiguration' {..} =+ _salt `Prelude.hashWithSalt` sourceServerID++instance Prelude.NFData GetLaunchConfiguration where+ rnf GetLaunchConfiguration' {..} =+ Prelude.rnf sourceServerID++instance Data.ToHeaders GetLaunchConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetLaunchConfiguration where+ toJSON GetLaunchConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("sourceServerID" Data..= sourceServerID)+ ]+ )++instance Data.ToPath GetLaunchConfiguration where+ toPath = Prelude.const "/GetLaunchConfiguration"++instance Data.ToQuery GetLaunchConfiguration where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/DrS/GetReplicationConfiguration.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.GetReplicationConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a ReplicationConfiguration, filtered by Source Server ID.+module Amazonka.DrS.GetReplicationConfiguration+ ( -- * Creating a Request+ GetReplicationConfiguration (..),+ newGetReplicationConfiguration,++ -- * Request Lenses+ getReplicationConfiguration_sourceServerID,++ -- * Destructuring the Response+ ReplicationConfiguration (..),+ newReplicationConfiguration,++ -- * Response Lenses+ replicationConfiguration_associateDefaultSecurityGroup,+ replicationConfiguration_bandwidthThrottling,+ replicationConfiguration_createPublicIP,+ replicationConfiguration_dataPlaneRouting,+ replicationConfiguration_defaultLargeStagingDiskType,+ replicationConfiguration_ebsEncryption,+ replicationConfiguration_ebsEncryptionKeyArn,+ replicationConfiguration_name,+ replicationConfiguration_pitPolicy,+ replicationConfiguration_replicatedDisks,+ replicationConfiguration_replicationServerInstanceType,+ replicationConfiguration_replicationServersSecurityGroupsIDs,+ replicationConfiguration_sourceServerID,+ replicationConfiguration_stagingAreaSubnetId,+ replicationConfiguration_stagingAreaTags,+ replicationConfiguration_useDedicatedReplicationServer,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetReplicationConfiguration' smart constructor.+data GetReplicationConfiguration = GetReplicationConfiguration'+ { -- | The ID of the Source Serve for this Replication Configuration.r+ sourceServerID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetReplicationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceServerID', 'getReplicationConfiguration_sourceServerID' - The ID of the Source Serve for this Replication Configuration.r+newGetReplicationConfiguration ::+ -- | 'sourceServerID'+ Prelude.Text ->+ GetReplicationConfiguration+newGetReplicationConfiguration pSourceServerID_ =+ GetReplicationConfiguration'+ { sourceServerID =+ pSourceServerID_+ }++-- | The ID of the Source Serve for this Replication Configuration.r+getReplicationConfiguration_sourceServerID :: Lens.Lens' GetReplicationConfiguration Prelude.Text+getReplicationConfiguration_sourceServerID = Lens.lens (\GetReplicationConfiguration' {sourceServerID} -> sourceServerID) (\s@GetReplicationConfiguration' {} a -> s {sourceServerID = a} :: GetReplicationConfiguration)++instance Core.AWSRequest GetReplicationConfiguration where+ type+ AWSResponse GetReplicationConfiguration =+ ReplicationConfiguration+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable GetReplicationConfiguration where+ hashWithSalt _salt GetReplicationConfiguration' {..} =+ _salt `Prelude.hashWithSalt` sourceServerID++instance Prelude.NFData GetReplicationConfiguration where+ rnf GetReplicationConfiguration' {..} =+ Prelude.rnf sourceServerID++instance Data.ToHeaders GetReplicationConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetReplicationConfiguration where+ toJSON GetReplicationConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("sourceServerID" Data..= sourceServerID)+ ]+ )++instance Data.ToPath GetReplicationConfiguration where+ toPath = Prelude.const "/GetReplicationConfiguration"++instance Data.ToQuery GetReplicationConfiguration where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/DrS/InitializeService.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.InitializeService+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Initialize Elastic Disaster Recovery.+module Amazonka.DrS.InitializeService+ ( -- * Creating a Request+ InitializeService (..),+ newInitializeService,++ -- * Destructuring the Response+ InitializeServiceResponse (..),+ newInitializeServiceResponse,++ -- * Response Lenses+ initializeServiceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newInitializeService' smart constructor.+data InitializeService = InitializeService'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InitializeService' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newInitializeService ::+ InitializeService+newInitializeService = InitializeService'++instance Core.AWSRequest InitializeService where+ type+ AWSResponse InitializeService =+ InitializeServiceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ InitializeServiceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable InitializeService where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData InitializeService where+ rnf _ = ()++instance Data.ToHeaders InitializeService where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON InitializeService where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath InitializeService where+ toPath = Prelude.const "/InitializeService"++instance Data.ToQuery InitializeService where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newInitializeServiceResponse' smart constructor.+data InitializeServiceResponse = InitializeServiceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InitializeServiceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'initializeServiceResponse_httpStatus' - The response's http status code.+newInitializeServiceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ InitializeServiceResponse+newInitializeServiceResponse pHttpStatus_ =+ InitializeServiceResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+initializeServiceResponse_httpStatus :: Lens.Lens' InitializeServiceResponse Prelude.Int+initializeServiceResponse_httpStatus = Lens.lens (\InitializeServiceResponse' {httpStatus} -> httpStatus) (\s@InitializeServiceResponse' {} a -> s {httpStatus = a} :: InitializeServiceResponse)++instance Prelude.NFData InitializeServiceResponse where+ rnf InitializeServiceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/DrS/Lens.hs view
@@ -0,0 +1,735 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Lens+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Lens+ ( -- * Operations++ -- ** CreateExtendedSourceServer+ createExtendedSourceServer_tags,+ createExtendedSourceServer_sourceServerArn,+ createExtendedSourceServerResponse_sourceServer,+ createExtendedSourceServerResponse_httpStatus,++ -- ** CreateReplicationConfigurationTemplate+ createReplicationConfigurationTemplate_ebsEncryptionKeyArn,+ createReplicationConfigurationTemplate_tags,+ createReplicationConfigurationTemplate_associateDefaultSecurityGroup,+ createReplicationConfigurationTemplate_bandwidthThrottling,+ createReplicationConfigurationTemplate_createPublicIP,+ createReplicationConfigurationTemplate_dataPlaneRouting,+ createReplicationConfigurationTemplate_defaultLargeStagingDiskType,+ createReplicationConfigurationTemplate_ebsEncryption,+ createReplicationConfigurationTemplate_pitPolicy,+ createReplicationConfigurationTemplate_replicationServerInstanceType,+ createReplicationConfigurationTemplate_replicationServersSecurityGroupsIDs,+ createReplicationConfigurationTemplate_stagingAreaSubnetId,+ createReplicationConfigurationTemplate_stagingAreaTags,+ createReplicationConfigurationTemplate_useDedicatedReplicationServer,+ replicationConfigurationTemplate_arn,+ replicationConfigurationTemplate_associateDefaultSecurityGroup,+ replicationConfigurationTemplate_bandwidthThrottling,+ replicationConfigurationTemplate_createPublicIP,+ replicationConfigurationTemplate_dataPlaneRouting,+ replicationConfigurationTemplate_defaultLargeStagingDiskType,+ replicationConfigurationTemplate_ebsEncryption,+ replicationConfigurationTemplate_ebsEncryptionKeyArn,+ replicationConfigurationTemplate_pitPolicy,+ replicationConfigurationTemplate_replicationServerInstanceType,+ replicationConfigurationTemplate_replicationServersSecurityGroupsIDs,+ replicationConfigurationTemplate_stagingAreaSubnetId,+ replicationConfigurationTemplate_stagingAreaTags,+ replicationConfigurationTemplate_tags,+ replicationConfigurationTemplate_useDedicatedReplicationServer,+ replicationConfigurationTemplate_replicationConfigurationTemplateID,++ -- ** DeleteJob+ deleteJob_jobID,+ deleteJobResponse_httpStatus,++ -- ** DeleteRecoveryInstance+ deleteRecoveryInstance_recoveryInstanceID,++ -- ** DeleteReplicationConfigurationTemplate+ deleteReplicationConfigurationTemplate_replicationConfigurationTemplateID,+ deleteReplicationConfigurationTemplateResponse_httpStatus,++ -- ** DeleteSourceServer+ deleteSourceServer_sourceServerID,+ deleteSourceServerResponse_httpStatus,++ -- ** DescribeJobLogItems+ describeJobLogItems_maxResults,+ describeJobLogItems_nextToken,+ describeJobLogItems_jobID,+ describeJobLogItemsResponse_items,+ describeJobLogItemsResponse_nextToken,+ describeJobLogItemsResponse_httpStatus,++ -- ** DescribeJobs+ describeJobs_filters,+ describeJobs_maxResults,+ describeJobs_nextToken,+ describeJobsResponse_items,+ describeJobsResponse_nextToken,+ describeJobsResponse_httpStatus,++ -- ** DescribeRecoveryInstances+ describeRecoveryInstances_filters,+ describeRecoveryInstances_maxResults,+ describeRecoveryInstances_nextToken,+ describeRecoveryInstancesResponse_items,+ describeRecoveryInstancesResponse_nextToken,+ describeRecoveryInstancesResponse_httpStatus,++ -- ** DescribeRecoverySnapshots+ describeRecoverySnapshots_filters,+ describeRecoverySnapshots_maxResults,+ describeRecoverySnapshots_nextToken,+ describeRecoverySnapshots_order,+ describeRecoverySnapshots_sourceServerID,+ describeRecoverySnapshotsResponse_items,+ describeRecoverySnapshotsResponse_nextToken,+ describeRecoverySnapshotsResponse_httpStatus,++ -- ** DescribeReplicationConfigurationTemplates+ describeReplicationConfigurationTemplates_maxResults,+ describeReplicationConfigurationTemplates_nextToken,+ describeReplicationConfigurationTemplates_replicationConfigurationTemplateIDs,+ describeReplicationConfigurationTemplatesResponse_items,+ describeReplicationConfigurationTemplatesResponse_nextToken,+ describeReplicationConfigurationTemplatesResponse_httpStatus,++ -- ** DescribeSourceServers+ describeSourceServers_filters,+ describeSourceServers_maxResults,+ describeSourceServers_nextToken,+ describeSourceServersResponse_items,+ describeSourceServersResponse_nextToken,+ describeSourceServersResponse_httpStatus,++ -- ** DisconnectRecoveryInstance+ disconnectRecoveryInstance_recoveryInstanceID,++ -- ** DisconnectSourceServer+ disconnectSourceServer_sourceServerID,+ sourceServer_arn,+ sourceServer_dataReplicationInfo,+ sourceServer_lastLaunchResult,+ sourceServer_lifeCycle,+ sourceServer_recoveryInstanceId,+ sourceServer_replicationDirection,+ sourceServer_reversedDirectionSourceServerArn,+ sourceServer_sourceCloudProperties,+ sourceServer_sourceProperties,+ sourceServer_sourceServerID,+ sourceServer_stagingArea,+ sourceServer_tags,++ -- ** GetFailbackReplicationConfiguration+ getFailbackReplicationConfiguration_recoveryInstanceID,+ getFailbackReplicationConfigurationResponse_bandwidthThrottling,+ getFailbackReplicationConfigurationResponse_name,+ getFailbackReplicationConfigurationResponse_usePrivateIP,+ getFailbackReplicationConfigurationResponse_httpStatus,+ getFailbackReplicationConfigurationResponse_recoveryInstanceID,++ -- ** GetLaunchConfiguration+ getLaunchConfiguration_sourceServerID,+ launchConfiguration_copyPrivateIp,+ launchConfiguration_copyTags,+ launchConfiguration_ec2LaunchTemplateID,+ launchConfiguration_launchDisposition,+ launchConfiguration_licensing,+ launchConfiguration_name,+ launchConfiguration_sourceServerID,+ launchConfiguration_targetInstanceTypeRightSizingMethod,++ -- ** GetReplicationConfiguration+ getReplicationConfiguration_sourceServerID,+ replicationConfiguration_associateDefaultSecurityGroup,+ replicationConfiguration_bandwidthThrottling,+ replicationConfiguration_createPublicIP,+ replicationConfiguration_dataPlaneRouting,+ replicationConfiguration_defaultLargeStagingDiskType,+ replicationConfiguration_ebsEncryption,+ replicationConfiguration_ebsEncryptionKeyArn,+ replicationConfiguration_name,+ replicationConfiguration_pitPolicy,+ replicationConfiguration_replicatedDisks,+ replicationConfiguration_replicationServerInstanceType,+ replicationConfiguration_replicationServersSecurityGroupsIDs,+ replicationConfiguration_sourceServerID,+ replicationConfiguration_stagingAreaSubnetId,+ replicationConfiguration_stagingAreaTags,+ replicationConfiguration_useDedicatedReplicationServer,++ -- ** InitializeService+ initializeServiceResponse_httpStatus,++ -- ** ListExtensibleSourceServers+ listExtensibleSourceServers_maxResults,+ listExtensibleSourceServers_nextToken,+ listExtensibleSourceServers_stagingAccountID,+ listExtensibleSourceServersResponse_items,+ listExtensibleSourceServersResponse_nextToken,+ listExtensibleSourceServersResponse_httpStatus,++ -- ** ListStagingAccounts+ listStagingAccounts_maxResults,+ listStagingAccounts_nextToken,+ listStagingAccountsResponse_accounts,+ listStagingAccountsResponse_nextToken,+ listStagingAccountsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** RetryDataReplication+ retryDataReplication_sourceServerID,+ sourceServer_arn,+ sourceServer_dataReplicationInfo,+ sourceServer_lastLaunchResult,+ sourceServer_lifeCycle,+ sourceServer_recoveryInstanceId,+ sourceServer_replicationDirection,+ sourceServer_reversedDirectionSourceServerArn,+ sourceServer_sourceCloudProperties,+ sourceServer_sourceProperties,+ sourceServer_sourceServerID,+ sourceServer_stagingArea,+ sourceServer_tags,++ -- ** ReverseReplication+ reverseReplication_recoveryInstanceID,+ reverseReplicationResponse_reversedDirectionSourceServerArn,+ reverseReplicationResponse_httpStatus,++ -- ** StartFailbackLaunch+ startFailbackLaunch_tags,+ startFailbackLaunch_recoveryInstanceIDs,+ startFailbackLaunchResponse_job,+ startFailbackLaunchResponse_httpStatus,++ -- ** StartRecovery+ startRecovery_isDrill,+ startRecovery_tags,+ startRecovery_sourceServers,+ startRecoveryResponse_job,+ startRecoveryResponse_httpStatus,++ -- ** StartReplication+ startReplication_sourceServerID,+ startReplicationResponse_sourceServer,+ startReplicationResponse_httpStatus,++ -- ** StopFailback+ stopFailback_recoveryInstanceID,++ -- ** StopReplication+ stopReplication_sourceServerID,+ stopReplicationResponse_sourceServer,+ stopReplicationResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,++ -- ** TerminateRecoveryInstances+ terminateRecoveryInstances_recoveryInstanceIDs,+ terminateRecoveryInstancesResponse_job,+ terminateRecoveryInstancesResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- ** UpdateFailbackReplicationConfiguration+ updateFailbackReplicationConfiguration_bandwidthThrottling,+ updateFailbackReplicationConfiguration_name,+ updateFailbackReplicationConfiguration_usePrivateIP,+ updateFailbackReplicationConfiguration_recoveryInstanceID,++ -- ** UpdateLaunchConfiguration+ updateLaunchConfiguration_copyPrivateIp,+ updateLaunchConfiguration_copyTags,+ updateLaunchConfiguration_launchDisposition,+ updateLaunchConfiguration_licensing,+ updateLaunchConfiguration_name,+ updateLaunchConfiguration_targetInstanceTypeRightSizingMethod,+ updateLaunchConfiguration_sourceServerID,+ launchConfiguration_copyPrivateIp,+ launchConfiguration_copyTags,+ launchConfiguration_ec2LaunchTemplateID,+ launchConfiguration_launchDisposition,+ launchConfiguration_licensing,+ launchConfiguration_name,+ launchConfiguration_sourceServerID,+ launchConfiguration_targetInstanceTypeRightSizingMethod,++ -- ** UpdateReplicationConfiguration+ updateReplicationConfiguration_associateDefaultSecurityGroup,+ updateReplicationConfiguration_bandwidthThrottling,+ updateReplicationConfiguration_createPublicIP,+ updateReplicationConfiguration_dataPlaneRouting,+ updateReplicationConfiguration_defaultLargeStagingDiskType,+ updateReplicationConfiguration_ebsEncryption,+ updateReplicationConfiguration_ebsEncryptionKeyArn,+ updateReplicationConfiguration_name,+ updateReplicationConfiguration_pitPolicy,+ updateReplicationConfiguration_replicatedDisks,+ updateReplicationConfiguration_replicationServerInstanceType,+ updateReplicationConfiguration_replicationServersSecurityGroupsIDs,+ updateReplicationConfiguration_stagingAreaSubnetId,+ updateReplicationConfiguration_stagingAreaTags,+ updateReplicationConfiguration_useDedicatedReplicationServer,+ updateReplicationConfiguration_sourceServerID,+ replicationConfiguration_associateDefaultSecurityGroup,+ replicationConfiguration_bandwidthThrottling,+ replicationConfiguration_createPublicIP,+ replicationConfiguration_dataPlaneRouting,+ replicationConfiguration_defaultLargeStagingDiskType,+ replicationConfiguration_ebsEncryption,+ replicationConfiguration_ebsEncryptionKeyArn,+ replicationConfiguration_name,+ replicationConfiguration_pitPolicy,+ replicationConfiguration_replicatedDisks,+ replicationConfiguration_replicationServerInstanceType,+ replicationConfiguration_replicationServersSecurityGroupsIDs,+ replicationConfiguration_sourceServerID,+ replicationConfiguration_stagingAreaSubnetId,+ replicationConfiguration_stagingAreaTags,+ replicationConfiguration_useDedicatedReplicationServer,++ -- ** UpdateReplicationConfigurationTemplate+ updateReplicationConfigurationTemplate_arn,+ updateReplicationConfigurationTemplate_associateDefaultSecurityGroup,+ updateReplicationConfigurationTemplate_bandwidthThrottling,+ updateReplicationConfigurationTemplate_createPublicIP,+ updateReplicationConfigurationTemplate_dataPlaneRouting,+ updateReplicationConfigurationTemplate_defaultLargeStagingDiskType,+ updateReplicationConfigurationTemplate_ebsEncryption,+ updateReplicationConfigurationTemplate_ebsEncryptionKeyArn,+ updateReplicationConfigurationTemplate_pitPolicy,+ updateReplicationConfigurationTemplate_replicationServerInstanceType,+ updateReplicationConfigurationTemplate_replicationServersSecurityGroupsIDs,+ updateReplicationConfigurationTemplate_stagingAreaSubnetId,+ updateReplicationConfigurationTemplate_stagingAreaTags,+ updateReplicationConfigurationTemplate_useDedicatedReplicationServer,+ updateReplicationConfigurationTemplate_replicationConfigurationTemplateID,+ replicationConfigurationTemplate_arn,+ replicationConfigurationTemplate_associateDefaultSecurityGroup,+ replicationConfigurationTemplate_bandwidthThrottling,+ replicationConfigurationTemplate_createPublicIP,+ replicationConfigurationTemplate_dataPlaneRouting,+ replicationConfigurationTemplate_defaultLargeStagingDiskType,+ replicationConfigurationTemplate_ebsEncryption,+ replicationConfigurationTemplate_ebsEncryptionKeyArn,+ replicationConfigurationTemplate_pitPolicy,+ replicationConfigurationTemplate_replicationServerInstanceType,+ replicationConfigurationTemplate_replicationServersSecurityGroupsIDs,+ replicationConfigurationTemplate_stagingAreaSubnetId,+ replicationConfigurationTemplate_stagingAreaTags,+ replicationConfigurationTemplate_tags,+ replicationConfigurationTemplate_useDedicatedReplicationServer,+ replicationConfigurationTemplate_replicationConfigurationTemplateID,++ -- * Types++ -- ** Account+ account_accountID,++ -- ** CPU+ cpu_cores,+ cpu_modelName,++ -- ** ConversionProperties+ conversionProperties_dataTimestamp,+ conversionProperties_forceUefi,+ conversionProperties_rootVolumeName,+ conversionProperties_volumeToConversionMap,+ conversionProperties_volumeToVolumeSize,++ -- ** DataReplicationError+ dataReplicationError_error,+ dataReplicationError_rawError,++ -- ** DataReplicationInfo+ dataReplicationInfo_dataReplicationError,+ dataReplicationInfo_dataReplicationInitiation,+ dataReplicationInfo_dataReplicationState,+ dataReplicationInfo_etaDateTime,+ dataReplicationInfo_lagDuration,+ dataReplicationInfo_replicatedDisks,++ -- ** DataReplicationInfoReplicatedDisk+ dataReplicationInfoReplicatedDisk_backloggedStorageBytes,+ dataReplicationInfoReplicatedDisk_deviceName,+ dataReplicationInfoReplicatedDisk_replicatedStorageBytes,+ dataReplicationInfoReplicatedDisk_rescannedStorageBytes,+ dataReplicationInfoReplicatedDisk_totalStorageBytes,++ -- ** DataReplicationInitiation+ dataReplicationInitiation_nextAttemptDateTime,+ dataReplicationInitiation_startDateTime,+ dataReplicationInitiation_steps,++ -- ** DataReplicationInitiationStep+ dataReplicationInitiationStep_name,+ dataReplicationInitiationStep_status,++ -- ** DescribeJobsRequestFilters+ describeJobsRequestFilters_fromDate,+ describeJobsRequestFilters_jobIDs,+ describeJobsRequestFilters_toDate,++ -- ** DescribeRecoveryInstancesRequestFilters+ describeRecoveryInstancesRequestFilters_recoveryInstanceIDs,+ describeRecoveryInstancesRequestFilters_sourceServerIDs,++ -- ** DescribeRecoverySnapshotsRequestFilters+ describeRecoverySnapshotsRequestFilters_fromDateTime,+ describeRecoverySnapshotsRequestFilters_toDateTime,++ -- ** DescribeSourceServersRequestFilters+ describeSourceServersRequestFilters_hardwareId,+ describeSourceServersRequestFilters_sourceServerIDs,+ describeSourceServersRequestFilters_stagingAccountIDs,++ -- ** Disk+ disk_bytes,+ disk_deviceName,++ -- ** IdentificationHints+ identificationHints_awsInstanceID,+ identificationHints_fqdn,+ identificationHints_hostname,+ identificationHints_vmWareUuid,++ -- ** Job+ job_arn,+ job_creationDateTime,+ job_endDateTime,+ job_initiatedBy,+ job_participatingServers,+ job_status,+ job_tags,+ job_type,+ job_jobID,++ -- ** JobLog+ jobLog_event,+ jobLog_eventData,+ jobLog_logDateTime,++ -- ** JobLogEventData+ jobLogEventData_conversionProperties,+ jobLogEventData_conversionServerID,+ jobLogEventData_rawError,+ jobLogEventData_sourceServerID,+ jobLogEventData_targetInstanceID,++ -- ** LaunchConfiguration+ launchConfiguration_copyPrivateIp,+ launchConfiguration_copyTags,+ launchConfiguration_ec2LaunchTemplateID,+ launchConfiguration_launchDisposition,+ launchConfiguration_licensing,+ launchConfiguration_name,+ launchConfiguration_sourceServerID,+ launchConfiguration_targetInstanceTypeRightSizingMethod,++ -- ** Licensing+ licensing_osByol,++ -- ** LifeCycle+ lifeCycle_addedToServiceDateTime,+ lifeCycle_elapsedReplicationDuration,+ lifeCycle_firstByteDateTime,+ lifeCycle_lastLaunch,+ lifeCycle_lastSeenByServiceDateTime,++ -- ** LifeCycleLastLaunch+ lifeCycleLastLaunch_initiated,++ -- ** LifeCycleLastLaunchInitiated+ lifeCycleLastLaunchInitiated_apiCallDateTime,+ lifeCycleLastLaunchInitiated_jobID,+ lifeCycleLastLaunchInitiated_type,++ -- ** NetworkInterface+ networkInterface_ips,+ networkInterface_isPrimary,+ networkInterface_macAddress,++ -- ** OS+ os_fullString,++ -- ** PITPolicyRule+ pITPolicyRule_enabled,+ pITPolicyRule_ruleID,+ pITPolicyRule_interval,+ pITPolicyRule_retentionDuration,+ pITPolicyRule_units,++ -- ** ParticipatingServer+ participatingServer_launchStatus,+ participatingServer_recoveryInstanceID,+ participatingServer_sourceServerID,++ -- ** RecoveryInstance+ recoveryInstance_arn,+ recoveryInstance_dataReplicationInfo,+ recoveryInstance_ec2InstanceID,+ recoveryInstance_ec2InstanceState,+ recoveryInstance_failback,+ recoveryInstance_isDrill,+ recoveryInstance_jobID,+ recoveryInstance_originEnvironment,+ recoveryInstance_pointInTimeSnapshotDateTime,+ recoveryInstance_recoveryInstanceID,+ recoveryInstance_recoveryInstanceProperties,+ recoveryInstance_sourceServerID,+ recoveryInstance_tags,++ -- ** RecoveryInstanceDataReplicationError+ recoveryInstanceDataReplicationError_error,+ recoveryInstanceDataReplicationError_rawError,++ -- ** RecoveryInstanceDataReplicationInfo+ recoveryInstanceDataReplicationInfo_dataReplicationError,+ recoveryInstanceDataReplicationInfo_dataReplicationInitiation,+ recoveryInstanceDataReplicationInfo_dataReplicationState,+ recoveryInstanceDataReplicationInfo_etaDateTime,+ recoveryInstanceDataReplicationInfo_lagDuration,+ recoveryInstanceDataReplicationInfo_replicatedDisks,++ -- ** RecoveryInstanceDataReplicationInfoReplicatedDisk+ recoveryInstanceDataReplicationInfoReplicatedDisk_backloggedStorageBytes,+ recoveryInstanceDataReplicationInfoReplicatedDisk_deviceName,+ recoveryInstanceDataReplicationInfoReplicatedDisk_replicatedStorageBytes,+ recoveryInstanceDataReplicationInfoReplicatedDisk_rescannedStorageBytes,+ recoveryInstanceDataReplicationInfoReplicatedDisk_totalStorageBytes,++ -- ** RecoveryInstanceDataReplicationInitiation+ recoveryInstanceDataReplicationInitiation_startDateTime,+ recoveryInstanceDataReplicationInitiation_steps,++ -- ** RecoveryInstanceDataReplicationInitiationStep+ recoveryInstanceDataReplicationInitiationStep_name,+ recoveryInstanceDataReplicationInitiationStep_status,++ -- ** RecoveryInstanceDisk+ recoveryInstanceDisk_bytes,+ recoveryInstanceDisk_ebsVolumeID,+ recoveryInstanceDisk_internalDeviceName,++ -- ** RecoveryInstanceFailback+ recoveryInstanceFailback_agentLastSeenByServiceDateTime,+ recoveryInstanceFailback_elapsedReplicationDuration,+ recoveryInstanceFailback_failbackClientID,+ recoveryInstanceFailback_failbackClientLastSeenByServiceDateTime,+ recoveryInstanceFailback_failbackInitiationTime,+ recoveryInstanceFailback_failbackJobID,+ recoveryInstanceFailback_failbackLaunchType,+ recoveryInstanceFailback_failbackToOriginalServer,+ recoveryInstanceFailback_firstByteDateTime,+ recoveryInstanceFailback_state,++ -- ** RecoveryInstanceProperties+ recoveryInstanceProperties_cpus,+ recoveryInstanceProperties_disks,+ recoveryInstanceProperties_identificationHints,+ recoveryInstanceProperties_lastUpdatedDateTime,+ recoveryInstanceProperties_networkInterfaces,+ recoveryInstanceProperties_os,+ recoveryInstanceProperties_ramBytes,++ -- ** RecoverySnapshot+ recoverySnapshot_ebsSnapshots,+ recoverySnapshot_timestamp,+ recoverySnapshot_expectedTimestamp,+ recoverySnapshot_snapshotID,+ recoverySnapshot_sourceServerID,++ -- ** ReplicationConfiguration+ replicationConfiguration_associateDefaultSecurityGroup,+ replicationConfiguration_bandwidthThrottling,+ replicationConfiguration_createPublicIP,+ replicationConfiguration_dataPlaneRouting,+ replicationConfiguration_defaultLargeStagingDiskType,+ replicationConfiguration_ebsEncryption,+ replicationConfiguration_ebsEncryptionKeyArn,+ replicationConfiguration_name,+ replicationConfiguration_pitPolicy,+ replicationConfiguration_replicatedDisks,+ replicationConfiguration_replicationServerInstanceType,+ replicationConfiguration_replicationServersSecurityGroupsIDs,+ replicationConfiguration_sourceServerID,+ replicationConfiguration_stagingAreaSubnetId,+ replicationConfiguration_stagingAreaTags,+ replicationConfiguration_useDedicatedReplicationServer,++ -- ** ReplicationConfigurationReplicatedDisk+ replicationConfigurationReplicatedDisk_deviceName,+ replicationConfigurationReplicatedDisk_iops,+ replicationConfigurationReplicatedDisk_isBootDisk,+ replicationConfigurationReplicatedDisk_optimizedStagingDiskType,+ replicationConfigurationReplicatedDisk_stagingDiskType,+ replicationConfigurationReplicatedDisk_throughput,++ -- ** ReplicationConfigurationTemplate+ replicationConfigurationTemplate_arn,+ replicationConfigurationTemplate_associateDefaultSecurityGroup,+ replicationConfigurationTemplate_bandwidthThrottling,+ replicationConfigurationTemplate_createPublicIP,+ replicationConfigurationTemplate_dataPlaneRouting,+ replicationConfigurationTemplate_defaultLargeStagingDiskType,+ replicationConfigurationTemplate_ebsEncryption,+ replicationConfigurationTemplate_ebsEncryptionKeyArn,+ replicationConfigurationTemplate_pitPolicy,+ replicationConfigurationTemplate_replicationServerInstanceType,+ replicationConfigurationTemplate_replicationServersSecurityGroupsIDs,+ replicationConfigurationTemplate_stagingAreaSubnetId,+ replicationConfigurationTemplate_stagingAreaTags,+ replicationConfigurationTemplate_tags,+ replicationConfigurationTemplate_useDedicatedReplicationServer,+ replicationConfigurationTemplate_replicationConfigurationTemplateID,++ -- ** SourceCloudProperties+ sourceCloudProperties_originAccountID,+ sourceCloudProperties_originAvailabilityZone,+ sourceCloudProperties_originRegion,++ -- ** SourceProperties+ sourceProperties_cpus,+ sourceProperties_disks,+ sourceProperties_identificationHints,+ sourceProperties_lastUpdatedDateTime,+ sourceProperties_networkInterfaces,+ sourceProperties_os,+ sourceProperties_ramBytes,+ sourceProperties_recommendedInstanceType,++ -- ** SourceServer+ sourceServer_arn,+ sourceServer_dataReplicationInfo,+ sourceServer_lastLaunchResult,+ sourceServer_lifeCycle,+ sourceServer_recoveryInstanceId,+ sourceServer_replicationDirection,+ sourceServer_reversedDirectionSourceServerArn,+ sourceServer_sourceCloudProperties,+ sourceServer_sourceProperties,+ sourceServer_sourceServerID,+ sourceServer_stagingArea,+ sourceServer_tags,++ -- ** StagingArea+ stagingArea_errorMessage,+ stagingArea_stagingAccountID,+ stagingArea_stagingSourceServerArn,+ stagingArea_status,++ -- ** StagingSourceServer+ stagingSourceServer_arn,+ stagingSourceServer_hostname,+ stagingSourceServer_tags,++ -- ** StartRecoveryRequestSourceServer+ startRecoveryRequestSourceServer_recoverySnapshotID,+ startRecoveryRequestSourceServer_sourceServerID,+ )+where++import Amazonka.DrS.CreateExtendedSourceServer+import Amazonka.DrS.CreateReplicationConfigurationTemplate+import Amazonka.DrS.DeleteJob+import Amazonka.DrS.DeleteRecoveryInstance+import Amazonka.DrS.DeleteReplicationConfigurationTemplate+import Amazonka.DrS.DeleteSourceServer+import Amazonka.DrS.DescribeJobLogItems+import Amazonka.DrS.DescribeJobs+import Amazonka.DrS.DescribeRecoveryInstances+import Amazonka.DrS.DescribeRecoverySnapshots+import Amazonka.DrS.DescribeReplicationConfigurationTemplates+import Amazonka.DrS.DescribeSourceServers+import Amazonka.DrS.DisconnectRecoveryInstance+import Amazonka.DrS.DisconnectSourceServer+import Amazonka.DrS.GetFailbackReplicationConfiguration+import Amazonka.DrS.GetLaunchConfiguration+import Amazonka.DrS.GetReplicationConfiguration+import Amazonka.DrS.InitializeService+import Amazonka.DrS.ListExtensibleSourceServers+import Amazonka.DrS.ListStagingAccounts+import Amazonka.DrS.ListTagsForResource+import Amazonka.DrS.RetryDataReplication+import Amazonka.DrS.ReverseReplication+import Amazonka.DrS.StartFailbackLaunch+import Amazonka.DrS.StartRecovery+import Amazonka.DrS.StartReplication+import Amazonka.DrS.StopFailback+import Amazonka.DrS.StopReplication+import Amazonka.DrS.TagResource+import Amazonka.DrS.TerminateRecoveryInstances+import Amazonka.DrS.Types.Account+import Amazonka.DrS.Types.CPU+import Amazonka.DrS.Types.ConversionProperties+import Amazonka.DrS.Types.DataReplicationError+import Amazonka.DrS.Types.DataReplicationInfo+import Amazonka.DrS.Types.DataReplicationInfoReplicatedDisk+import Amazonka.DrS.Types.DataReplicationInitiation+import Amazonka.DrS.Types.DataReplicationInitiationStep+import Amazonka.DrS.Types.DescribeJobsRequestFilters+import Amazonka.DrS.Types.DescribeRecoveryInstancesRequestFilters+import Amazonka.DrS.Types.DescribeRecoverySnapshotsRequestFilters+import Amazonka.DrS.Types.DescribeSourceServersRequestFilters+import Amazonka.DrS.Types.Disk+import Amazonka.DrS.Types.IdentificationHints+import Amazonka.DrS.Types.Job+import Amazonka.DrS.Types.JobLog+import Amazonka.DrS.Types.JobLogEventData+import Amazonka.DrS.Types.LaunchConfiguration+import Amazonka.DrS.Types.Licensing+import Amazonka.DrS.Types.LifeCycle+import Amazonka.DrS.Types.LifeCycleLastLaunch+import Amazonka.DrS.Types.LifeCycleLastLaunchInitiated+import Amazonka.DrS.Types.NetworkInterface+import Amazonka.DrS.Types.OS+import Amazonka.DrS.Types.PITPolicyRule+import Amazonka.DrS.Types.ParticipatingServer+import Amazonka.DrS.Types.RecoveryInstance+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationError+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInfo+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInfoReplicatedDisk+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiation+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStep+import Amazonka.DrS.Types.RecoveryInstanceDisk+import Amazonka.DrS.Types.RecoveryInstanceFailback+import Amazonka.DrS.Types.RecoveryInstanceProperties+import Amazonka.DrS.Types.RecoverySnapshot+import Amazonka.DrS.Types.ReplicationConfiguration+import Amazonka.DrS.Types.ReplicationConfigurationReplicatedDisk+import Amazonka.DrS.Types.ReplicationConfigurationTemplate+import Amazonka.DrS.Types.SourceCloudProperties+import Amazonka.DrS.Types.SourceProperties+import Amazonka.DrS.Types.SourceServer+import Amazonka.DrS.Types.StagingArea+import Amazonka.DrS.Types.StagingSourceServer+import Amazonka.DrS.Types.StartRecoveryRequestSourceServer+import Amazonka.DrS.UntagResource+import Amazonka.DrS.UpdateFailbackReplicationConfiguration+import Amazonka.DrS.UpdateLaunchConfiguration+import Amazonka.DrS.UpdateReplicationConfiguration+import Amazonka.DrS.UpdateReplicationConfigurationTemplate
+ gen/Amazonka/DrS/ListExtensibleSourceServers.hs view
@@ -0,0 +1,242 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.ListExtensibleSourceServers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of source servers on a staging account that are+-- extensible, which means that: a. The source server is not already+-- extended into this Account. b. The source server on the Account we’re+-- reading from is not an extension of another source server.+--+-- This operation returns paginated results.+module Amazonka.DrS.ListExtensibleSourceServers+ ( -- * Creating a Request+ ListExtensibleSourceServers (..),+ newListExtensibleSourceServers,++ -- * Request Lenses+ listExtensibleSourceServers_maxResults,+ listExtensibleSourceServers_nextToken,+ listExtensibleSourceServers_stagingAccountID,++ -- * Destructuring the Response+ ListExtensibleSourceServersResponse (..),+ newListExtensibleSourceServersResponse,++ -- * Response Lenses+ listExtensibleSourceServersResponse_items,+ listExtensibleSourceServersResponse_nextToken,+ listExtensibleSourceServersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListExtensibleSourceServers' smart constructor.+data ListExtensibleSourceServers = ListExtensibleSourceServers'+ { -- | The maximum number of extensible source servers to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token of the next extensible source server to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Id of the staging Account to retrieve extensible source servers+ -- from.+ stagingAccountID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListExtensibleSourceServers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listExtensibleSourceServers_maxResults' - The maximum number of extensible source servers to retrieve.+--+-- 'nextToken', 'listExtensibleSourceServers_nextToken' - The token of the next extensible source server to retrieve.+--+-- 'stagingAccountID', 'listExtensibleSourceServers_stagingAccountID' - The Id of the staging Account to retrieve extensible source servers+-- from.+newListExtensibleSourceServers ::+ -- | 'stagingAccountID'+ Prelude.Text ->+ ListExtensibleSourceServers+newListExtensibleSourceServers pStagingAccountID_ =+ ListExtensibleSourceServers'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ stagingAccountID = pStagingAccountID_+ }++-- | The maximum number of extensible source servers to retrieve.+listExtensibleSourceServers_maxResults :: Lens.Lens' ListExtensibleSourceServers (Prelude.Maybe Prelude.Natural)+listExtensibleSourceServers_maxResults = Lens.lens (\ListExtensibleSourceServers' {maxResults} -> maxResults) (\s@ListExtensibleSourceServers' {} a -> s {maxResults = a} :: ListExtensibleSourceServers)++-- | The token of the next extensible source server to retrieve.+listExtensibleSourceServers_nextToken :: Lens.Lens' ListExtensibleSourceServers (Prelude.Maybe Prelude.Text)+listExtensibleSourceServers_nextToken = Lens.lens (\ListExtensibleSourceServers' {nextToken} -> nextToken) (\s@ListExtensibleSourceServers' {} a -> s {nextToken = a} :: ListExtensibleSourceServers)++-- | The Id of the staging Account to retrieve extensible source servers+-- from.+listExtensibleSourceServers_stagingAccountID :: Lens.Lens' ListExtensibleSourceServers Prelude.Text+listExtensibleSourceServers_stagingAccountID = Lens.lens (\ListExtensibleSourceServers' {stagingAccountID} -> stagingAccountID) (\s@ListExtensibleSourceServers' {} a -> s {stagingAccountID = a} :: ListExtensibleSourceServers)++instance Core.AWSPager ListExtensibleSourceServers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listExtensibleSourceServersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listExtensibleSourceServersResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listExtensibleSourceServers_nextToken+ Lens..~ rs+ Lens.^? listExtensibleSourceServersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListExtensibleSourceServers where+ type+ AWSResponse ListExtensibleSourceServers =+ ListExtensibleSourceServersResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListExtensibleSourceServersResponse'+ Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListExtensibleSourceServers where+ hashWithSalt _salt ListExtensibleSourceServers' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` stagingAccountID++instance Prelude.NFData ListExtensibleSourceServers where+ rnf ListExtensibleSourceServers' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf stagingAccountID++instance Data.ToHeaders ListExtensibleSourceServers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListExtensibleSourceServers where+ toJSON ListExtensibleSourceServers' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ("stagingAccountID" Data..= stagingAccountID)+ ]+ )++instance Data.ToPath ListExtensibleSourceServers where+ toPath = Prelude.const "/ListExtensibleSourceServers"++instance Data.ToQuery ListExtensibleSourceServers where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListExtensibleSourceServersResponse' smart constructor.+data ListExtensibleSourceServersResponse = ListExtensibleSourceServersResponse'+ { -- | A list of source servers on a staging Account that are extensible.+ items :: Prelude.Maybe [StagingSourceServer],+ -- | The token of the next extensible source server to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListExtensibleSourceServersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listExtensibleSourceServersResponse_items' - A list of source servers on a staging Account that are extensible.+--+-- 'nextToken', 'listExtensibleSourceServersResponse_nextToken' - The token of the next extensible source server to retrieve.+--+-- 'httpStatus', 'listExtensibleSourceServersResponse_httpStatus' - The response's http status code.+newListExtensibleSourceServersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListExtensibleSourceServersResponse+newListExtensibleSourceServersResponse pHttpStatus_ =+ ListExtensibleSourceServersResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of source servers on a staging Account that are extensible.+listExtensibleSourceServersResponse_items :: Lens.Lens' ListExtensibleSourceServersResponse (Prelude.Maybe [StagingSourceServer])+listExtensibleSourceServersResponse_items = Lens.lens (\ListExtensibleSourceServersResponse' {items} -> items) (\s@ListExtensibleSourceServersResponse' {} a -> s {items = a} :: ListExtensibleSourceServersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token of the next extensible source server to retrieve.+listExtensibleSourceServersResponse_nextToken :: Lens.Lens' ListExtensibleSourceServersResponse (Prelude.Maybe Prelude.Text)+listExtensibleSourceServersResponse_nextToken = Lens.lens (\ListExtensibleSourceServersResponse' {nextToken} -> nextToken) (\s@ListExtensibleSourceServersResponse' {} a -> s {nextToken = a} :: ListExtensibleSourceServersResponse)++-- | The response's http status code.+listExtensibleSourceServersResponse_httpStatus :: Lens.Lens' ListExtensibleSourceServersResponse Prelude.Int+listExtensibleSourceServersResponse_httpStatus = Lens.lens (\ListExtensibleSourceServersResponse' {httpStatus} -> httpStatus) (\s@ListExtensibleSourceServersResponse' {} a -> s {httpStatus = a} :: ListExtensibleSourceServersResponse)++instance+ Prelude.NFData+ ListExtensibleSourceServersResponse+ where+ rnf ListExtensibleSourceServersResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/ListStagingAccounts.hs view
@@ -0,0 +1,212 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.ListStagingAccounts+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an array of staging accounts for existing extended source+-- servers.+--+-- This operation returns paginated results.+module Amazonka.DrS.ListStagingAccounts+ ( -- * Creating a Request+ ListStagingAccounts (..),+ newListStagingAccounts,++ -- * Request Lenses+ listStagingAccounts_maxResults,+ listStagingAccounts_nextToken,++ -- * Destructuring the Response+ ListStagingAccountsResponse (..),+ newListStagingAccountsResponse,++ -- * Response Lenses+ listStagingAccountsResponse_accounts,+ listStagingAccountsResponse_nextToken,+ listStagingAccountsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListStagingAccounts' smart constructor.+data ListStagingAccounts = ListStagingAccounts'+ { -- | The maximum number of staging Accounts to retrieve.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token of the next staging Account to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStagingAccounts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listStagingAccounts_maxResults' - The maximum number of staging Accounts to retrieve.+--+-- 'nextToken', 'listStagingAccounts_nextToken' - The token of the next staging Account to retrieve.+newListStagingAccounts ::+ ListStagingAccounts+newListStagingAccounts =+ ListStagingAccounts'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of staging Accounts to retrieve.+listStagingAccounts_maxResults :: Lens.Lens' ListStagingAccounts (Prelude.Maybe Prelude.Natural)+listStagingAccounts_maxResults = Lens.lens (\ListStagingAccounts' {maxResults} -> maxResults) (\s@ListStagingAccounts' {} a -> s {maxResults = a} :: ListStagingAccounts)++-- | The token of the next staging Account to retrieve.+listStagingAccounts_nextToken :: Lens.Lens' ListStagingAccounts (Prelude.Maybe Prelude.Text)+listStagingAccounts_nextToken = Lens.lens (\ListStagingAccounts' {nextToken} -> nextToken) (\s@ListStagingAccounts' {} a -> s {nextToken = a} :: ListStagingAccounts)++instance Core.AWSPager ListStagingAccounts where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listStagingAccountsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listStagingAccountsResponse_accounts+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listStagingAccounts_nextToken+ Lens..~ rs+ Lens.^? listStagingAccountsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListStagingAccounts where+ type+ AWSResponse ListStagingAccounts =+ ListStagingAccountsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListStagingAccountsResponse'+ Prelude.<$> (x Data..?> "accounts" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListStagingAccounts where+ hashWithSalt _salt ListStagingAccounts' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListStagingAccounts where+ rnf ListStagingAccounts' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListStagingAccounts where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListStagingAccounts where+ toPath = Prelude.const "/ListStagingAccounts"++instance Data.ToQuery ListStagingAccounts where+ toQuery ListStagingAccounts' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListStagingAccountsResponse' smart constructor.+data ListStagingAccountsResponse = ListStagingAccountsResponse'+ { -- | An array of staging AWS Accounts.+ accounts :: Prelude.Maybe [Account],+ -- | The token of the next staging Account to retrieve.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStagingAccountsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accounts', 'listStagingAccountsResponse_accounts' - An array of staging AWS Accounts.+--+-- 'nextToken', 'listStagingAccountsResponse_nextToken' - The token of the next staging Account to retrieve.+--+-- 'httpStatus', 'listStagingAccountsResponse_httpStatus' - The response's http status code.+newListStagingAccountsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListStagingAccountsResponse+newListStagingAccountsResponse pHttpStatus_ =+ ListStagingAccountsResponse'+ { accounts =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of staging AWS Accounts.+listStagingAccountsResponse_accounts :: Lens.Lens' ListStagingAccountsResponse (Prelude.Maybe [Account])+listStagingAccountsResponse_accounts = Lens.lens (\ListStagingAccountsResponse' {accounts} -> accounts) (\s@ListStagingAccountsResponse' {} a -> s {accounts = a} :: ListStagingAccountsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token of the next staging Account to retrieve.+listStagingAccountsResponse_nextToken :: Lens.Lens' ListStagingAccountsResponse (Prelude.Maybe Prelude.Text)+listStagingAccountsResponse_nextToken = Lens.lens (\ListStagingAccountsResponse' {nextToken} -> nextToken) (\s@ListStagingAccountsResponse' {} a -> s {nextToken = a} :: ListStagingAccountsResponse)++-- | The response's http status code.+listStagingAccountsResponse_httpStatus :: Lens.Lens' ListStagingAccountsResponse Prelude.Int+listStagingAccountsResponse_httpStatus = Lens.lens (\ListStagingAccountsResponse' {httpStatus} -> httpStatus) (\s@ListStagingAccountsResponse' {} a -> s {httpStatus = a} :: ListStagingAccountsResponse)++instance Prelude.NFData ListStagingAccountsResponse where+ rnf ListStagingAccountsResponse' {..} =+ Prelude.rnf accounts+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/ListTagsForResource.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all tags for your Elastic Disaster Recovery resources.+module Amazonka.DrS.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The ARN of the resource whose tags should be returned.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The ARN of the resource whose tags should be returned.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The ARN of the resource whose tags should be returned.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath ListTagsForResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The tags of the requested resource.+ tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags of the requested resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The tags of the requested resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/RetryDataReplication.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.RetryDataReplication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Causes the data replication initiation sequence to begin immediately+-- upon next Handshake for the specified Source Server ID, regardless of+-- when the previous initiation started. This command will work only if the+-- Source Server is stalled or is in a DISCONNECTED or STOPPED state.+module Amazonka.DrS.RetryDataReplication+ ( -- * Creating a Request+ RetryDataReplication (..),+ newRetryDataReplication,++ -- * Request Lenses+ retryDataReplication_sourceServerID,++ -- * Destructuring the Response+ SourceServer (..),+ newSourceServer,++ -- * Response Lenses+ sourceServer_arn,+ sourceServer_dataReplicationInfo,+ sourceServer_lastLaunchResult,+ sourceServer_lifeCycle,+ sourceServer_recoveryInstanceId,+ sourceServer_replicationDirection,+ sourceServer_reversedDirectionSourceServerArn,+ sourceServer_sourceCloudProperties,+ sourceServer_sourceProperties,+ sourceServer_sourceServerID,+ sourceServer_stagingArea,+ sourceServer_tags,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRetryDataReplication' smart constructor.+data RetryDataReplication = RetryDataReplication'+ { -- | The ID of the Source Server whose data replication should be retried.+ sourceServerID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RetryDataReplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceServerID', 'retryDataReplication_sourceServerID' - The ID of the Source Server whose data replication should be retried.+newRetryDataReplication ::+ -- | 'sourceServerID'+ Prelude.Text ->+ RetryDataReplication+newRetryDataReplication pSourceServerID_ =+ RetryDataReplication'+ { sourceServerID =+ pSourceServerID_+ }++-- | The ID of the Source Server whose data replication should be retried.+retryDataReplication_sourceServerID :: Lens.Lens' RetryDataReplication Prelude.Text+retryDataReplication_sourceServerID = Lens.lens (\RetryDataReplication' {sourceServerID} -> sourceServerID) (\s@RetryDataReplication' {} a -> s {sourceServerID = a} :: RetryDataReplication)++instance Core.AWSRequest RetryDataReplication where+ type AWSResponse RetryDataReplication = SourceServer+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable RetryDataReplication where+ hashWithSalt _salt RetryDataReplication' {..} =+ _salt `Prelude.hashWithSalt` sourceServerID++instance Prelude.NFData RetryDataReplication where+ rnf RetryDataReplication' {..} =+ Prelude.rnf sourceServerID++instance Data.ToHeaders RetryDataReplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON RetryDataReplication where+ toJSON RetryDataReplication' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("sourceServerID" Data..= sourceServerID)+ ]+ )++instance Data.ToPath RetryDataReplication where+ toPath = Prelude.const "/RetryDataReplication"++instance Data.ToQuery RetryDataReplication where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/DrS/ReverseReplication.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.ReverseReplication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Start replication to origin \/ target region - applies only to protected+-- instances that originated in EC2. For recovery instances on target+-- region - starts replication back to origin region. For failback+-- instances on origin region - starts replication to target region to+-- re-protect them.+module Amazonka.DrS.ReverseReplication+ ( -- * Creating a Request+ ReverseReplication (..),+ newReverseReplication,++ -- * Request Lenses+ reverseReplication_recoveryInstanceID,++ -- * Destructuring the Response+ ReverseReplicationResponse (..),+ newReverseReplicationResponse,++ -- * Response Lenses+ reverseReplicationResponse_reversedDirectionSourceServerArn,+ reverseReplicationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newReverseReplication' smart constructor.+data ReverseReplication = ReverseReplication'+ { -- | The ID of the Recovery Instance that we want to reverse the replication+ -- for.+ recoveryInstanceID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReverseReplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'recoveryInstanceID', 'reverseReplication_recoveryInstanceID' - The ID of the Recovery Instance that we want to reverse the replication+-- for.+newReverseReplication ::+ -- | 'recoveryInstanceID'+ Prelude.Text ->+ ReverseReplication+newReverseReplication pRecoveryInstanceID_ =+ ReverseReplication'+ { recoveryInstanceID =+ pRecoveryInstanceID_+ }++-- | The ID of the Recovery Instance that we want to reverse the replication+-- for.+reverseReplication_recoveryInstanceID :: Lens.Lens' ReverseReplication Prelude.Text+reverseReplication_recoveryInstanceID = Lens.lens (\ReverseReplication' {recoveryInstanceID} -> recoveryInstanceID) (\s@ReverseReplication' {} a -> s {recoveryInstanceID = a} :: ReverseReplication)++instance Core.AWSRequest ReverseReplication where+ type+ AWSResponse ReverseReplication =+ ReverseReplicationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ReverseReplicationResponse'+ Prelude.<$> (x Data..?> "reversedDirectionSourceServerArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ReverseReplication where+ hashWithSalt _salt ReverseReplication' {..} =+ _salt `Prelude.hashWithSalt` recoveryInstanceID++instance Prelude.NFData ReverseReplication where+ rnf ReverseReplication' {..} =+ Prelude.rnf recoveryInstanceID++instance Data.ToHeaders ReverseReplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ReverseReplication where+ toJSON ReverseReplication' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("recoveryInstanceID" Data..= recoveryInstanceID)+ ]+ )++instance Data.ToPath ReverseReplication where+ toPath = Prelude.const "/ReverseReplication"++instance Data.ToQuery ReverseReplication where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newReverseReplicationResponse' smart constructor.+data ReverseReplicationResponse = ReverseReplicationResponse'+ { -- | ARN of created SourceServer.+ reversedDirectionSourceServerArn :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReverseReplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'reversedDirectionSourceServerArn', 'reverseReplicationResponse_reversedDirectionSourceServerArn' - ARN of created SourceServer.+--+-- 'httpStatus', 'reverseReplicationResponse_httpStatus' - The response's http status code.+newReverseReplicationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ReverseReplicationResponse+newReverseReplicationResponse pHttpStatus_ =+ ReverseReplicationResponse'+ { reversedDirectionSourceServerArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | ARN of created SourceServer.+reverseReplicationResponse_reversedDirectionSourceServerArn :: Lens.Lens' ReverseReplicationResponse (Prelude.Maybe Prelude.Text)+reverseReplicationResponse_reversedDirectionSourceServerArn = Lens.lens (\ReverseReplicationResponse' {reversedDirectionSourceServerArn} -> reversedDirectionSourceServerArn) (\s@ReverseReplicationResponse' {} a -> s {reversedDirectionSourceServerArn = a} :: ReverseReplicationResponse)++-- | The response's http status code.+reverseReplicationResponse_httpStatus :: Lens.Lens' ReverseReplicationResponse Prelude.Int+reverseReplicationResponse_httpStatus = Lens.lens (\ReverseReplicationResponse' {httpStatus} -> httpStatus) (\s@ReverseReplicationResponse' {} a -> s {httpStatus = a} :: ReverseReplicationResponse)++instance Prelude.NFData ReverseReplicationResponse where+ rnf ReverseReplicationResponse' {..} =+ Prelude.rnf reversedDirectionSourceServerArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/StartFailbackLaunch.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.StartFailbackLaunch+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Initiates a Job for launching the machine that is being failed back to+-- from the specified Recovery Instance. This will run conversion on the+-- failback client and will reboot your machine, thus completing the+-- failback process.+module Amazonka.DrS.StartFailbackLaunch+ ( -- * Creating a Request+ StartFailbackLaunch (..),+ newStartFailbackLaunch,++ -- * Request Lenses+ startFailbackLaunch_tags,+ startFailbackLaunch_recoveryInstanceIDs,++ -- * Destructuring the Response+ StartFailbackLaunchResponse (..),+ newStartFailbackLaunchResponse,++ -- * Response Lenses+ startFailbackLaunchResponse_job,+ startFailbackLaunchResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartFailbackLaunch' smart constructor.+data StartFailbackLaunch = StartFailbackLaunch'+ { -- | The tags to be associated with the failback launch Job.+ tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The IDs of the Recovery Instance whose failback launch we want to+ -- request.+ recoveryInstanceIDs :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartFailbackLaunch' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'startFailbackLaunch_tags' - The tags to be associated with the failback launch Job.+--+-- 'recoveryInstanceIDs', 'startFailbackLaunch_recoveryInstanceIDs' - The IDs of the Recovery Instance whose failback launch we want to+-- request.+newStartFailbackLaunch ::+ -- | 'recoveryInstanceIDs'+ Prelude.NonEmpty Prelude.Text ->+ StartFailbackLaunch+newStartFailbackLaunch pRecoveryInstanceIDs_ =+ StartFailbackLaunch'+ { tags = Prelude.Nothing,+ recoveryInstanceIDs =+ Lens.coerced Lens.# pRecoveryInstanceIDs_+ }++-- | The tags to be associated with the failback launch Job.+startFailbackLaunch_tags :: Lens.Lens' StartFailbackLaunch (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+startFailbackLaunch_tags = Lens.lens (\StartFailbackLaunch' {tags} -> tags) (\s@StartFailbackLaunch' {} a -> s {tags = a} :: StartFailbackLaunch) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The IDs of the Recovery Instance whose failback launch we want to+-- request.+startFailbackLaunch_recoveryInstanceIDs :: Lens.Lens' StartFailbackLaunch (Prelude.NonEmpty Prelude.Text)+startFailbackLaunch_recoveryInstanceIDs = Lens.lens (\StartFailbackLaunch' {recoveryInstanceIDs} -> recoveryInstanceIDs) (\s@StartFailbackLaunch' {} a -> s {recoveryInstanceIDs = a} :: StartFailbackLaunch) Prelude.. Lens.coerced++instance Core.AWSRequest StartFailbackLaunch where+ type+ AWSResponse StartFailbackLaunch =+ StartFailbackLaunchResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartFailbackLaunchResponse'+ Prelude.<$> (x Data..?> "job")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartFailbackLaunch where+ hashWithSalt _salt StartFailbackLaunch' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` recoveryInstanceIDs++instance Prelude.NFData StartFailbackLaunch where+ rnf StartFailbackLaunch' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf recoveryInstanceIDs++instance Data.ToHeaders StartFailbackLaunch where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StartFailbackLaunch where+ toJSON StartFailbackLaunch' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("recoveryInstanceIDs" Data..= recoveryInstanceIDs)+ ]+ )++instance Data.ToPath StartFailbackLaunch where+ toPath = Prelude.const "/StartFailbackLaunch"++instance Data.ToQuery StartFailbackLaunch where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartFailbackLaunchResponse' smart constructor.+data StartFailbackLaunchResponse = StartFailbackLaunchResponse'+ { -- | The failback launch Job.+ job :: Prelude.Maybe Job,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartFailbackLaunchResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'job', 'startFailbackLaunchResponse_job' - The failback launch Job.+--+-- 'httpStatus', 'startFailbackLaunchResponse_httpStatus' - The response's http status code.+newStartFailbackLaunchResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartFailbackLaunchResponse+newStartFailbackLaunchResponse pHttpStatus_ =+ StartFailbackLaunchResponse'+ { job = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The failback launch Job.+startFailbackLaunchResponse_job :: Lens.Lens' StartFailbackLaunchResponse (Prelude.Maybe Job)+startFailbackLaunchResponse_job = Lens.lens (\StartFailbackLaunchResponse' {job} -> job) (\s@StartFailbackLaunchResponse' {} a -> s {job = a} :: StartFailbackLaunchResponse)++-- | The response's http status code.+startFailbackLaunchResponse_httpStatus :: Lens.Lens' StartFailbackLaunchResponse Prelude.Int+startFailbackLaunchResponse_httpStatus = Lens.lens (\StartFailbackLaunchResponse' {httpStatus} -> httpStatus) (\s@StartFailbackLaunchResponse' {} a -> s {httpStatus = a} :: StartFailbackLaunchResponse)++instance Prelude.NFData StartFailbackLaunchResponse where+ rnf StartFailbackLaunchResponse' {..} =+ Prelude.rnf job+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/StartRecovery.hs view
@@ -0,0 +1,197 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.StartRecovery+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Launches Recovery Instances for the specified Source Servers. For each+-- Source Server you may choose a point in time snapshot to launch from, or+-- use an on demand snapshot.+module Amazonka.DrS.StartRecovery+ ( -- * Creating a Request+ StartRecovery (..),+ newStartRecovery,++ -- * Request Lenses+ startRecovery_isDrill,+ startRecovery_tags,+ startRecovery_sourceServers,++ -- * Destructuring the Response+ StartRecoveryResponse (..),+ newStartRecoveryResponse,++ -- * Response Lenses+ startRecoveryResponse_job,+ startRecoveryResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartRecovery' smart constructor.+data StartRecovery = StartRecovery'+ { -- | Whether this Source Server Recovery operation is a drill or not.+ isDrill :: Prelude.Maybe Prelude.Bool,+ -- | The tags to be associated with the Recovery Job.+ tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The Source Servers that we want to start a Recovery Job for.+ sourceServers :: Prelude.NonEmpty StartRecoveryRequestSourceServer+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartRecovery' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'isDrill', 'startRecovery_isDrill' - Whether this Source Server Recovery operation is a drill or not.+--+-- 'tags', 'startRecovery_tags' - The tags to be associated with the Recovery Job.+--+-- 'sourceServers', 'startRecovery_sourceServers' - The Source Servers that we want to start a Recovery Job for.+newStartRecovery ::+ -- | 'sourceServers'+ Prelude.NonEmpty StartRecoveryRequestSourceServer ->+ StartRecovery+newStartRecovery pSourceServers_ =+ StartRecovery'+ { isDrill = Prelude.Nothing,+ tags = Prelude.Nothing,+ sourceServers = Lens.coerced Lens.# pSourceServers_+ }++-- | Whether this Source Server Recovery operation is a drill or not.+startRecovery_isDrill :: Lens.Lens' StartRecovery (Prelude.Maybe Prelude.Bool)+startRecovery_isDrill = Lens.lens (\StartRecovery' {isDrill} -> isDrill) (\s@StartRecovery' {} a -> s {isDrill = a} :: StartRecovery)++-- | The tags to be associated with the Recovery Job.+startRecovery_tags :: Lens.Lens' StartRecovery (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+startRecovery_tags = Lens.lens (\StartRecovery' {tags} -> tags) (\s@StartRecovery' {} a -> s {tags = a} :: StartRecovery) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The Source Servers that we want to start a Recovery Job for.+startRecovery_sourceServers :: Lens.Lens' StartRecovery (Prelude.NonEmpty StartRecoveryRequestSourceServer)+startRecovery_sourceServers = Lens.lens (\StartRecovery' {sourceServers} -> sourceServers) (\s@StartRecovery' {} a -> s {sourceServers = a} :: StartRecovery) Prelude.. Lens.coerced++instance Core.AWSRequest StartRecovery where+ type+ AWSResponse StartRecovery =+ StartRecoveryResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartRecoveryResponse'+ Prelude.<$> (x Data..?> "job")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartRecovery where+ hashWithSalt _salt StartRecovery' {..} =+ _salt+ `Prelude.hashWithSalt` isDrill+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` sourceServers++instance Prelude.NFData StartRecovery where+ rnf StartRecovery' {..} =+ Prelude.rnf isDrill+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf sourceServers++instance Data.ToHeaders StartRecovery where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StartRecovery where+ toJSON StartRecovery' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("isDrill" Data..=) Prelude.<$> isDrill,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("sourceServers" Data..= sourceServers)+ ]+ )++instance Data.ToPath StartRecovery where+ toPath = Prelude.const "/StartRecovery"++instance Data.ToQuery StartRecovery where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartRecoveryResponse' smart constructor.+data StartRecoveryResponse = StartRecoveryResponse'+ { -- | The Recovery Job.+ job :: Prelude.Maybe Job,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartRecoveryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'job', 'startRecoveryResponse_job' - The Recovery Job.+--+-- 'httpStatus', 'startRecoveryResponse_httpStatus' - The response's http status code.+newStartRecoveryResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartRecoveryResponse+newStartRecoveryResponse pHttpStatus_ =+ StartRecoveryResponse'+ { job = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Recovery Job.+startRecoveryResponse_job :: Lens.Lens' StartRecoveryResponse (Prelude.Maybe Job)+startRecoveryResponse_job = Lens.lens (\StartRecoveryResponse' {job} -> job) (\s@StartRecoveryResponse' {} a -> s {job = a} :: StartRecoveryResponse)++-- | The response's http status code.+startRecoveryResponse_httpStatus :: Lens.Lens' StartRecoveryResponse Prelude.Int+startRecoveryResponse_httpStatus = Lens.lens (\StartRecoveryResponse' {httpStatus} -> httpStatus) (\s@StartRecoveryResponse' {} a -> s {httpStatus = a} :: StartRecoveryResponse)++instance Prelude.NFData StartRecoveryResponse where+ rnf StartRecoveryResponse' {..} =+ Prelude.rnf job+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/StartReplication.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.StartReplication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts replication for a stopped Source Server. This action would make+-- the Source Server protected again and restart billing for it.+module Amazonka.DrS.StartReplication+ ( -- * Creating a Request+ StartReplication (..),+ newStartReplication,++ -- * Request Lenses+ startReplication_sourceServerID,++ -- * Destructuring the Response+ StartReplicationResponse (..),+ newStartReplicationResponse,++ -- * Response Lenses+ startReplicationResponse_sourceServer,+ startReplicationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartReplication' smart constructor.+data StartReplication = StartReplication'+ { -- | The ID of the Source Server to start replication for.+ sourceServerID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartReplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceServerID', 'startReplication_sourceServerID' - The ID of the Source Server to start replication for.+newStartReplication ::+ -- | 'sourceServerID'+ Prelude.Text ->+ StartReplication+newStartReplication pSourceServerID_ =+ StartReplication'+ { sourceServerID =+ pSourceServerID_+ }++-- | The ID of the Source Server to start replication for.+startReplication_sourceServerID :: Lens.Lens' StartReplication Prelude.Text+startReplication_sourceServerID = Lens.lens (\StartReplication' {sourceServerID} -> sourceServerID) (\s@StartReplication' {} a -> s {sourceServerID = a} :: StartReplication)++instance Core.AWSRequest StartReplication where+ type+ AWSResponse StartReplication =+ StartReplicationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartReplicationResponse'+ Prelude.<$> (x Data..?> "sourceServer")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartReplication where+ hashWithSalt _salt StartReplication' {..} =+ _salt `Prelude.hashWithSalt` sourceServerID++instance Prelude.NFData StartReplication where+ rnf StartReplication' {..} =+ Prelude.rnf sourceServerID++instance Data.ToHeaders StartReplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StartReplication where+ toJSON StartReplication' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("sourceServerID" Data..= sourceServerID)+ ]+ )++instance Data.ToPath StartReplication where+ toPath = Prelude.const "/StartReplication"++instance Data.ToQuery StartReplication where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartReplicationResponse' smart constructor.+data StartReplicationResponse = StartReplicationResponse'+ { -- | The Source Server that this action was targeted on.+ sourceServer :: Prelude.Maybe SourceServer,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartReplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceServer', 'startReplicationResponse_sourceServer' - The Source Server that this action was targeted on.+--+-- 'httpStatus', 'startReplicationResponse_httpStatus' - The response's http status code.+newStartReplicationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartReplicationResponse+newStartReplicationResponse pHttpStatus_ =+ StartReplicationResponse'+ { sourceServer =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Source Server that this action was targeted on.+startReplicationResponse_sourceServer :: Lens.Lens' StartReplicationResponse (Prelude.Maybe SourceServer)+startReplicationResponse_sourceServer = Lens.lens (\StartReplicationResponse' {sourceServer} -> sourceServer) (\s@StartReplicationResponse' {} a -> s {sourceServer = a} :: StartReplicationResponse)++-- | The response's http status code.+startReplicationResponse_httpStatus :: Lens.Lens' StartReplicationResponse Prelude.Int+startReplicationResponse_httpStatus = Lens.lens (\StartReplicationResponse' {httpStatus} -> httpStatus) (\s@StartReplicationResponse' {} a -> s {httpStatus = a} :: StartReplicationResponse)++instance Prelude.NFData StartReplicationResponse where+ rnf StartReplicationResponse' {..} =+ Prelude.rnf sourceServer+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/StopFailback.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.StopFailback+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops the failback process for a specified Recovery Instance. This+-- changes the Failback State of the Recovery Instance back to+-- FAILBACK_NOT_STARTED.+module Amazonka.DrS.StopFailback+ ( -- * Creating a Request+ StopFailback (..),+ newStopFailback,++ -- * Request Lenses+ stopFailback_recoveryInstanceID,++ -- * Destructuring the Response+ StopFailbackResponse (..),+ newStopFailbackResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopFailback' smart constructor.+data StopFailback = StopFailback'+ { -- | The ID of the Recovery Instance we want to stop failback for.+ recoveryInstanceID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopFailback' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'recoveryInstanceID', 'stopFailback_recoveryInstanceID' - The ID of the Recovery Instance we want to stop failback for.+newStopFailback ::+ -- | 'recoveryInstanceID'+ Prelude.Text ->+ StopFailback+newStopFailback pRecoveryInstanceID_ =+ StopFailback'+ { recoveryInstanceID =+ pRecoveryInstanceID_+ }++-- | The ID of the Recovery Instance we want to stop failback for.+stopFailback_recoveryInstanceID :: Lens.Lens' StopFailback Prelude.Text+stopFailback_recoveryInstanceID = Lens.lens (\StopFailback' {recoveryInstanceID} -> recoveryInstanceID) (\s@StopFailback' {} a -> s {recoveryInstanceID = a} :: StopFailback)++instance Core.AWSRequest StopFailback where+ type AWSResponse StopFailback = StopFailbackResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response = Response.receiveNull StopFailbackResponse'++instance Prelude.Hashable StopFailback where+ hashWithSalt _salt StopFailback' {..} =+ _salt `Prelude.hashWithSalt` recoveryInstanceID++instance Prelude.NFData StopFailback where+ rnf StopFailback' {..} =+ Prelude.rnf recoveryInstanceID++instance Data.ToHeaders StopFailback where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StopFailback where+ toJSON StopFailback' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("recoveryInstanceID" Data..= recoveryInstanceID)+ ]+ )++instance Data.ToPath StopFailback where+ toPath = Prelude.const "/StopFailback"++instance Data.ToQuery StopFailback where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopFailbackResponse' smart constructor.+data StopFailbackResponse = StopFailbackResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopFailbackResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newStopFailbackResponse ::+ StopFailbackResponse+newStopFailbackResponse = StopFailbackResponse'++instance Prelude.NFData StopFailbackResponse where+ rnf _ = ()
+ gen/Amazonka/DrS/StopReplication.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.StopReplication+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops replication for a Source Server. This action would make the Source+-- Server unprotected, delete its existing snapshots and stop billing for+-- it.+module Amazonka.DrS.StopReplication+ ( -- * Creating a Request+ StopReplication (..),+ newStopReplication,++ -- * Request Lenses+ stopReplication_sourceServerID,++ -- * Destructuring the Response+ StopReplicationResponse (..),+ newStopReplicationResponse,++ -- * Response Lenses+ stopReplicationResponse_sourceServer,+ stopReplicationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopReplication' smart constructor.+data StopReplication = StopReplication'+ { -- | The ID of the Source Server to stop replication for.+ sourceServerID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopReplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceServerID', 'stopReplication_sourceServerID' - The ID of the Source Server to stop replication for.+newStopReplication ::+ -- | 'sourceServerID'+ Prelude.Text ->+ StopReplication+newStopReplication pSourceServerID_ =+ StopReplication' {sourceServerID = pSourceServerID_}++-- | The ID of the Source Server to stop replication for.+stopReplication_sourceServerID :: Lens.Lens' StopReplication Prelude.Text+stopReplication_sourceServerID = Lens.lens (\StopReplication' {sourceServerID} -> sourceServerID) (\s@StopReplication' {} a -> s {sourceServerID = a} :: StopReplication)++instance Core.AWSRequest StopReplication where+ type+ AWSResponse StopReplication =+ StopReplicationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StopReplicationResponse'+ Prelude.<$> (x Data..?> "sourceServer")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StopReplication where+ hashWithSalt _salt StopReplication' {..} =+ _salt `Prelude.hashWithSalt` sourceServerID++instance Prelude.NFData StopReplication where+ rnf StopReplication' {..} = Prelude.rnf sourceServerID++instance Data.ToHeaders StopReplication where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StopReplication where+ toJSON StopReplication' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("sourceServerID" Data..= sourceServerID)+ ]+ )++instance Data.ToPath StopReplication where+ toPath = Prelude.const "/StopReplication"++instance Data.ToQuery StopReplication where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopReplicationResponse' smart constructor.+data StopReplicationResponse = StopReplicationResponse'+ { -- | The Source Server that this action was targeted on.+ sourceServer :: Prelude.Maybe SourceServer,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopReplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceServer', 'stopReplicationResponse_sourceServer' - The Source Server that this action was targeted on.+--+-- 'httpStatus', 'stopReplicationResponse_httpStatus' - The response's http status code.+newStopReplicationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StopReplicationResponse+newStopReplicationResponse pHttpStatus_ =+ StopReplicationResponse'+ { sourceServer =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Source Server that this action was targeted on.+stopReplicationResponse_sourceServer :: Lens.Lens' StopReplicationResponse (Prelude.Maybe SourceServer)+stopReplicationResponse_sourceServer = Lens.lens (\StopReplicationResponse' {sourceServer} -> sourceServer) (\s@StopReplicationResponse' {} a -> s {sourceServer = a} :: StopReplicationResponse)++-- | The response's http status code.+stopReplicationResponse_httpStatus :: Lens.Lens' StopReplicationResponse Prelude.Int+stopReplicationResponse_httpStatus = Lens.lens (\StopReplicationResponse' {httpStatus} -> httpStatus) (\s@StopReplicationResponse' {} a -> s {httpStatus = a} :: StopReplicationResponse)++instance Prelude.NFData StopReplicationResponse where+ rnf StopReplicationResponse' {..} =+ Prelude.rnf sourceServer+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/TagResource.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds or overwrites only the specified tags for the specified Elastic+-- Disaster Recovery resource or resources. When you specify an existing+-- tag key, the value is overwritten with the new value. Each resource can+-- have a maximum of 50 tags. Each tag consists of a key and optional+-- value.+module Amazonka.DrS.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | ARN of the resource for which tags are to be added or updated.+ resourceArn :: Prelude.Text,+ -- | Array of tags to be added or updated.+ tags :: Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - ARN of the resource for which tags are to be added or updated.+--+-- 'tags', 'tagResource_tags' - Array of tags to be added or updated.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | ARN of the resource for which tags are to be added or updated.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | Array of tags to be added or updated.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Data._Sensitive Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response = Response.receiveNull TagResourceResponse'++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("tags" Data..= tags)]+ )++instance Data.ToPath TagResource where+ toPath TagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newTagResourceResponse ::+ TagResourceResponse+newTagResourceResponse = TagResourceResponse'++instance Prelude.NFData TagResourceResponse where+ rnf _ = ()
+ gen/Amazonka/DrS/TerminateRecoveryInstances.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.TerminateRecoveryInstances+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Initiates a Job for terminating the EC2 resources associated with the+-- specified Recovery Instances, and then will delete the Recovery+-- Instances from the Elastic Disaster Recovery service.+module Amazonka.DrS.TerminateRecoveryInstances+ ( -- * Creating a Request+ TerminateRecoveryInstances (..),+ newTerminateRecoveryInstances,++ -- * Request Lenses+ terminateRecoveryInstances_recoveryInstanceIDs,++ -- * Destructuring the Response+ TerminateRecoveryInstancesResponse (..),+ newTerminateRecoveryInstancesResponse,++ -- * Response Lenses+ terminateRecoveryInstancesResponse_job,+ terminateRecoveryInstancesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTerminateRecoveryInstances' smart constructor.+data TerminateRecoveryInstances = TerminateRecoveryInstances'+ { -- | The IDs of the Recovery Instances that should be terminated.+ recoveryInstanceIDs :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TerminateRecoveryInstances' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'recoveryInstanceIDs', 'terminateRecoveryInstances_recoveryInstanceIDs' - The IDs of the Recovery Instances that should be terminated.+newTerminateRecoveryInstances ::+ -- | 'recoveryInstanceIDs'+ Prelude.NonEmpty Prelude.Text ->+ TerminateRecoveryInstances+newTerminateRecoveryInstances pRecoveryInstanceIDs_ =+ TerminateRecoveryInstances'+ { recoveryInstanceIDs =+ Lens.coerced Lens.# pRecoveryInstanceIDs_+ }++-- | The IDs of the Recovery Instances that should be terminated.+terminateRecoveryInstances_recoveryInstanceIDs :: Lens.Lens' TerminateRecoveryInstances (Prelude.NonEmpty Prelude.Text)+terminateRecoveryInstances_recoveryInstanceIDs = Lens.lens (\TerminateRecoveryInstances' {recoveryInstanceIDs} -> recoveryInstanceIDs) (\s@TerminateRecoveryInstances' {} a -> s {recoveryInstanceIDs = a} :: TerminateRecoveryInstances) Prelude.. Lens.coerced++instance Core.AWSRequest TerminateRecoveryInstances where+ type+ AWSResponse TerminateRecoveryInstances =+ TerminateRecoveryInstancesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ TerminateRecoveryInstancesResponse'+ Prelude.<$> (x Data..?> "job")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TerminateRecoveryInstances where+ hashWithSalt _salt TerminateRecoveryInstances' {..} =+ _salt `Prelude.hashWithSalt` recoveryInstanceIDs++instance Prelude.NFData TerminateRecoveryInstances where+ rnf TerminateRecoveryInstances' {..} =+ Prelude.rnf recoveryInstanceIDs++instance Data.ToHeaders TerminateRecoveryInstances where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TerminateRecoveryInstances where+ toJSON TerminateRecoveryInstances' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("recoveryInstanceIDs" Data..= recoveryInstanceIDs)+ ]+ )++instance Data.ToPath TerminateRecoveryInstances where+ toPath = Prelude.const "/TerminateRecoveryInstances"++instance Data.ToQuery TerminateRecoveryInstances where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTerminateRecoveryInstancesResponse' smart constructor.+data TerminateRecoveryInstancesResponse = TerminateRecoveryInstancesResponse'+ { -- | The Job for terminating the Recovery Instances.+ job :: Prelude.Maybe Job,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TerminateRecoveryInstancesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'job', 'terminateRecoveryInstancesResponse_job' - The Job for terminating the Recovery Instances.+--+-- 'httpStatus', 'terminateRecoveryInstancesResponse_httpStatus' - The response's http status code.+newTerminateRecoveryInstancesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TerminateRecoveryInstancesResponse+newTerminateRecoveryInstancesResponse pHttpStatus_ =+ TerminateRecoveryInstancesResponse'+ { job =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Job for terminating the Recovery Instances.+terminateRecoveryInstancesResponse_job :: Lens.Lens' TerminateRecoveryInstancesResponse (Prelude.Maybe Job)+terminateRecoveryInstancesResponse_job = Lens.lens (\TerminateRecoveryInstancesResponse' {job} -> job) (\s@TerminateRecoveryInstancesResponse' {} a -> s {job = a} :: TerminateRecoveryInstancesResponse)++-- | The response's http status code.+terminateRecoveryInstancesResponse_httpStatus :: Lens.Lens' TerminateRecoveryInstancesResponse Prelude.Int+terminateRecoveryInstancesResponse_httpStatus = Lens.lens (\TerminateRecoveryInstancesResponse' {httpStatus} -> httpStatus) (\s@TerminateRecoveryInstancesResponse' {} a -> s {httpStatus = a} :: TerminateRecoveryInstancesResponse)++instance+ Prelude.NFData+ TerminateRecoveryInstancesResponse+ where+ rnf TerminateRecoveryInstancesResponse' {..} =+ Prelude.rnf job+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/DrS/Types.hs view
@@ -0,0 +1,727 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _InternalServerException,+ _ResourceNotFoundException,+ _ServiceQuotaExceededException,+ _ThrottlingException,+ _UninitializedAccountException,+ _ValidationException,++ -- * DataReplicationErrorString+ DataReplicationErrorString (..),++ -- * DataReplicationInitiationStepName+ DataReplicationInitiationStepName (..),++ -- * DataReplicationInitiationStepStatus+ DataReplicationInitiationStepStatus (..),++ -- * DataReplicationState+ DataReplicationState (..),++ -- * EC2InstanceState+ EC2InstanceState (..),++ -- * ExtensionStatus+ ExtensionStatus (..),++ -- * FailbackLaunchType+ FailbackLaunchType (..),++ -- * FailbackReplicationError+ FailbackReplicationError (..),++ -- * FailbackState+ FailbackState (..),++ -- * InitiatedBy+ InitiatedBy (..),++ -- * JobLogEvent+ JobLogEvent (..),++ -- * JobStatus+ JobStatus (..),++ -- * JobType+ JobType (..),++ -- * LastLaunchResult+ LastLaunchResult (..),++ -- * LastLaunchType+ LastLaunchType (..),++ -- * LaunchDisposition+ LaunchDisposition (..),++ -- * LaunchStatus+ LaunchStatus (..),++ -- * OriginEnvironment+ OriginEnvironment (..),++ -- * PITPolicyRuleUnits+ PITPolicyRuleUnits (..),++ -- * RecoveryInstanceDataReplicationInitiationStepName+ RecoveryInstanceDataReplicationInitiationStepName (..),++ -- * RecoveryInstanceDataReplicationInitiationStepStatus+ RecoveryInstanceDataReplicationInitiationStepStatus (..),++ -- * RecoveryInstanceDataReplicationState+ RecoveryInstanceDataReplicationState (..),++ -- * RecoverySnapshotsOrder+ RecoverySnapshotsOrder (..),++ -- * ReplicationConfigurationDataPlaneRouting+ ReplicationConfigurationDataPlaneRouting (..),++ -- * ReplicationConfigurationDefaultLargeStagingDiskType+ ReplicationConfigurationDefaultLargeStagingDiskType (..),++ -- * ReplicationConfigurationEbsEncryption+ ReplicationConfigurationEbsEncryption (..),++ -- * ReplicationConfigurationReplicatedDiskStagingDiskType+ ReplicationConfigurationReplicatedDiskStagingDiskType (..),++ -- * ReplicationDirection+ ReplicationDirection (..),++ -- * TargetInstanceTypeRightSizingMethod+ TargetInstanceTypeRightSizingMethod (..),++ -- * Account+ Account (..),+ newAccount,+ account_accountID,++ -- * CPU+ CPU (..),+ newCPU,+ cpu_cores,+ cpu_modelName,++ -- * ConversionProperties+ ConversionProperties (..),+ newConversionProperties,+ conversionProperties_dataTimestamp,+ conversionProperties_forceUefi,+ conversionProperties_rootVolumeName,+ conversionProperties_volumeToConversionMap,+ conversionProperties_volumeToVolumeSize,++ -- * DataReplicationError+ DataReplicationError (..),+ newDataReplicationError,+ dataReplicationError_error,+ dataReplicationError_rawError,++ -- * DataReplicationInfo+ DataReplicationInfo (..),+ newDataReplicationInfo,+ dataReplicationInfo_dataReplicationError,+ dataReplicationInfo_dataReplicationInitiation,+ dataReplicationInfo_dataReplicationState,+ dataReplicationInfo_etaDateTime,+ dataReplicationInfo_lagDuration,+ dataReplicationInfo_replicatedDisks,++ -- * DataReplicationInfoReplicatedDisk+ DataReplicationInfoReplicatedDisk (..),+ newDataReplicationInfoReplicatedDisk,+ dataReplicationInfoReplicatedDisk_backloggedStorageBytes,+ dataReplicationInfoReplicatedDisk_deviceName,+ dataReplicationInfoReplicatedDisk_replicatedStorageBytes,+ dataReplicationInfoReplicatedDisk_rescannedStorageBytes,+ dataReplicationInfoReplicatedDisk_totalStorageBytes,++ -- * DataReplicationInitiation+ DataReplicationInitiation (..),+ newDataReplicationInitiation,+ dataReplicationInitiation_nextAttemptDateTime,+ dataReplicationInitiation_startDateTime,+ dataReplicationInitiation_steps,++ -- * DataReplicationInitiationStep+ DataReplicationInitiationStep (..),+ newDataReplicationInitiationStep,+ dataReplicationInitiationStep_name,+ dataReplicationInitiationStep_status,++ -- * DescribeJobsRequestFilters+ DescribeJobsRequestFilters (..),+ newDescribeJobsRequestFilters,+ describeJobsRequestFilters_fromDate,+ describeJobsRequestFilters_jobIDs,+ describeJobsRequestFilters_toDate,++ -- * DescribeRecoveryInstancesRequestFilters+ DescribeRecoveryInstancesRequestFilters (..),+ newDescribeRecoveryInstancesRequestFilters,+ describeRecoveryInstancesRequestFilters_recoveryInstanceIDs,+ describeRecoveryInstancesRequestFilters_sourceServerIDs,++ -- * DescribeRecoverySnapshotsRequestFilters+ DescribeRecoverySnapshotsRequestFilters (..),+ newDescribeRecoverySnapshotsRequestFilters,+ describeRecoverySnapshotsRequestFilters_fromDateTime,+ describeRecoverySnapshotsRequestFilters_toDateTime,++ -- * DescribeSourceServersRequestFilters+ DescribeSourceServersRequestFilters (..),+ newDescribeSourceServersRequestFilters,+ describeSourceServersRequestFilters_hardwareId,+ describeSourceServersRequestFilters_sourceServerIDs,+ describeSourceServersRequestFilters_stagingAccountIDs,++ -- * Disk+ Disk (..),+ newDisk,+ disk_bytes,+ disk_deviceName,++ -- * IdentificationHints+ IdentificationHints (..),+ newIdentificationHints,+ identificationHints_awsInstanceID,+ identificationHints_fqdn,+ identificationHints_hostname,+ identificationHints_vmWareUuid,++ -- * Job+ Job (..),+ newJob,+ job_arn,+ job_creationDateTime,+ job_endDateTime,+ job_initiatedBy,+ job_participatingServers,+ job_status,+ job_tags,+ job_type,+ job_jobID,++ -- * JobLog+ JobLog (..),+ newJobLog,+ jobLog_event,+ jobLog_eventData,+ jobLog_logDateTime,++ -- * JobLogEventData+ JobLogEventData (..),+ newJobLogEventData,+ jobLogEventData_conversionProperties,+ jobLogEventData_conversionServerID,+ jobLogEventData_rawError,+ jobLogEventData_sourceServerID,+ jobLogEventData_targetInstanceID,++ -- * LaunchConfiguration+ LaunchConfiguration (..),+ newLaunchConfiguration,+ launchConfiguration_copyPrivateIp,+ launchConfiguration_copyTags,+ launchConfiguration_ec2LaunchTemplateID,+ launchConfiguration_launchDisposition,+ launchConfiguration_licensing,+ launchConfiguration_name,+ launchConfiguration_sourceServerID,+ launchConfiguration_targetInstanceTypeRightSizingMethod,++ -- * Licensing+ Licensing (..),+ newLicensing,+ licensing_osByol,++ -- * LifeCycle+ LifeCycle (..),+ newLifeCycle,+ lifeCycle_addedToServiceDateTime,+ lifeCycle_elapsedReplicationDuration,+ lifeCycle_firstByteDateTime,+ lifeCycle_lastLaunch,+ lifeCycle_lastSeenByServiceDateTime,++ -- * LifeCycleLastLaunch+ LifeCycleLastLaunch (..),+ newLifeCycleLastLaunch,+ lifeCycleLastLaunch_initiated,++ -- * LifeCycleLastLaunchInitiated+ LifeCycleLastLaunchInitiated (..),+ newLifeCycleLastLaunchInitiated,+ lifeCycleLastLaunchInitiated_apiCallDateTime,+ lifeCycleLastLaunchInitiated_jobID,+ lifeCycleLastLaunchInitiated_type,++ -- * NetworkInterface+ NetworkInterface (..),+ newNetworkInterface,+ networkInterface_ips,+ networkInterface_isPrimary,+ networkInterface_macAddress,++ -- * OS+ OS (..),+ newOS,+ os_fullString,++ -- * PITPolicyRule+ PITPolicyRule (..),+ newPITPolicyRule,+ pITPolicyRule_enabled,+ pITPolicyRule_ruleID,+ pITPolicyRule_interval,+ pITPolicyRule_retentionDuration,+ pITPolicyRule_units,++ -- * ParticipatingServer+ ParticipatingServer (..),+ newParticipatingServer,+ participatingServer_launchStatus,+ participatingServer_recoveryInstanceID,+ participatingServer_sourceServerID,++ -- * RecoveryInstance+ RecoveryInstance (..),+ newRecoveryInstance,+ recoveryInstance_arn,+ recoveryInstance_dataReplicationInfo,+ recoveryInstance_ec2InstanceID,+ recoveryInstance_ec2InstanceState,+ recoveryInstance_failback,+ recoveryInstance_isDrill,+ recoveryInstance_jobID,+ recoveryInstance_originEnvironment,+ recoveryInstance_pointInTimeSnapshotDateTime,+ recoveryInstance_recoveryInstanceID,+ recoveryInstance_recoveryInstanceProperties,+ recoveryInstance_sourceServerID,+ recoveryInstance_tags,++ -- * RecoveryInstanceDataReplicationError+ RecoveryInstanceDataReplicationError (..),+ newRecoveryInstanceDataReplicationError,+ recoveryInstanceDataReplicationError_error,+ recoveryInstanceDataReplicationError_rawError,++ -- * RecoveryInstanceDataReplicationInfo+ RecoveryInstanceDataReplicationInfo (..),+ newRecoveryInstanceDataReplicationInfo,+ recoveryInstanceDataReplicationInfo_dataReplicationError,+ recoveryInstanceDataReplicationInfo_dataReplicationInitiation,+ recoveryInstanceDataReplicationInfo_dataReplicationState,+ recoveryInstanceDataReplicationInfo_etaDateTime,+ recoveryInstanceDataReplicationInfo_lagDuration,+ recoveryInstanceDataReplicationInfo_replicatedDisks,++ -- * RecoveryInstanceDataReplicationInfoReplicatedDisk+ RecoveryInstanceDataReplicationInfoReplicatedDisk (..),+ newRecoveryInstanceDataReplicationInfoReplicatedDisk,+ recoveryInstanceDataReplicationInfoReplicatedDisk_backloggedStorageBytes,+ recoveryInstanceDataReplicationInfoReplicatedDisk_deviceName,+ recoveryInstanceDataReplicationInfoReplicatedDisk_replicatedStorageBytes,+ recoveryInstanceDataReplicationInfoReplicatedDisk_rescannedStorageBytes,+ recoveryInstanceDataReplicationInfoReplicatedDisk_totalStorageBytes,++ -- * RecoveryInstanceDataReplicationInitiation+ RecoveryInstanceDataReplicationInitiation (..),+ newRecoveryInstanceDataReplicationInitiation,+ recoveryInstanceDataReplicationInitiation_startDateTime,+ recoveryInstanceDataReplicationInitiation_steps,++ -- * RecoveryInstanceDataReplicationInitiationStep+ RecoveryInstanceDataReplicationInitiationStep (..),+ newRecoveryInstanceDataReplicationInitiationStep,+ recoveryInstanceDataReplicationInitiationStep_name,+ recoveryInstanceDataReplicationInitiationStep_status,++ -- * RecoveryInstanceDisk+ RecoveryInstanceDisk (..),+ newRecoveryInstanceDisk,+ recoveryInstanceDisk_bytes,+ recoveryInstanceDisk_ebsVolumeID,+ recoveryInstanceDisk_internalDeviceName,++ -- * RecoveryInstanceFailback+ RecoveryInstanceFailback (..),+ newRecoveryInstanceFailback,+ recoveryInstanceFailback_agentLastSeenByServiceDateTime,+ recoveryInstanceFailback_elapsedReplicationDuration,+ recoveryInstanceFailback_failbackClientID,+ recoveryInstanceFailback_failbackClientLastSeenByServiceDateTime,+ recoveryInstanceFailback_failbackInitiationTime,+ recoveryInstanceFailback_failbackJobID,+ recoveryInstanceFailback_failbackLaunchType,+ recoveryInstanceFailback_failbackToOriginalServer,+ recoveryInstanceFailback_firstByteDateTime,+ recoveryInstanceFailback_state,++ -- * RecoveryInstanceProperties+ RecoveryInstanceProperties (..),+ newRecoveryInstanceProperties,+ recoveryInstanceProperties_cpus,+ recoveryInstanceProperties_disks,+ recoveryInstanceProperties_identificationHints,+ recoveryInstanceProperties_lastUpdatedDateTime,+ recoveryInstanceProperties_networkInterfaces,+ recoveryInstanceProperties_os,+ recoveryInstanceProperties_ramBytes,++ -- * RecoverySnapshot+ RecoverySnapshot (..),+ newRecoverySnapshot,+ recoverySnapshot_ebsSnapshots,+ recoverySnapshot_timestamp,+ recoverySnapshot_expectedTimestamp,+ recoverySnapshot_snapshotID,+ recoverySnapshot_sourceServerID,++ -- * ReplicationConfiguration+ ReplicationConfiguration (..),+ newReplicationConfiguration,+ replicationConfiguration_associateDefaultSecurityGroup,+ replicationConfiguration_bandwidthThrottling,+ replicationConfiguration_createPublicIP,+ replicationConfiguration_dataPlaneRouting,+ replicationConfiguration_defaultLargeStagingDiskType,+ replicationConfiguration_ebsEncryption,+ replicationConfiguration_ebsEncryptionKeyArn,+ replicationConfiguration_name,+ replicationConfiguration_pitPolicy,+ replicationConfiguration_replicatedDisks,+ replicationConfiguration_replicationServerInstanceType,+ replicationConfiguration_replicationServersSecurityGroupsIDs,+ replicationConfiguration_sourceServerID,+ replicationConfiguration_stagingAreaSubnetId,+ replicationConfiguration_stagingAreaTags,+ replicationConfiguration_useDedicatedReplicationServer,++ -- * ReplicationConfigurationReplicatedDisk+ ReplicationConfigurationReplicatedDisk (..),+ newReplicationConfigurationReplicatedDisk,+ replicationConfigurationReplicatedDisk_deviceName,+ replicationConfigurationReplicatedDisk_iops,+ replicationConfigurationReplicatedDisk_isBootDisk,+ replicationConfigurationReplicatedDisk_optimizedStagingDiskType,+ replicationConfigurationReplicatedDisk_stagingDiskType,+ replicationConfigurationReplicatedDisk_throughput,++ -- * ReplicationConfigurationTemplate+ ReplicationConfigurationTemplate (..),+ newReplicationConfigurationTemplate,+ replicationConfigurationTemplate_arn,+ replicationConfigurationTemplate_associateDefaultSecurityGroup,+ replicationConfigurationTemplate_bandwidthThrottling,+ replicationConfigurationTemplate_createPublicIP,+ replicationConfigurationTemplate_dataPlaneRouting,+ replicationConfigurationTemplate_defaultLargeStagingDiskType,+ replicationConfigurationTemplate_ebsEncryption,+ replicationConfigurationTemplate_ebsEncryptionKeyArn,+ replicationConfigurationTemplate_pitPolicy,+ replicationConfigurationTemplate_replicationServerInstanceType,+ replicationConfigurationTemplate_replicationServersSecurityGroupsIDs,+ replicationConfigurationTemplate_stagingAreaSubnetId,+ replicationConfigurationTemplate_stagingAreaTags,+ replicationConfigurationTemplate_tags,+ replicationConfigurationTemplate_useDedicatedReplicationServer,+ replicationConfigurationTemplate_replicationConfigurationTemplateID,++ -- * SourceCloudProperties+ SourceCloudProperties (..),+ newSourceCloudProperties,+ sourceCloudProperties_originAccountID,+ sourceCloudProperties_originAvailabilityZone,+ sourceCloudProperties_originRegion,++ -- * SourceProperties+ SourceProperties (..),+ newSourceProperties,+ sourceProperties_cpus,+ sourceProperties_disks,+ sourceProperties_identificationHints,+ sourceProperties_lastUpdatedDateTime,+ sourceProperties_networkInterfaces,+ sourceProperties_os,+ sourceProperties_ramBytes,+ sourceProperties_recommendedInstanceType,++ -- * SourceServer+ SourceServer (..),+ newSourceServer,+ sourceServer_arn,+ sourceServer_dataReplicationInfo,+ sourceServer_lastLaunchResult,+ sourceServer_lifeCycle,+ sourceServer_recoveryInstanceId,+ sourceServer_replicationDirection,+ sourceServer_reversedDirectionSourceServerArn,+ sourceServer_sourceCloudProperties,+ sourceServer_sourceProperties,+ sourceServer_sourceServerID,+ sourceServer_stagingArea,+ sourceServer_tags,++ -- * StagingArea+ StagingArea (..),+ newStagingArea,+ stagingArea_errorMessage,+ stagingArea_stagingAccountID,+ stagingArea_stagingSourceServerArn,+ stagingArea_status,++ -- * StagingSourceServer+ StagingSourceServer (..),+ newStagingSourceServer,+ stagingSourceServer_arn,+ stagingSourceServer_hostname,+ stagingSourceServer_tags,++ -- * StartRecoveryRequestSourceServer+ StartRecoveryRequestSourceServer (..),+ newStartRecoveryRequestSourceServer,+ startRecoveryRequestSourceServer_recoverySnapshotID,+ startRecoveryRequestSourceServer_sourceServerID,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.DrS.Types.Account+import Amazonka.DrS.Types.CPU+import Amazonka.DrS.Types.ConversionProperties+import Amazonka.DrS.Types.DataReplicationError+import Amazonka.DrS.Types.DataReplicationErrorString+import Amazonka.DrS.Types.DataReplicationInfo+import Amazonka.DrS.Types.DataReplicationInfoReplicatedDisk+import Amazonka.DrS.Types.DataReplicationInitiation+import Amazonka.DrS.Types.DataReplicationInitiationStep+import Amazonka.DrS.Types.DataReplicationInitiationStepName+import Amazonka.DrS.Types.DataReplicationInitiationStepStatus+import Amazonka.DrS.Types.DataReplicationState+import Amazonka.DrS.Types.DescribeJobsRequestFilters+import Amazonka.DrS.Types.DescribeRecoveryInstancesRequestFilters+import Amazonka.DrS.Types.DescribeRecoverySnapshotsRequestFilters+import Amazonka.DrS.Types.DescribeSourceServersRequestFilters+import Amazonka.DrS.Types.Disk+import Amazonka.DrS.Types.EC2InstanceState+import Amazonka.DrS.Types.ExtensionStatus+import Amazonka.DrS.Types.FailbackLaunchType+import Amazonka.DrS.Types.FailbackReplicationError+import Amazonka.DrS.Types.FailbackState+import Amazonka.DrS.Types.IdentificationHints+import Amazonka.DrS.Types.InitiatedBy+import Amazonka.DrS.Types.Job+import Amazonka.DrS.Types.JobLog+import Amazonka.DrS.Types.JobLogEvent+import Amazonka.DrS.Types.JobLogEventData+import Amazonka.DrS.Types.JobStatus+import Amazonka.DrS.Types.JobType+import Amazonka.DrS.Types.LastLaunchResult+import Amazonka.DrS.Types.LastLaunchType+import Amazonka.DrS.Types.LaunchConfiguration+import Amazonka.DrS.Types.LaunchDisposition+import Amazonka.DrS.Types.LaunchStatus+import Amazonka.DrS.Types.Licensing+import Amazonka.DrS.Types.LifeCycle+import Amazonka.DrS.Types.LifeCycleLastLaunch+import Amazonka.DrS.Types.LifeCycleLastLaunchInitiated+import Amazonka.DrS.Types.NetworkInterface+import Amazonka.DrS.Types.OS+import Amazonka.DrS.Types.OriginEnvironment+import Amazonka.DrS.Types.PITPolicyRule+import Amazonka.DrS.Types.PITPolicyRuleUnits+import Amazonka.DrS.Types.ParticipatingServer+import Amazonka.DrS.Types.RecoveryInstance+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationError+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInfo+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInfoReplicatedDisk+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiation+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStep+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStepName+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStepStatus+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationState+import Amazonka.DrS.Types.RecoveryInstanceDisk+import Amazonka.DrS.Types.RecoveryInstanceFailback+import Amazonka.DrS.Types.RecoveryInstanceProperties+import Amazonka.DrS.Types.RecoverySnapshot+import Amazonka.DrS.Types.RecoverySnapshotsOrder+import Amazonka.DrS.Types.ReplicationConfiguration+import Amazonka.DrS.Types.ReplicationConfigurationDataPlaneRouting+import Amazonka.DrS.Types.ReplicationConfigurationDefaultLargeStagingDiskType+import Amazonka.DrS.Types.ReplicationConfigurationEbsEncryption+import Amazonka.DrS.Types.ReplicationConfigurationReplicatedDisk+import Amazonka.DrS.Types.ReplicationConfigurationReplicatedDiskStagingDiskType+import Amazonka.DrS.Types.ReplicationConfigurationTemplate+import Amazonka.DrS.Types.ReplicationDirection+import Amazonka.DrS.Types.SourceCloudProperties+import Amazonka.DrS.Types.SourceProperties+import Amazonka.DrS.Types.SourceServer+import Amazonka.DrS.Types.StagingArea+import Amazonka.DrS.Types.StagingSourceServer+import Amazonka.DrS.Types.StartRecoveryRequestSourceServer+import Amazonka.DrS.Types.TargetInstanceTypeRightSizingMethod+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-02-26@ of the Amazon Elastic Disaster Recovery Service SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "DrS",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "drs",+ Core.signingName = "drs",+ Core.version = "2020-02-26",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "DrS",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | You do not have sufficient access to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"+ Prelude.. Core.hasStatus 403++-- | The request could not be completed due to a conflict with the current+-- state of the target resource.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | The request processing has failed because of an unknown error, exception+-- or failure.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"+ Prelude.. Core.hasStatus 500++-- | The resource for this operation was not found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | The request could not be completed because its exceeded the service+-- quota.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"+ Prelude.. Core.hasStatus 402++-- | The request was denied due to request throttling.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"+ Prelude.. Core.hasStatus 429++-- | The account performing the request has not been initialized.+_UninitializedAccountException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UninitializedAccountException =+ Core._MatchServiceError+ defaultService+ "UninitializedAccountException"+ Prelude.. Core.hasStatus 400++-- | The input fails to satisfy the constraints specified by the AWS service.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/DrS/Types/Account.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.Account+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.Account where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | AWS account.+--+-- /See:/ 'newAccount' smart constructor.+data Account = Account'+ { -- | Account ID of AWS account.+ accountID :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Account' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountID', 'account_accountID' - Account ID of AWS account.+newAccount ::+ Account+newAccount = Account' {accountID = Prelude.Nothing}++-- | Account ID of AWS account.+account_accountID :: Lens.Lens' Account (Prelude.Maybe Prelude.Text)+account_accountID = Lens.lens (\Account' {accountID} -> accountID) (\s@Account' {} a -> s {accountID = a} :: Account)++instance Data.FromJSON Account where+ parseJSON =+ Data.withObject+ "Account"+ ( \x ->+ Account' Prelude.<$> (x Data..:? "accountID")+ )++instance Prelude.Hashable Account where+ hashWithSalt _salt Account' {..} =+ _salt `Prelude.hashWithSalt` accountID++instance Prelude.NFData Account where+ rnf Account' {..} = Prelude.rnf accountID
+ gen/Amazonka/DrS/Types/CPU.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.CPU+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.CPU where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about a server\'s CPU.+--+-- /See:/ 'newCPU' smart constructor.+data CPU = CPU'+ { -- | The number of CPU cores.+ cores :: Prelude.Maybe Prelude.Natural,+ -- | The model name of the CPU.+ modelName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CPU' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cores', 'cpu_cores' - The number of CPU cores.+--+-- 'modelName', 'cpu_modelName' - The model name of the CPU.+newCPU ::+ CPU+newCPU =+ CPU'+ { cores = Prelude.Nothing,+ modelName = Prelude.Nothing+ }++-- | The number of CPU cores.+cpu_cores :: Lens.Lens' CPU (Prelude.Maybe Prelude.Natural)+cpu_cores = Lens.lens (\CPU' {cores} -> cores) (\s@CPU' {} a -> s {cores = a} :: CPU)++-- | The model name of the CPU.+cpu_modelName :: Lens.Lens' CPU (Prelude.Maybe Prelude.Text)+cpu_modelName = Lens.lens (\CPU' {modelName} -> modelName) (\s@CPU' {} a -> s {modelName = a} :: CPU)++instance Data.FromJSON CPU where+ parseJSON =+ Data.withObject+ "CPU"+ ( \x ->+ CPU'+ Prelude.<$> (x Data..:? "cores")+ Prelude.<*> (x Data..:? "modelName")+ )++instance Prelude.Hashable CPU where+ hashWithSalt _salt CPU' {..} =+ _salt+ `Prelude.hashWithSalt` cores+ `Prelude.hashWithSalt` modelName++instance Prelude.NFData CPU where+ rnf CPU' {..} =+ Prelude.rnf cores+ `Prelude.seq` Prelude.rnf modelName
+ gen/Amazonka/DrS/Types/ConversionProperties.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.ConversionProperties+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.ConversionProperties where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Properties of a conversion job+--+-- /See:/ 'newConversionProperties' smart constructor.+data ConversionProperties = ConversionProperties'+ { -- | The timestamp of when the snapshot being converted was taken+ dataTimestamp :: Prelude.Maybe Prelude.Text,+ -- | Whether the volume being converted uses UEFI or not+ forceUefi :: Prelude.Maybe Prelude.Bool,+ -- | The root volume name of a conversion job+ rootVolumeName :: Prelude.Maybe Prelude.Text,+ -- | A mapping between the volumes being converted and the converted snapshot+ -- ids+ volumeToConversionMap :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | A mapping between the volumes and their sizes+ volumeToVolumeSize :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Natural)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConversionProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTimestamp', 'conversionProperties_dataTimestamp' - The timestamp of when the snapshot being converted was taken+--+-- 'forceUefi', 'conversionProperties_forceUefi' - Whether the volume being converted uses UEFI or not+--+-- 'rootVolumeName', 'conversionProperties_rootVolumeName' - The root volume name of a conversion job+--+-- 'volumeToConversionMap', 'conversionProperties_volumeToConversionMap' - A mapping between the volumes being converted and the converted snapshot+-- ids+--+-- 'volumeToVolumeSize', 'conversionProperties_volumeToVolumeSize' - A mapping between the volumes and their sizes+newConversionProperties ::+ ConversionProperties+newConversionProperties =+ ConversionProperties'+ { dataTimestamp =+ Prelude.Nothing,+ forceUefi = Prelude.Nothing,+ rootVolumeName = Prelude.Nothing,+ volumeToConversionMap = Prelude.Nothing,+ volumeToVolumeSize = Prelude.Nothing+ }++-- | The timestamp of when the snapshot being converted was taken+conversionProperties_dataTimestamp :: Lens.Lens' ConversionProperties (Prelude.Maybe Prelude.Text)+conversionProperties_dataTimestamp = Lens.lens (\ConversionProperties' {dataTimestamp} -> dataTimestamp) (\s@ConversionProperties' {} a -> s {dataTimestamp = a} :: ConversionProperties)++-- | Whether the volume being converted uses UEFI or not+conversionProperties_forceUefi :: Lens.Lens' ConversionProperties (Prelude.Maybe Prelude.Bool)+conversionProperties_forceUefi = Lens.lens (\ConversionProperties' {forceUefi} -> forceUefi) (\s@ConversionProperties' {} a -> s {forceUefi = a} :: ConversionProperties)++-- | The root volume name of a conversion job+conversionProperties_rootVolumeName :: Lens.Lens' ConversionProperties (Prelude.Maybe Prelude.Text)+conversionProperties_rootVolumeName = Lens.lens (\ConversionProperties' {rootVolumeName} -> rootVolumeName) (\s@ConversionProperties' {} a -> s {rootVolumeName = a} :: ConversionProperties)++-- | A mapping between the volumes being converted and the converted snapshot+-- ids+conversionProperties_volumeToConversionMap :: Lens.Lens' ConversionProperties (Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text Prelude.Text)))+conversionProperties_volumeToConversionMap = Lens.lens (\ConversionProperties' {volumeToConversionMap} -> volumeToConversionMap) (\s@ConversionProperties' {} a -> s {volumeToConversionMap = a} :: ConversionProperties) Prelude.. Lens.mapping Lens.coerced++-- | A mapping between the volumes and their sizes+conversionProperties_volumeToVolumeSize :: Lens.Lens' ConversionProperties (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Natural))+conversionProperties_volumeToVolumeSize = Lens.lens (\ConversionProperties' {volumeToVolumeSize} -> volumeToVolumeSize) (\s@ConversionProperties' {} a -> s {volumeToVolumeSize = a} :: ConversionProperties) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ConversionProperties where+ parseJSON =+ Data.withObject+ "ConversionProperties"+ ( \x ->+ ConversionProperties'+ Prelude.<$> (x Data..:? "dataTimestamp")+ Prelude.<*> (x Data..:? "forceUefi")+ Prelude.<*> (x Data..:? "rootVolumeName")+ Prelude.<*> ( x+ Data..:? "volumeToConversionMap"+ Data..!= Prelude.mempty+ )+ Prelude.<*> ( x+ Data..:? "volumeToVolumeSize"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable ConversionProperties where+ hashWithSalt _salt ConversionProperties' {..} =+ _salt+ `Prelude.hashWithSalt` dataTimestamp+ `Prelude.hashWithSalt` forceUefi+ `Prelude.hashWithSalt` rootVolumeName+ `Prelude.hashWithSalt` volumeToConversionMap+ `Prelude.hashWithSalt` volumeToVolumeSize++instance Prelude.NFData ConversionProperties where+ rnf ConversionProperties' {..} =+ Prelude.rnf dataTimestamp+ `Prelude.seq` Prelude.rnf forceUefi+ `Prelude.seq` Prelude.rnf rootVolumeName+ `Prelude.seq` Prelude.rnf volumeToConversionMap+ `Prelude.seq` Prelude.rnf volumeToVolumeSize
+ gen/Amazonka/DrS/Types/DataReplicationError.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DataReplicationError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DataReplicationError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.DataReplicationErrorString+import qualified Amazonka.Prelude as Prelude++-- | Error in data replication.+--+-- /See:/ 'newDataReplicationError' smart constructor.+data DataReplicationError = DataReplicationError'+ { -- | Error in data replication.+ error :: Prelude.Maybe DataReplicationErrorString,+ -- | Error in data replication.+ rawError :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataReplicationError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'error', 'dataReplicationError_error' - Error in data replication.+--+-- 'rawError', 'dataReplicationError_rawError' - Error in data replication.+newDataReplicationError ::+ DataReplicationError+newDataReplicationError =+ DataReplicationError'+ { error = Prelude.Nothing,+ rawError = Prelude.Nothing+ }++-- | Error in data replication.+dataReplicationError_error :: Lens.Lens' DataReplicationError (Prelude.Maybe DataReplicationErrorString)+dataReplicationError_error = Lens.lens (\DataReplicationError' {error} -> error) (\s@DataReplicationError' {} a -> s {error = a} :: DataReplicationError)++-- | Error in data replication.+dataReplicationError_rawError :: Lens.Lens' DataReplicationError (Prelude.Maybe Prelude.Text)+dataReplicationError_rawError = Lens.lens (\DataReplicationError' {rawError} -> rawError) (\s@DataReplicationError' {} a -> s {rawError = a} :: DataReplicationError)++instance Data.FromJSON DataReplicationError where+ parseJSON =+ Data.withObject+ "DataReplicationError"+ ( \x ->+ DataReplicationError'+ Prelude.<$> (x Data..:? "error")+ Prelude.<*> (x Data..:? "rawError")+ )++instance Prelude.Hashable DataReplicationError where+ hashWithSalt _salt DataReplicationError' {..} =+ _salt+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` rawError++instance Prelude.NFData DataReplicationError where+ rnf DataReplicationError' {..} =+ Prelude.rnf error+ `Prelude.seq` Prelude.rnf rawError
+ gen/Amazonka/DrS/Types/DataReplicationErrorString.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DataReplicationErrorString+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DataReplicationErrorString+ ( DataReplicationErrorString+ ( ..,+ DataReplicationErrorString_AGENT_NOT_SEEN,+ DataReplicationErrorString_FAILED_TO_ATTACH_STAGING_DISKS,+ DataReplicationErrorString_FAILED_TO_AUTHENTICATE_WITH_SERVICE,+ DataReplicationErrorString_FAILED_TO_BOOT_REPLICATION_SERVER,+ DataReplicationErrorString_FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER,+ DataReplicationErrorString_FAILED_TO_CREATE_SECURITY_GROUP,+ DataReplicationErrorString_FAILED_TO_CREATE_STAGING_DISKS,+ DataReplicationErrorString_FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE,+ DataReplicationErrorString_FAILED_TO_LAUNCH_REPLICATION_SERVER,+ DataReplicationErrorString_FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT,+ DataReplicationErrorString_FAILED_TO_START_DATA_TRANSFER,+ DataReplicationErrorString_NOT_CONVERGING,+ DataReplicationErrorString_SNAPSHOTS_FAILURE,+ DataReplicationErrorString_UNSTABLE_NETWORK+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataReplicationErrorString = DataReplicationErrorString'+ { fromDataReplicationErrorString ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DataReplicationErrorString_AGENT_NOT_SEEN :: DataReplicationErrorString+pattern DataReplicationErrorString_AGENT_NOT_SEEN = DataReplicationErrorString' "AGENT_NOT_SEEN"++pattern DataReplicationErrorString_FAILED_TO_ATTACH_STAGING_DISKS :: DataReplicationErrorString+pattern DataReplicationErrorString_FAILED_TO_ATTACH_STAGING_DISKS = DataReplicationErrorString' "FAILED_TO_ATTACH_STAGING_DISKS"++pattern DataReplicationErrorString_FAILED_TO_AUTHENTICATE_WITH_SERVICE :: DataReplicationErrorString+pattern DataReplicationErrorString_FAILED_TO_AUTHENTICATE_WITH_SERVICE = DataReplicationErrorString' "FAILED_TO_AUTHENTICATE_WITH_SERVICE"++pattern DataReplicationErrorString_FAILED_TO_BOOT_REPLICATION_SERVER :: DataReplicationErrorString+pattern DataReplicationErrorString_FAILED_TO_BOOT_REPLICATION_SERVER = DataReplicationErrorString' "FAILED_TO_BOOT_REPLICATION_SERVER"++pattern DataReplicationErrorString_FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER :: DataReplicationErrorString+pattern DataReplicationErrorString_FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER = DataReplicationErrorString' "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER"++pattern DataReplicationErrorString_FAILED_TO_CREATE_SECURITY_GROUP :: DataReplicationErrorString+pattern DataReplicationErrorString_FAILED_TO_CREATE_SECURITY_GROUP = DataReplicationErrorString' "FAILED_TO_CREATE_SECURITY_GROUP"++pattern DataReplicationErrorString_FAILED_TO_CREATE_STAGING_DISKS :: DataReplicationErrorString+pattern DataReplicationErrorString_FAILED_TO_CREATE_STAGING_DISKS = DataReplicationErrorString' "FAILED_TO_CREATE_STAGING_DISKS"++pattern DataReplicationErrorString_FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE :: DataReplicationErrorString+pattern DataReplicationErrorString_FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE = DataReplicationErrorString' "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE"++pattern DataReplicationErrorString_FAILED_TO_LAUNCH_REPLICATION_SERVER :: DataReplicationErrorString+pattern DataReplicationErrorString_FAILED_TO_LAUNCH_REPLICATION_SERVER = DataReplicationErrorString' "FAILED_TO_LAUNCH_REPLICATION_SERVER"++pattern DataReplicationErrorString_FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT :: DataReplicationErrorString+pattern DataReplicationErrorString_FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT = DataReplicationErrorString' "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT"++pattern DataReplicationErrorString_FAILED_TO_START_DATA_TRANSFER :: DataReplicationErrorString+pattern DataReplicationErrorString_FAILED_TO_START_DATA_TRANSFER = DataReplicationErrorString' "FAILED_TO_START_DATA_TRANSFER"++pattern DataReplicationErrorString_NOT_CONVERGING :: DataReplicationErrorString+pattern DataReplicationErrorString_NOT_CONVERGING = DataReplicationErrorString' "NOT_CONVERGING"++pattern DataReplicationErrorString_SNAPSHOTS_FAILURE :: DataReplicationErrorString+pattern DataReplicationErrorString_SNAPSHOTS_FAILURE = DataReplicationErrorString' "SNAPSHOTS_FAILURE"++pattern DataReplicationErrorString_UNSTABLE_NETWORK :: DataReplicationErrorString+pattern DataReplicationErrorString_UNSTABLE_NETWORK = DataReplicationErrorString' "UNSTABLE_NETWORK"++{-# COMPLETE+ DataReplicationErrorString_AGENT_NOT_SEEN,+ DataReplicationErrorString_FAILED_TO_ATTACH_STAGING_DISKS,+ DataReplicationErrorString_FAILED_TO_AUTHENTICATE_WITH_SERVICE,+ DataReplicationErrorString_FAILED_TO_BOOT_REPLICATION_SERVER,+ DataReplicationErrorString_FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER,+ DataReplicationErrorString_FAILED_TO_CREATE_SECURITY_GROUP,+ DataReplicationErrorString_FAILED_TO_CREATE_STAGING_DISKS,+ DataReplicationErrorString_FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE,+ DataReplicationErrorString_FAILED_TO_LAUNCH_REPLICATION_SERVER,+ DataReplicationErrorString_FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT,+ DataReplicationErrorString_FAILED_TO_START_DATA_TRANSFER,+ DataReplicationErrorString_NOT_CONVERGING,+ DataReplicationErrorString_SNAPSHOTS_FAILURE,+ DataReplicationErrorString_UNSTABLE_NETWORK,+ DataReplicationErrorString'+ #-}
+ gen/Amazonka/DrS/Types/DataReplicationInfo.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DataReplicationInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DataReplicationInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.DataReplicationError+import Amazonka.DrS.Types.DataReplicationInfoReplicatedDisk+import Amazonka.DrS.Types.DataReplicationInitiation+import Amazonka.DrS.Types.DataReplicationState+import qualified Amazonka.Prelude as Prelude++-- | Information about Data Replication+--+-- /See:/ 'newDataReplicationInfo' smart constructor.+data DataReplicationInfo = DataReplicationInfo'+ { -- | Error in data replication.+ dataReplicationError :: Prelude.Maybe DataReplicationError,+ -- | Information about whether the data replication has been initiated.+ dataReplicationInitiation :: Prelude.Maybe DataReplicationInitiation,+ -- | The state of the data replication.+ dataReplicationState :: Prelude.Maybe DataReplicationState,+ -- | An estimate of when the data replication will be completed.+ etaDateTime :: Prelude.Maybe Prelude.Text,+ -- | Data replication lag duration.+ lagDuration :: Prelude.Maybe Prelude.Text,+ -- | The disks that should be replicated.+ replicatedDisks :: Prelude.Maybe [DataReplicationInfoReplicatedDisk]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataReplicationInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataReplicationError', 'dataReplicationInfo_dataReplicationError' - Error in data replication.+--+-- 'dataReplicationInitiation', 'dataReplicationInfo_dataReplicationInitiation' - Information about whether the data replication has been initiated.+--+-- 'dataReplicationState', 'dataReplicationInfo_dataReplicationState' - The state of the data replication.+--+-- 'etaDateTime', 'dataReplicationInfo_etaDateTime' - An estimate of when the data replication will be completed.+--+-- 'lagDuration', 'dataReplicationInfo_lagDuration' - Data replication lag duration.+--+-- 'replicatedDisks', 'dataReplicationInfo_replicatedDisks' - The disks that should be replicated.+newDataReplicationInfo ::+ DataReplicationInfo+newDataReplicationInfo =+ DataReplicationInfo'+ { dataReplicationError =+ Prelude.Nothing,+ dataReplicationInitiation = Prelude.Nothing,+ dataReplicationState = Prelude.Nothing,+ etaDateTime = Prelude.Nothing,+ lagDuration = Prelude.Nothing,+ replicatedDisks = Prelude.Nothing+ }++-- | Error in data replication.+dataReplicationInfo_dataReplicationError :: Lens.Lens' DataReplicationInfo (Prelude.Maybe DataReplicationError)+dataReplicationInfo_dataReplicationError = Lens.lens (\DataReplicationInfo' {dataReplicationError} -> dataReplicationError) (\s@DataReplicationInfo' {} a -> s {dataReplicationError = a} :: DataReplicationInfo)++-- | Information about whether the data replication has been initiated.+dataReplicationInfo_dataReplicationInitiation :: Lens.Lens' DataReplicationInfo (Prelude.Maybe DataReplicationInitiation)+dataReplicationInfo_dataReplicationInitiation = Lens.lens (\DataReplicationInfo' {dataReplicationInitiation} -> dataReplicationInitiation) (\s@DataReplicationInfo' {} a -> s {dataReplicationInitiation = a} :: DataReplicationInfo)++-- | The state of the data replication.+dataReplicationInfo_dataReplicationState :: Lens.Lens' DataReplicationInfo (Prelude.Maybe DataReplicationState)+dataReplicationInfo_dataReplicationState = Lens.lens (\DataReplicationInfo' {dataReplicationState} -> dataReplicationState) (\s@DataReplicationInfo' {} a -> s {dataReplicationState = a} :: DataReplicationInfo)++-- | An estimate of when the data replication will be completed.+dataReplicationInfo_etaDateTime :: Lens.Lens' DataReplicationInfo (Prelude.Maybe Prelude.Text)+dataReplicationInfo_etaDateTime = Lens.lens (\DataReplicationInfo' {etaDateTime} -> etaDateTime) (\s@DataReplicationInfo' {} a -> s {etaDateTime = a} :: DataReplicationInfo)++-- | Data replication lag duration.+dataReplicationInfo_lagDuration :: Lens.Lens' DataReplicationInfo (Prelude.Maybe Prelude.Text)+dataReplicationInfo_lagDuration = Lens.lens (\DataReplicationInfo' {lagDuration} -> lagDuration) (\s@DataReplicationInfo' {} a -> s {lagDuration = a} :: DataReplicationInfo)++-- | The disks that should be replicated.+dataReplicationInfo_replicatedDisks :: Lens.Lens' DataReplicationInfo (Prelude.Maybe [DataReplicationInfoReplicatedDisk])+dataReplicationInfo_replicatedDisks = Lens.lens (\DataReplicationInfo' {replicatedDisks} -> replicatedDisks) (\s@DataReplicationInfo' {} a -> s {replicatedDisks = a} :: DataReplicationInfo) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DataReplicationInfo where+ parseJSON =+ Data.withObject+ "DataReplicationInfo"+ ( \x ->+ DataReplicationInfo'+ Prelude.<$> (x Data..:? "dataReplicationError")+ Prelude.<*> (x Data..:? "dataReplicationInitiation")+ Prelude.<*> (x Data..:? "dataReplicationState")+ Prelude.<*> (x Data..:? "etaDateTime")+ Prelude.<*> (x Data..:? "lagDuration")+ Prelude.<*> ( x+ Data..:? "replicatedDisks"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable DataReplicationInfo where+ hashWithSalt _salt DataReplicationInfo' {..} =+ _salt+ `Prelude.hashWithSalt` dataReplicationError+ `Prelude.hashWithSalt` dataReplicationInitiation+ `Prelude.hashWithSalt` dataReplicationState+ `Prelude.hashWithSalt` etaDateTime+ `Prelude.hashWithSalt` lagDuration+ `Prelude.hashWithSalt` replicatedDisks++instance Prelude.NFData DataReplicationInfo where+ rnf DataReplicationInfo' {..} =+ Prelude.rnf dataReplicationError+ `Prelude.seq` Prelude.rnf dataReplicationInitiation+ `Prelude.seq` Prelude.rnf dataReplicationState+ `Prelude.seq` Prelude.rnf etaDateTime+ `Prelude.seq` Prelude.rnf lagDuration+ `Prelude.seq` Prelude.rnf replicatedDisks
+ gen/Amazonka/DrS/Types/DataReplicationInfoReplicatedDisk.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DataReplicationInfoReplicatedDisk+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DataReplicationInfoReplicatedDisk where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A disk that should be replicated.+--+-- /See:/ 'newDataReplicationInfoReplicatedDisk' smart constructor.+data DataReplicationInfoReplicatedDisk = DataReplicationInfoReplicatedDisk'+ { -- | The size of the replication backlog in bytes.+ backloggedStorageBytes :: Prelude.Maybe Prelude.Natural,+ -- | The name of the device.+ deviceName :: Prelude.Maybe Prelude.Text,+ -- | The amount of data replicated so far in bytes.+ replicatedStorageBytes :: Prelude.Maybe Prelude.Natural,+ -- | The amount of data to be rescanned in bytes.+ rescannedStorageBytes :: Prelude.Maybe Prelude.Natural,+ -- | The total amount of data to be replicated in bytes.+ totalStorageBytes :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataReplicationInfoReplicatedDisk' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backloggedStorageBytes', 'dataReplicationInfoReplicatedDisk_backloggedStorageBytes' - The size of the replication backlog in bytes.+--+-- 'deviceName', 'dataReplicationInfoReplicatedDisk_deviceName' - The name of the device.+--+-- 'replicatedStorageBytes', 'dataReplicationInfoReplicatedDisk_replicatedStorageBytes' - The amount of data replicated so far in bytes.+--+-- 'rescannedStorageBytes', 'dataReplicationInfoReplicatedDisk_rescannedStorageBytes' - The amount of data to be rescanned in bytes.+--+-- 'totalStorageBytes', 'dataReplicationInfoReplicatedDisk_totalStorageBytes' - The total amount of data to be replicated in bytes.+newDataReplicationInfoReplicatedDisk ::+ DataReplicationInfoReplicatedDisk+newDataReplicationInfoReplicatedDisk =+ DataReplicationInfoReplicatedDisk'+ { backloggedStorageBytes =+ Prelude.Nothing,+ deviceName = Prelude.Nothing,+ replicatedStorageBytes = Prelude.Nothing,+ rescannedStorageBytes = Prelude.Nothing,+ totalStorageBytes = Prelude.Nothing+ }++-- | The size of the replication backlog in bytes.+dataReplicationInfoReplicatedDisk_backloggedStorageBytes :: Lens.Lens' DataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Natural)+dataReplicationInfoReplicatedDisk_backloggedStorageBytes = Lens.lens (\DataReplicationInfoReplicatedDisk' {backloggedStorageBytes} -> backloggedStorageBytes) (\s@DataReplicationInfoReplicatedDisk' {} a -> s {backloggedStorageBytes = a} :: DataReplicationInfoReplicatedDisk)++-- | The name of the device.+dataReplicationInfoReplicatedDisk_deviceName :: Lens.Lens' DataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Text)+dataReplicationInfoReplicatedDisk_deviceName = Lens.lens (\DataReplicationInfoReplicatedDisk' {deviceName} -> deviceName) (\s@DataReplicationInfoReplicatedDisk' {} a -> s {deviceName = a} :: DataReplicationInfoReplicatedDisk)++-- | The amount of data replicated so far in bytes.+dataReplicationInfoReplicatedDisk_replicatedStorageBytes :: Lens.Lens' DataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Natural)+dataReplicationInfoReplicatedDisk_replicatedStorageBytes = Lens.lens (\DataReplicationInfoReplicatedDisk' {replicatedStorageBytes} -> replicatedStorageBytes) (\s@DataReplicationInfoReplicatedDisk' {} a -> s {replicatedStorageBytes = a} :: DataReplicationInfoReplicatedDisk)++-- | The amount of data to be rescanned in bytes.+dataReplicationInfoReplicatedDisk_rescannedStorageBytes :: Lens.Lens' DataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Natural)+dataReplicationInfoReplicatedDisk_rescannedStorageBytes = Lens.lens (\DataReplicationInfoReplicatedDisk' {rescannedStorageBytes} -> rescannedStorageBytes) (\s@DataReplicationInfoReplicatedDisk' {} a -> s {rescannedStorageBytes = a} :: DataReplicationInfoReplicatedDisk)++-- | The total amount of data to be replicated in bytes.+dataReplicationInfoReplicatedDisk_totalStorageBytes :: Lens.Lens' DataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Natural)+dataReplicationInfoReplicatedDisk_totalStorageBytes = Lens.lens (\DataReplicationInfoReplicatedDisk' {totalStorageBytes} -> totalStorageBytes) (\s@DataReplicationInfoReplicatedDisk' {} a -> s {totalStorageBytes = a} :: DataReplicationInfoReplicatedDisk)++instance+ Data.FromJSON+ DataReplicationInfoReplicatedDisk+ where+ parseJSON =+ Data.withObject+ "DataReplicationInfoReplicatedDisk"+ ( \x ->+ DataReplicationInfoReplicatedDisk'+ Prelude.<$> (x Data..:? "backloggedStorageBytes")+ Prelude.<*> (x Data..:? "deviceName")+ Prelude.<*> (x Data..:? "replicatedStorageBytes")+ Prelude.<*> (x Data..:? "rescannedStorageBytes")+ Prelude.<*> (x Data..:? "totalStorageBytes")+ )++instance+ Prelude.Hashable+ DataReplicationInfoReplicatedDisk+ where+ hashWithSalt+ _salt+ DataReplicationInfoReplicatedDisk' {..} =+ _salt+ `Prelude.hashWithSalt` backloggedStorageBytes+ `Prelude.hashWithSalt` deviceName+ `Prelude.hashWithSalt` replicatedStorageBytes+ `Prelude.hashWithSalt` rescannedStorageBytes+ `Prelude.hashWithSalt` totalStorageBytes++instance+ Prelude.NFData+ DataReplicationInfoReplicatedDisk+ where+ rnf DataReplicationInfoReplicatedDisk' {..} =+ Prelude.rnf backloggedStorageBytes+ `Prelude.seq` Prelude.rnf deviceName+ `Prelude.seq` Prelude.rnf replicatedStorageBytes+ `Prelude.seq` Prelude.rnf rescannedStorageBytes+ `Prelude.seq` Prelude.rnf totalStorageBytes
+ gen/Amazonka/DrS/Types/DataReplicationInitiation.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DataReplicationInitiation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DataReplicationInitiation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.DataReplicationInitiationStep+import qualified Amazonka.Prelude as Prelude++-- | Data replication initiation.+--+-- /See:/ 'newDataReplicationInitiation' smart constructor.+data DataReplicationInitiation = DataReplicationInitiation'+ { -- | The date and time of the next attempt to initiate data replication.+ nextAttemptDateTime :: Prelude.Maybe Prelude.Text,+ -- | The date and time of the current attempt to initiate data replication.+ startDateTime :: Prelude.Maybe Prelude.Text,+ -- | The steps of the current attempt to initiate data replication.+ steps :: Prelude.Maybe [DataReplicationInitiationStep]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataReplicationInitiation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextAttemptDateTime', 'dataReplicationInitiation_nextAttemptDateTime' - The date and time of the next attempt to initiate data replication.+--+-- 'startDateTime', 'dataReplicationInitiation_startDateTime' - The date and time of the current attempt to initiate data replication.+--+-- 'steps', 'dataReplicationInitiation_steps' - The steps of the current attempt to initiate data replication.+newDataReplicationInitiation ::+ DataReplicationInitiation+newDataReplicationInitiation =+ DataReplicationInitiation'+ { nextAttemptDateTime =+ Prelude.Nothing,+ startDateTime = Prelude.Nothing,+ steps = Prelude.Nothing+ }++-- | The date and time of the next attempt to initiate data replication.+dataReplicationInitiation_nextAttemptDateTime :: Lens.Lens' DataReplicationInitiation (Prelude.Maybe Prelude.Text)+dataReplicationInitiation_nextAttemptDateTime = Lens.lens (\DataReplicationInitiation' {nextAttemptDateTime} -> nextAttemptDateTime) (\s@DataReplicationInitiation' {} a -> s {nextAttemptDateTime = a} :: DataReplicationInitiation)++-- | The date and time of the current attempt to initiate data replication.+dataReplicationInitiation_startDateTime :: Lens.Lens' DataReplicationInitiation (Prelude.Maybe Prelude.Text)+dataReplicationInitiation_startDateTime = Lens.lens (\DataReplicationInitiation' {startDateTime} -> startDateTime) (\s@DataReplicationInitiation' {} a -> s {startDateTime = a} :: DataReplicationInitiation)++-- | The steps of the current attempt to initiate data replication.+dataReplicationInitiation_steps :: Lens.Lens' DataReplicationInitiation (Prelude.Maybe [DataReplicationInitiationStep])+dataReplicationInitiation_steps = Lens.lens (\DataReplicationInitiation' {steps} -> steps) (\s@DataReplicationInitiation' {} a -> s {steps = a} :: DataReplicationInitiation) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DataReplicationInitiation where+ parseJSON =+ Data.withObject+ "DataReplicationInitiation"+ ( \x ->+ DataReplicationInitiation'+ Prelude.<$> (x Data..:? "nextAttemptDateTime")+ Prelude.<*> (x Data..:? "startDateTime")+ Prelude.<*> (x Data..:? "steps" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable DataReplicationInitiation where+ hashWithSalt _salt DataReplicationInitiation' {..} =+ _salt+ `Prelude.hashWithSalt` nextAttemptDateTime+ `Prelude.hashWithSalt` startDateTime+ `Prelude.hashWithSalt` steps++instance Prelude.NFData DataReplicationInitiation where+ rnf DataReplicationInitiation' {..} =+ Prelude.rnf nextAttemptDateTime+ `Prelude.seq` Prelude.rnf startDateTime+ `Prelude.seq` Prelude.rnf steps
+ gen/Amazonka/DrS/Types/DataReplicationInitiationStep.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DataReplicationInitiationStep+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DataReplicationInitiationStep where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.DataReplicationInitiationStepName+import Amazonka.DrS.Types.DataReplicationInitiationStepStatus+import qualified Amazonka.Prelude as Prelude++-- | Data replication initiation step.+--+-- /See:/ 'newDataReplicationInitiationStep' smart constructor.+data DataReplicationInitiationStep = DataReplicationInitiationStep'+ { -- | The name of the step.+ name :: Prelude.Maybe DataReplicationInitiationStepName,+ -- | The status of the step.+ status :: Prelude.Maybe DataReplicationInitiationStepStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataReplicationInitiationStep' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'dataReplicationInitiationStep_name' - The name of the step.+--+-- 'status', 'dataReplicationInitiationStep_status' - The status of the step.+newDataReplicationInitiationStep ::+ DataReplicationInitiationStep+newDataReplicationInitiationStep =+ DataReplicationInitiationStep'+ { name =+ Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The name of the step.+dataReplicationInitiationStep_name :: Lens.Lens' DataReplicationInitiationStep (Prelude.Maybe DataReplicationInitiationStepName)+dataReplicationInitiationStep_name = Lens.lens (\DataReplicationInitiationStep' {name} -> name) (\s@DataReplicationInitiationStep' {} a -> s {name = a} :: DataReplicationInitiationStep)++-- | The status of the step.+dataReplicationInitiationStep_status :: Lens.Lens' DataReplicationInitiationStep (Prelude.Maybe DataReplicationInitiationStepStatus)+dataReplicationInitiationStep_status = Lens.lens (\DataReplicationInitiationStep' {status} -> status) (\s@DataReplicationInitiationStep' {} a -> s {status = a} :: DataReplicationInitiationStep)++instance Data.FromJSON DataReplicationInitiationStep where+ parseJSON =+ Data.withObject+ "DataReplicationInitiationStep"+ ( \x ->+ DataReplicationInitiationStep'+ Prelude.<$> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ )++instance+ Prelude.Hashable+ DataReplicationInitiationStep+ where+ hashWithSalt _salt DataReplicationInitiationStep' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData DataReplicationInitiationStep where+ rnf DataReplicationInitiationStep' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/DrS/Types/DataReplicationInitiationStepName.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DataReplicationInitiationStepName+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DataReplicationInitiationStepName+ ( DataReplicationInitiationStepName+ ( ..,+ DataReplicationInitiationStepName_ATTACH_STAGING_DISKS,+ DataReplicationInitiationStepName_AUTHENTICATE_WITH_SERVICE,+ DataReplicationInitiationStepName_BOOT_REPLICATION_SERVER,+ DataReplicationInitiationStepName_CONNECT_AGENT_TO_REPLICATION_SERVER,+ DataReplicationInitiationStepName_CREATE_SECURITY_GROUP,+ DataReplicationInitiationStepName_CREATE_STAGING_DISKS,+ DataReplicationInitiationStepName_DOWNLOAD_REPLICATION_SOFTWARE,+ DataReplicationInitiationStepName_LAUNCH_REPLICATION_SERVER,+ DataReplicationInitiationStepName_PAIR_REPLICATION_SERVER_WITH_AGENT,+ DataReplicationInitiationStepName_START_DATA_TRANSFER,+ DataReplicationInitiationStepName_WAIT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataReplicationInitiationStepName = DataReplicationInitiationStepName'+ { fromDataReplicationInitiationStepName ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DataReplicationInitiationStepName_ATTACH_STAGING_DISKS :: DataReplicationInitiationStepName+pattern DataReplicationInitiationStepName_ATTACH_STAGING_DISKS = DataReplicationInitiationStepName' "ATTACH_STAGING_DISKS"++pattern DataReplicationInitiationStepName_AUTHENTICATE_WITH_SERVICE :: DataReplicationInitiationStepName+pattern DataReplicationInitiationStepName_AUTHENTICATE_WITH_SERVICE = DataReplicationInitiationStepName' "AUTHENTICATE_WITH_SERVICE"++pattern DataReplicationInitiationStepName_BOOT_REPLICATION_SERVER :: DataReplicationInitiationStepName+pattern DataReplicationInitiationStepName_BOOT_REPLICATION_SERVER = DataReplicationInitiationStepName' "BOOT_REPLICATION_SERVER"++pattern DataReplicationInitiationStepName_CONNECT_AGENT_TO_REPLICATION_SERVER :: DataReplicationInitiationStepName+pattern DataReplicationInitiationStepName_CONNECT_AGENT_TO_REPLICATION_SERVER = DataReplicationInitiationStepName' "CONNECT_AGENT_TO_REPLICATION_SERVER"++pattern DataReplicationInitiationStepName_CREATE_SECURITY_GROUP :: DataReplicationInitiationStepName+pattern DataReplicationInitiationStepName_CREATE_SECURITY_GROUP = DataReplicationInitiationStepName' "CREATE_SECURITY_GROUP"++pattern DataReplicationInitiationStepName_CREATE_STAGING_DISKS :: DataReplicationInitiationStepName+pattern DataReplicationInitiationStepName_CREATE_STAGING_DISKS = DataReplicationInitiationStepName' "CREATE_STAGING_DISKS"++pattern DataReplicationInitiationStepName_DOWNLOAD_REPLICATION_SOFTWARE :: DataReplicationInitiationStepName+pattern DataReplicationInitiationStepName_DOWNLOAD_REPLICATION_SOFTWARE = DataReplicationInitiationStepName' "DOWNLOAD_REPLICATION_SOFTWARE"++pattern DataReplicationInitiationStepName_LAUNCH_REPLICATION_SERVER :: DataReplicationInitiationStepName+pattern DataReplicationInitiationStepName_LAUNCH_REPLICATION_SERVER = DataReplicationInitiationStepName' "LAUNCH_REPLICATION_SERVER"++pattern DataReplicationInitiationStepName_PAIR_REPLICATION_SERVER_WITH_AGENT :: DataReplicationInitiationStepName+pattern DataReplicationInitiationStepName_PAIR_REPLICATION_SERVER_WITH_AGENT = DataReplicationInitiationStepName' "PAIR_REPLICATION_SERVER_WITH_AGENT"++pattern DataReplicationInitiationStepName_START_DATA_TRANSFER :: DataReplicationInitiationStepName+pattern DataReplicationInitiationStepName_START_DATA_TRANSFER = DataReplicationInitiationStepName' "START_DATA_TRANSFER"++pattern DataReplicationInitiationStepName_WAIT :: DataReplicationInitiationStepName+pattern DataReplicationInitiationStepName_WAIT = DataReplicationInitiationStepName' "WAIT"++{-# COMPLETE+ DataReplicationInitiationStepName_ATTACH_STAGING_DISKS,+ DataReplicationInitiationStepName_AUTHENTICATE_WITH_SERVICE,+ DataReplicationInitiationStepName_BOOT_REPLICATION_SERVER,+ DataReplicationInitiationStepName_CONNECT_AGENT_TO_REPLICATION_SERVER,+ DataReplicationInitiationStepName_CREATE_SECURITY_GROUP,+ DataReplicationInitiationStepName_CREATE_STAGING_DISKS,+ DataReplicationInitiationStepName_DOWNLOAD_REPLICATION_SOFTWARE,+ DataReplicationInitiationStepName_LAUNCH_REPLICATION_SERVER,+ DataReplicationInitiationStepName_PAIR_REPLICATION_SERVER_WITH_AGENT,+ DataReplicationInitiationStepName_START_DATA_TRANSFER,+ DataReplicationInitiationStepName_WAIT,+ DataReplicationInitiationStepName'+ #-}
+ gen/Amazonka/DrS/Types/DataReplicationInitiationStepStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DataReplicationInitiationStepStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DataReplicationInitiationStepStatus+ ( DataReplicationInitiationStepStatus+ ( ..,+ DataReplicationInitiationStepStatus_FAILED,+ DataReplicationInitiationStepStatus_IN_PROGRESS,+ DataReplicationInitiationStepStatus_NOT_STARTED,+ DataReplicationInitiationStepStatus_SKIPPED,+ DataReplicationInitiationStepStatus_SUCCEEDED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataReplicationInitiationStepStatus = DataReplicationInitiationStepStatus'+ { fromDataReplicationInitiationStepStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DataReplicationInitiationStepStatus_FAILED :: DataReplicationInitiationStepStatus+pattern DataReplicationInitiationStepStatus_FAILED = DataReplicationInitiationStepStatus' "FAILED"++pattern DataReplicationInitiationStepStatus_IN_PROGRESS :: DataReplicationInitiationStepStatus+pattern DataReplicationInitiationStepStatus_IN_PROGRESS = DataReplicationInitiationStepStatus' "IN_PROGRESS"++pattern DataReplicationInitiationStepStatus_NOT_STARTED :: DataReplicationInitiationStepStatus+pattern DataReplicationInitiationStepStatus_NOT_STARTED = DataReplicationInitiationStepStatus' "NOT_STARTED"++pattern DataReplicationInitiationStepStatus_SKIPPED :: DataReplicationInitiationStepStatus+pattern DataReplicationInitiationStepStatus_SKIPPED = DataReplicationInitiationStepStatus' "SKIPPED"++pattern DataReplicationInitiationStepStatus_SUCCEEDED :: DataReplicationInitiationStepStatus+pattern DataReplicationInitiationStepStatus_SUCCEEDED = DataReplicationInitiationStepStatus' "SUCCEEDED"++{-# COMPLETE+ DataReplicationInitiationStepStatus_FAILED,+ DataReplicationInitiationStepStatus_IN_PROGRESS,+ DataReplicationInitiationStepStatus_NOT_STARTED,+ DataReplicationInitiationStepStatus_SKIPPED,+ DataReplicationInitiationStepStatus_SUCCEEDED,+ DataReplicationInitiationStepStatus'+ #-}
+ gen/Amazonka/DrS/Types/DataReplicationState.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DataReplicationState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DataReplicationState+ ( DataReplicationState+ ( ..,+ DataReplicationState_BACKLOG,+ DataReplicationState_CONTINUOUS,+ DataReplicationState_CREATING_SNAPSHOT,+ DataReplicationState_DISCONNECTED,+ DataReplicationState_INITIAL_SYNC,+ DataReplicationState_INITIATING,+ DataReplicationState_PAUSED,+ DataReplicationState_RESCAN,+ DataReplicationState_STALLED,+ DataReplicationState_STOPPED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataReplicationState = DataReplicationState'+ { fromDataReplicationState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DataReplicationState_BACKLOG :: DataReplicationState+pattern DataReplicationState_BACKLOG = DataReplicationState' "BACKLOG"++pattern DataReplicationState_CONTINUOUS :: DataReplicationState+pattern DataReplicationState_CONTINUOUS = DataReplicationState' "CONTINUOUS"++pattern DataReplicationState_CREATING_SNAPSHOT :: DataReplicationState+pattern DataReplicationState_CREATING_SNAPSHOT = DataReplicationState' "CREATING_SNAPSHOT"++pattern DataReplicationState_DISCONNECTED :: DataReplicationState+pattern DataReplicationState_DISCONNECTED = DataReplicationState' "DISCONNECTED"++pattern DataReplicationState_INITIAL_SYNC :: DataReplicationState+pattern DataReplicationState_INITIAL_SYNC = DataReplicationState' "INITIAL_SYNC"++pattern DataReplicationState_INITIATING :: DataReplicationState+pattern DataReplicationState_INITIATING = DataReplicationState' "INITIATING"++pattern DataReplicationState_PAUSED :: DataReplicationState+pattern DataReplicationState_PAUSED = DataReplicationState' "PAUSED"++pattern DataReplicationState_RESCAN :: DataReplicationState+pattern DataReplicationState_RESCAN = DataReplicationState' "RESCAN"++pattern DataReplicationState_STALLED :: DataReplicationState+pattern DataReplicationState_STALLED = DataReplicationState' "STALLED"++pattern DataReplicationState_STOPPED :: DataReplicationState+pattern DataReplicationState_STOPPED = DataReplicationState' "STOPPED"++{-# COMPLETE+ DataReplicationState_BACKLOG,+ DataReplicationState_CONTINUOUS,+ DataReplicationState_CREATING_SNAPSHOT,+ DataReplicationState_DISCONNECTED,+ DataReplicationState_INITIAL_SYNC,+ DataReplicationState_INITIATING,+ DataReplicationState_PAUSED,+ DataReplicationState_RESCAN,+ DataReplicationState_STALLED,+ DataReplicationState_STOPPED,+ DataReplicationState'+ #-}
+ gen/Amazonka/DrS/Types/DescribeJobsRequestFilters.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DescribeJobsRequestFilters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DescribeJobsRequestFilters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A set of filters by which to return Jobs.+--+-- /See:/ 'newDescribeJobsRequestFilters' smart constructor.+data DescribeJobsRequestFilters = DescribeJobsRequestFilters'+ { -- | The start date in a date range query.+ fromDate :: Prelude.Maybe Prelude.Text,+ -- | An array of Job IDs that should be returned. An empty array means all+ -- jobs.+ jobIDs :: Prelude.Maybe [Prelude.Text],+ -- | The end date in a date range query.+ toDate :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeJobsRequestFilters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fromDate', 'describeJobsRequestFilters_fromDate' - The start date in a date range query.+--+-- 'jobIDs', 'describeJobsRequestFilters_jobIDs' - An array of Job IDs that should be returned. An empty array means all+-- jobs.+--+-- 'toDate', 'describeJobsRequestFilters_toDate' - The end date in a date range query.+newDescribeJobsRequestFilters ::+ DescribeJobsRequestFilters+newDescribeJobsRequestFilters =+ DescribeJobsRequestFilters'+ { fromDate =+ Prelude.Nothing,+ jobIDs = Prelude.Nothing,+ toDate = Prelude.Nothing+ }++-- | The start date in a date range query.+describeJobsRequestFilters_fromDate :: Lens.Lens' DescribeJobsRequestFilters (Prelude.Maybe Prelude.Text)+describeJobsRequestFilters_fromDate = Lens.lens (\DescribeJobsRequestFilters' {fromDate} -> fromDate) (\s@DescribeJobsRequestFilters' {} a -> s {fromDate = a} :: DescribeJobsRequestFilters)++-- | An array of Job IDs that should be returned. An empty array means all+-- jobs.+describeJobsRequestFilters_jobIDs :: Lens.Lens' DescribeJobsRequestFilters (Prelude.Maybe [Prelude.Text])+describeJobsRequestFilters_jobIDs = Lens.lens (\DescribeJobsRequestFilters' {jobIDs} -> jobIDs) (\s@DescribeJobsRequestFilters' {} a -> s {jobIDs = a} :: DescribeJobsRequestFilters) Prelude.. Lens.mapping Lens.coerced++-- | The end date in a date range query.+describeJobsRequestFilters_toDate :: Lens.Lens' DescribeJobsRequestFilters (Prelude.Maybe Prelude.Text)+describeJobsRequestFilters_toDate = Lens.lens (\DescribeJobsRequestFilters' {toDate} -> toDate) (\s@DescribeJobsRequestFilters' {} a -> s {toDate = a} :: DescribeJobsRequestFilters)++instance Prelude.Hashable DescribeJobsRequestFilters where+ hashWithSalt _salt DescribeJobsRequestFilters' {..} =+ _salt+ `Prelude.hashWithSalt` fromDate+ `Prelude.hashWithSalt` jobIDs+ `Prelude.hashWithSalt` toDate++instance Prelude.NFData DescribeJobsRequestFilters where+ rnf DescribeJobsRequestFilters' {..} =+ Prelude.rnf fromDate+ `Prelude.seq` Prelude.rnf jobIDs+ `Prelude.seq` Prelude.rnf toDate++instance Data.ToJSON DescribeJobsRequestFilters where+ toJSON DescribeJobsRequestFilters' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("fromDate" Data..=) Prelude.<$> fromDate,+ ("jobIDs" Data..=) Prelude.<$> jobIDs,+ ("toDate" Data..=) Prelude.<$> toDate+ ]+ )
+ gen/Amazonka/DrS/Types/DescribeRecoveryInstancesRequestFilters.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DescribeRecoveryInstancesRequestFilters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DescribeRecoveryInstancesRequestFilters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A set of filters by which to return Recovery Instances.+--+-- /See:/ 'newDescribeRecoveryInstancesRequestFilters' smart constructor.+data DescribeRecoveryInstancesRequestFilters = DescribeRecoveryInstancesRequestFilters'+ { -- | An array of Recovery Instance IDs that should be returned. An empty+ -- array means all Recovery Instances.+ recoveryInstanceIDs :: Prelude.Maybe [Prelude.Text],+ -- | An array of Source Server IDs for which associated Recovery Instances+ -- should be returned.+ sourceServerIDs :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRecoveryInstancesRequestFilters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'recoveryInstanceIDs', 'describeRecoveryInstancesRequestFilters_recoveryInstanceIDs' - An array of Recovery Instance IDs that should be returned. An empty+-- array means all Recovery Instances.+--+-- 'sourceServerIDs', 'describeRecoveryInstancesRequestFilters_sourceServerIDs' - An array of Source Server IDs for which associated Recovery Instances+-- should be returned.+newDescribeRecoveryInstancesRequestFilters ::+ DescribeRecoveryInstancesRequestFilters+newDescribeRecoveryInstancesRequestFilters =+ DescribeRecoveryInstancesRequestFilters'+ { recoveryInstanceIDs =+ Prelude.Nothing,+ sourceServerIDs = Prelude.Nothing+ }++-- | An array of Recovery Instance IDs that should be returned. An empty+-- array means all Recovery Instances.+describeRecoveryInstancesRequestFilters_recoveryInstanceIDs :: Lens.Lens' DescribeRecoveryInstancesRequestFilters (Prelude.Maybe [Prelude.Text])+describeRecoveryInstancesRequestFilters_recoveryInstanceIDs = Lens.lens (\DescribeRecoveryInstancesRequestFilters' {recoveryInstanceIDs} -> recoveryInstanceIDs) (\s@DescribeRecoveryInstancesRequestFilters' {} a -> s {recoveryInstanceIDs = a} :: DescribeRecoveryInstancesRequestFilters) Prelude.. Lens.mapping Lens.coerced++-- | An array of Source Server IDs for which associated Recovery Instances+-- should be returned.+describeRecoveryInstancesRequestFilters_sourceServerIDs :: Lens.Lens' DescribeRecoveryInstancesRequestFilters (Prelude.Maybe [Prelude.Text])+describeRecoveryInstancesRequestFilters_sourceServerIDs = Lens.lens (\DescribeRecoveryInstancesRequestFilters' {sourceServerIDs} -> sourceServerIDs) (\s@DescribeRecoveryInstancesRequestFilters' {} a -> s {sourceServerIDs = a} :: DescribeRecoveryInstancesRequestFilters) Prelude.. Lens.mapping Lens.coerced++instance+ Prelude.Hashable+ DescribeRecoveryInstancesRequestFilters+ where+ hashWithSalt+ _salt+ DescribeRecoveryInstancesRequestFilters' {..} =+ _salt+ `Prelude.hashWithSalt` recoveryInstanceIDs+ `Prelude.hashWithSalt` sourceServerIDs++instance+ Prelude.NFData+ DescribeRecoveryInstancesRequestFilters+ where+ rnf DescribeRecoveryInstancesRequestFilters' {..} =+ Prelude.rnf recoveryInstanceIDs+ `Prelude.seq` Prelude.rnf sourceServerIDs++instance+ Data.ToJSON+ DescribeRecoveryInstancesRequestFilters+ where+ toJSON DescribeRecoveryInstancesRequestFilters' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("recoveryInstanceIDs" Data..=)+ Prelude.<$> recoveryInstanceIDs,+ ("sourceServerIDs" Data..=)+ Prelude.<$> sourceServerIDs+ ]+ )
+ gen/Amazonka/DrS/Types/DescribeRecoverySnapshotsRequestFilters.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DescribeRecoverySnapshotsRequestFilters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DescribeRecoverySnapshotsRequestFilters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A set of filters by which to return Recovery Snapshots.+--+-- /See:/ 'newDescribeRecoverySnapshotsRequestFilters' smart constructor.+data DescribeRecoverySnapshotsRequestFilters = DescribeRecoverySnapshotsRequestFilters'+ { -- | The start date in a date range query.+ fromDateTime :: Prelude.Maybe Prelude.Text,+ -- | The end date in a date range query.+ toDateTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRecoverySnapshotsRequestFilters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fromDateTime', 'describeRecoverySnapshotsRequestFilters_fromDateTime' - The start date in a date range query.+--+-- 'toDateTime', 'describeRecoverySnapshotsRequestFilters_toDateTime' - The end date in a date range query.+newDescribeRecoverySnapshotsRequestFilters ::+ DescribeRecoverySnapshotsRequestFilters+newDescribeRecoverySnapshotsRequestFilters =+ DescribeRecoverySnapshotsRequestFilters'+ { fromDateTime =+ Prelude.Nothing,+ toDateTime = Prelude.Nothing+ }++-- | The start date in a date range query.+describeRecoverySnapshotsRequestFilters_fromDateTime :: Lens.Lens' DescribeRecoverySnapshotsRequestFilters (Prelude.Maybe Prelude.Text)+describeRecoverySnapshotsRequestFilters_fromDateTime = Lens.lens (\DescribeRecoverySnapshotsRequestFilters' {fromDateTime} -> fromDateTime) (\s@DescribeRecoverySnapshotsRequestFilters' {} a -> s {fromDateTime = a} :: DescribeRecoverySnapshotsRequestFilters)++-- | The end date in a date range query.+describeRecoverySnapshotsRequestFilters_toDateTime :: Lens.Lens' DescribeRecoverySnapshotsRequestFilters (Prelude.Maybe Prelude.Text)+describeRecoverySnapshotsRequestFilters_toDateTime = Lens.lens (\DescribeRecoverySnapshotsRequestFilters' {toDateTime} -> toDateTime) (\s@DescribeRecoverySnapshotsRequestFilters' {} a -> s {toDateTime = a} :: DescribeRecoverySnapshotsRequestFilters)++instance+ Prelude.Hashable+ DescribeRecoverySnapshotsRequestFilters+ where+ hashWithSalt+ _salt+ DescribeRecoverySnapshotsRequestFilters' {..} =+ _salt+ `Prelude.hashWithSalt` fromDateTime+ `Prelude.hashWithSalt` toDateTime++instance+ Prelude.NFData+ DescribeRecoverySnapshotsRequestFilters+ where+ rnf DescribeRecoverySnapshotsRequestFilters' {..} =+ Prelude.rnf fromDateTime+ `Prelude.seq` Prelude.rnf toDateTime++instance+ Data.ToJSON+ DescribeRecoverySnapshotsRequestFilters+ where+ toJSON DescribeRecoverySnapshotsRequestFilters' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("fromDateTime" Data..=) Prelude.<$> fromDateTime,+ ("toDateTime" Data..=) Prelude.<$> toDateTime+ ]+ )
+ gen/Amazonka/DrS/Types/DescribeSourceServersRequestFilters.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.DescribeSourceServersRequestFilters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.DescribeSourceServersRequestFilters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A set of filters by which to return Source Servers.+--+-- /See:/ 'newDescribeSourceServersRequestFilters' smart constructor.+data DescribeSourceServersRequestFilters = DescribeSourceServersRequestFilters'+ { -- | An ID that describes the hardware of the Source Server. This is either+ -- an EC2 instance id, a VMware uuid or a mac address.+ hardwareId :: Prelude.Maybe Prelude.Text,+ -- | An array of Source Servers IDs that should be returned. An empty array+ -- means all Source Servers.+ sourceServerIDs :: Prelude.Maybe [Prelude.Text],+ -- | An array of staging account IDs that extended source servers belong to.+ -- An empty array means all source servers will be shown.+ stagingAccountIDs :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSourceServersRequestFilters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hardwareId', 'describeSourceServersRequestFilters_hardwareId' - An ID that describes the hardware of the Source Server. This is either+-- an EC2 instance id, a VMware uuid or a mac address.+--+-- 'sourceServerIDs', 'describeSourceServersRequestFilters_sourceServerIDs' - An array of Source Servers IDs that should be returned. An empty array+-- means all Source Servers.+--+-- 'stagingAccountIDs', 'describeSourceServersRequestFilters_stagingAccountIDs' - An array of staging account IDs that extended source servers belong to.+-- An empty array means all source servers will be shown.+newDescribeSourceServersRequestFilters ::+ DescribeSourceServersRequestFilters+newDescribeSourceServersRequestFilters =+ DescribeSourceServersRequestFilters'+ { hardwareId =+ Prelude.Nothing,+ sourceServerIDs = Prelude.Nothing,+ stagingAccountIDs = Prelude.Nothing+ }++-- | An ID that describes the hardware of the Source Server. This is either+-- an EC2 instance id, a VMware uuid or a mac address.+describeSourceServersRequestFilters_hardwareId :: Lens.Lens' DescribeSourceServersRequestFilters (Prelude.Maybe Prelude.Text)+describeSourceServersRequestFilters_hardwareId = Lens.lens (\DescribeSourceServersRequestFilters' {hardwareId} -> hardwareId) (\s@DescribeSourceServersRequestFilters' {} a -> s {hardwareId = a} :: DescribeSourceServersRequestFilters)++-- | An array of Source Servers IDs that should be returned. An empty array+-- means all Source Servers.+describeSourceServersRequestFilters_sourceServerIDs :: Lens.Lens' DescribeSourceServersRequestFilters (Prelude.Maybe [Prelude.Text])+describeSourceServersRequestFilters_sourceServerIDs = Lens.lens (\DescribeSourceServersRequestFilters' {sourceServerIDs} -> sourceServerIDs) (\s@DescribeSourceServersRequestFilters' {} a -> s {sourceServerIDs = a} :: DescribeSourceServersRequestFilters) Prelude.. Lens.mapping Lens.coerced++-- | An array of staging account IDs that extended source servers belong to.+-- An empty array means all source servers will be shown.+describeSourceServersRequestFilters_stagingAccountIDs :: Lens.Lens' DescribeSourceServersRequestFilters (Prelude.Maybe [Prelude.Text])+describeSourceServersRequestFilters_stagingAccountIDs = Lens.lens (\DescribeSourceServersRequestFilters' {stagingAccountIDs} -> stagingAccountIDs) (\s@DescribeSourceServersRequestFilters' {} a -> s {stagingAccountIDs = a} :: DescribeSourceServersRequestFilters) Prelude.. Lens.mapping Lens.coerced++instance+ Prelude.Hashable+ DescribeSourceServersRequestFilters+ where+ hashWithSalt+ _salt+ DescribeSourceServersRequestFilters' {..} =+ _salt+ `Prelude.hashWithSalt` hardwareId+ `Prelude.hashWithSalt` sourceServerIDs+ `Prelude.hashWithSalt` stagingAccountIDs++instance+ Prelude.NFData+ DescribeSourceServersRequestFilters+ where+ rnf DescribeSourceServersRequestFilters' {..} =+ Prelude.rnf hardwareId+ `Prelude.seq` Prelude.rnf sourceServerIDs+ `Prelude.seq` Prelude.rnf stagingAccountIDs++instance+ Data.ToJSON+ DescribeSourceServersRequestFilters+ where+ toJSON DescribeSourceServersRequestFilters' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("hardwareId" Data..=) Prelude.<$> hardwareId,+ ("sourceServerIDs" Data..=)+ Prelude.<$> sourceServerIDs,+ ("stagingAccountIDs" Data..=)+ Prelude.<$> stagingAccountIDs+ ]+ )
+ gen/Amazonka/DrS/Types/Disk.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.Disk+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.Disk where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An object representing a data storage device on a server.+--+-- /See:/ 'newDisk' smart constructor.+data Disk = Disk'+ { -- | The amount of storage on the disk in bytes.+ bytes :: Prelude.Maybe Prelude.Natural,+ -- | The disk or device name.+ deviceName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Disk' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bytes', 'disk_bytes' - The amount of storage on the disk in bytes.+--+-- 'deviceName', 'disk_deviceName' - The disk or device name.+newDisk ::+ Disk+newDisk =+ Disk'+ { bytes = Prelude.Nothing,+ deviceName = Prelude.Nothing+ }++-- | The amount of storage on the disk in bytes.+disk_bytes :: Lens.Lens' Disk (Prelude.Maybe Prelude.Natural)+disk_bytes = Lens.lens (\Disk' {bytes} -> bytes) (\s@Disk' {} a -> s {bytes = a} :: Disk)++-- | The disk or device name.+disk_deviceName :: Lens.Lens' Disk (Prelude.Maybe Prelude.Text)+disk_deviceName = Lens.lens (\Disk' {deviceName} -> deviceName) (\s@Disk' {} a -> s {deviceName = a} :: Disk)++instance Data.FromJSON Disk where+ parseJSON =+ Data.withObject+ "Disk"+ ( \x ->+ Disk'+ Prelude.<$> (x Data..:? "bytes")+ Prelude.<*> (x Data..:? "deviceName")+ )++instance Prelude.Hashable Disk where+ hashWithSalt _salt Disk' {..} =+ _salt+ `Prelude.hashWithSalt` bytes+ `Prelude.hashWithSalt` deviceName++instance Prelude.NFData Disk where+ rnf Disk' {..} =+ Prelude.rnf bytes+ `Prelude.seq` Prelude.rnf deviceName
+ gen/Amazonka/DrS/Types/EC2InstanceState.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.EC2InstanceState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.EC2InstanceState+ ( EC2InstanceState+ ( ..,+ EC2InstanceState_NOT_FOUND,+ EC2InstanceState_PENDING,+ EC2InstanceState_RUNNING,+ EC2InstanceState_SHUTTING_DOWN,+ EC2InstanceState_STOPPED,+ EC2InstanceState_STOPPING,+ EC2InstanceState_TERMINATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EC2InstanceState = EC2InstanceState'+ { fromEC2InstanceState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern EC2InstanceState_NOT_FOUND :: EC2InstanceState+pattern EC2InstanceState_NOT_FOUND = EC2InstanceState' "NOT_FOUND"++pattern EC2InstanceState_PENDING :: EC2InstanceState+pattern EC2InstanceState_PENDING = EC2InstanceState' "PENDING"++pattern EC2InstanceState_RUNNING :: EC2InstanceState+pattern EC2InstanceState_RUNNING = EC2InstanceState' "RUNNING"++pattern EC2InstanceState_SHUTTING_DOWN :: EC2InstanceState+pattern EC2InstanceState_SHUTTING_DOWN = EC2InstanceState' "SHUTTING-DOWN"++pattern EC2InstanceState_STOPPED :: EC2InstanceState+pattern EC2InstanceState_STOPPED = EC2InstanceState' "STOPPED"++pattern EC2InstanceState_STOPPING :: EC2InstanceState+pattern EC2InstanceState_STOPPING = EC2InstanceState' "STOPPING"++pattern EC2InstanceState_TERMINATED :: EC2InstanceState+pattern EC2InstanceState_TERMINATED = EC2InstanceState' "TERMINATED"++{-# COMPLETE+ EC2InstanceState_NOT_FOUND,+ EC2InstanceState_PENDING,+ EC2InstanceState_RUNNING,+ EC2InstanceState_SHUTTING_DOWN,+ EC2InstanceState_STOPPED,+ EC2InstanceState_STOPPING,+ EC2InstanceState_TERMINATED,+ EC2InstanceState'+ #-}
+ gen/Amazonka/DrS/Types/ExtensionStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.ExtensionStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.ExtensionStatus+ ( ExtensionStatus+ ( ..,+ ExtensionStatus_EXTENDED,+ ExtensionStatus_EXTENSION_ERROR,+ ExtensionStatus_NOT_EXTENDED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ExtensionStatus = ExtensionStatus'+ { fromExtensionStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ExtensionStatus_EXTENDED :: ExtensionStatus+pattern ExtensionStatus_EXTENDED = ExtensionStatus' "EXTENDED"++pattern ExtensionStatus_EXTENSION_ERROR :: ExtensionStatus+pattern ExtensionStatus_EXTENSION_ERROR = ExtensionStatus' "EXTENSION_ERROR"++pattern ExtensionStatus_NOT_EXTENDED :: ExtensionStatus+pattern ExtensionStatus_NOT_EXTENDED = ExtensionStatus' "NOT_EXTENDED"++{-# COMPLETE+ ExtensionStatus_EXTENDED,+ ExtensionStatus_EXTENSION_ERROR,+ ExtensionStatus_NOT_EXTENDED,+ ExtensionStatus'+ #-}
+ gen/Amazonka/DrS/Types/FailbackLaunchType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.FailbackLaunchType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.FailbackLaunchType+ ( FailbackLaunchType+ ( ..,+ FailbackLaunchType_DRILL,+ FailbackLaunchType_RECOVERY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FailbackLaunchType = FailbackLaunchType'+ { fromFailbackLaunchType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern FailbackLaunchType_DRILL :: FailbackLaunchType+pattern FailbackLaunchType_DRILL = FailbackLaunchType' "DRILL"++pattern FailbackLaunchType_RECOVERY :: FailbackLaunchType+pattern FailbackLaunchType_RECOVERY = FailbackLaunchType' "RECOVERY"++{-# COMPLETE+ FailbackLaunchType_DRILL,+ FailbackLaunchType_RECOVERY,+ FailbackLaunchType'+ #-}
+ gen/Amazonka/DrS/Types/FailbackReplicationError.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.FailbackReplicationError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.FailbackReplicationError+ ( FailbackReplicationError+ ( ..,+ FailbackReplicationError_AGENT_NOT_SEEN,+ FailbackReplicationError_FAILBACK_CLIENT_NOT_SEEN,+ FailbackReplicationError_FAILED_GETTING_REPLICATION_STATE,+ FailbackReplicationError_FAILED_TO_ATTACH_STAGING_DISKS,+ FailbackReplicationError_FAILED_TO_AUTHENTICATE_WITH_SERVICE,+ FailbackReplicationError_FAILED_TO_BOOT_REPLICATION_SERVER,+ FailbackReplicationError_FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE,+ FailbackReplicationError_FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER,+ FailbackReplicationError_FAILED_TO_CREATE_SECURITY_GROUP,+ FailbackReplicationError_FAILED_TO_CREATE_STAGING_DISKS,+ FailbackReplicationError_FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE,+ FailbackReplicationError_FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT,+ FailbackReplicationError_FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION,+ FailbackReplicationError_FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION,+ FailbackReplicationError_FAILED_TO_LAUNCH_REPLICATION_SERVER,+ FailbackReplicationError_FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE,+ FailbackReplicationError_FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT,+ FailbackReplicationError_FAILED_TO_START_DATA_TRANSFER,+ FailbackReplicationError_NOT_CONVERGING,+ FailbackReplicationError_SNAPSHOTS_FAILURE,+ FailbackReplicationError_UNSTABLE_NETWORK+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FailbackReplicationError = FailbackReplicationError'+ { fromFailbackReplicationError ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern FailbackReplicationError_AGENT_NOT_SEEN :: FailbackReplicationError+pattern FailbackReplicationError_AGENT_NOT_SEEN = FailbackReplicationError' "AGENT_NOT_SEEN"++pattern FailbackReplicationError_FAILBACK_CLIENT_NOT_SEEN :: FailbackReplicationError+pattern FailbackReplicationError_FAILBACK_CLIENT_NOT_SEEN = FailbackReplicationError' "FAILBACK_CLIENT_NOT_SEEN"++pattern FailbackReplicationError_FAILED_GETTING_REPLICATION_STATE :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_GETTING_REPLICATION_STATE = FailbackReplicationError' "FAILED_GETTING_REPLICATION_STATE"++pattern FailbackReplicationError_FAILED_TO_ATTACH_STAGING_DISKS :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_ATTACH_STAGING_DISKS = FailbackReplicationError' "FAILED_TO_ATTACH_STAGING_DISKS"++pattern FailbackReplicationError_FAILED_TO_AUTHENTICATE_WITH_SERVICE :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_AUTHENTICATE_WITH_SERVICE = FailbackReplicationError' "FAILED_TO_AUTHENTICATE_WITH_SERVICE"++pattern FailbackReplicationError_FAILED_TO_BOOT_REPLICATION_SERVER :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_BOOT_REPLICATION_SERVER = FailbackReplicationError' "FAILED_TO_BOOT_REPLICATION_SERVER"++pattern FailbackReplicationError_FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE = FailbackReplicationError' "FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE"++pattern FailbackReplicationError_FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER = FailbackReplicationError' "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER"++pattern FailbackReplicationError_FAILED_TO_CREATE_SECURITY_GROUP :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_CREATE_SECURITY_GROUP = FailbackReplicationError' "FAILED_TO_CREATE_SECURITY_GROUP"++pattern FailbackReplicationError_FAILED_TO_CREATE_STAGING_DISKS :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_CREATE_STAGING_DISKS = FailbackReplicationError' "FAILED_TO_CREATE_STAGING_DISKS"++pattern FailbackReplicationError_FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE = FailbackReplicationError' "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE"++pattern FailbackReplicationError_FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT = FailbackReplicationError' "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT"++pattern FailbackReplicationError_FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION = FailbackReplicationError' "FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION"++pattern FailbackReplicationError_FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION = FailbackReplicationError' "FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION"++pattern FailbackReplicationError_FAILED_TO_LAUNCH_REPLICATION_SERVER :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_LAUNCH_REPLICATION_SERVER = FailbackReplicationError' "FAILED_TO_LAUNCH_REPLICATION_SERVER"++pattern FailbackReplicationError_FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE = FailbackReplicationError' "FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE"++pattern FailbackReplicationError_FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT = FailbackReplicationError' "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT"++pattern FailbackReplicationError_FAILED_TO_START_DATA_TRANSFER :: FailbackReplicationError+pattern FailbackReplicationError_FAILED_TO_START_DATA_TRANSFER = FailbackReplicationError' "FAILED_TO_START_DATA_TRANSFER"++pattern FailbackReplicationError_NOT_CONVERGING :: FailbackReplicationError+pattern FailbackReplicationError_NOT_CONVERGING = FailbackReplicationError' "NOT_CONVERGING"++pattern FailbackReplicationError_SNAPSHOTS_FAILURE :: FailbackReplicationError+pattern FailbackReplicationError_SNAPSHOTS_FAILURE = FailbackReplicationError' "SNAPSHOTS_FAILURE"++pattern FailbackReplicationError_UNSTABLE_NETWORK :: FailbackReplicationError+pattern FailbackReplicationError_UNSTABLE_NETWORK = FailbackReplicationError' "UNSTABLE_NETWORK"++{-# COMPLETE+ FailbackReplicationError_AGENT_NOT_SEEN,+ FailbackReplicationError_FAILBACK_CLIENT_NOT_SEEN,+ FailbackReplicationError_FAILED_GETTING_REPLICATION_STATE,+ FailbackReplicationError_FAILED_TO_ATTACH_STAGING_DISKS,+ FailbackReplicationError_FAILED_TO_AUTHENTICATE_WITH_SERVICE,+ FailbackReplicationError_FAILED_TO_BOOT_REPLICATION_SERVER,+ FailbackReplicationError_FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE,+ FailbackReplicationError_FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER,+ FailbackReplicationError_FAILED_TO_CREATE_SECURITY_GROUP,+ FailbackReplicationError_FAILED_TO_CREATE_STAGING_DISKS,+ FailbackReplicationError_FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE,+ FailbackReplicationError_FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT,+ FailbackReplicationError_FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION,+ FailbackReplicationError_FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION,+ FailbackReplicationError_FAILED_TO_LAUNCH_REPLICATION_SERVER,+ FailbackReplicationError_FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE,+ FailbackReplicationError_FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT,+ FailbackReplicationError_FAILED_TO_START_DATA_TRANSFER,+ FailbackReplicationError_NOT_CONVERGING,+ FailbackReplicationError_SNAPSHOTS_FAILURE,+ FailbackReplicationError_UNSTABLE_NETWORK,+ FailbackReplicationError'+ #-}
+ gen/Amazonka/DrS/Types/FailbackState.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.FailbackState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.FailbackState+ ( FailbackState+ ( ..,+ FailbackState_FAILBACK_COMPLETED,+ FailbackState_FAILBACK_ERROR,+ FailbackState_FAILBACK_IN_PROGRESS,+ FailbackState_FAILBACK_LAUNCH_STATE_NOT_AVAILABLE,+ FailbackState_FAILBACK_NOT_READY_FOR_LAUNCH,+ FailbackState_FAILBACK_NOT_STARTED,+ FailbackState_FAILBACK_READY_FOR_LAUNCH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FailbackState = FailbackState'+ { fromFailbackState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern FailbackState_FAILBACK_COMPLETED :: FailbackState+pattern FailbackState_FAILBACK_COMPLETED = FailbackState' "FAILBACK_COMPLETED"++pattern FailbackState_FAILBACK_ERROR :: FailbackState+pattern FailbackState_FAILBACK_ERROR = FailbackState' "FAILBACK_ERROR"++pattern FailbackState_FAILBACK_IN_PROGRESS :: FailbackState+pattern FailbackState_FAILBACK_IN_PROGRESS = FailbackState' "FAILBACK_IN_PROGRESS"++pattern FailbackState_FAILBACK_LAUNCH_STATE_NOT_AVAILABLE :: FailbackState+pattern FailbackState_FAILBACK_LAUNCH_STATE_NOT_AVAILABLE = FailbackState' "FAILBACK_LAUNCH_STATE_NOT_AVAILABLE"++pattern FailbackState_FAILBACK_NOT_READY_FOR_LAUNCH :: FailbackState+pattern FailbackState_FAILBACK_NOT_READY_FOR_LAUNCH = FailbackState' "FAILBACK_NOT_READY_FOR_LAUNCH"++pattern FailbackState_FAILBACK_NOT_STARTED :: FailbackState+pattern FailbackState_FAILBACK_NOT_STARTED = FailbackState' "FAILBACK_NOT_STARTED"++pattern FailbackState_FAILBACK_READY_FOR_LAUNCH :: FailbackState+pattern FailbackState_FAILBACK_READY_FOR_LAUNCH = FailbackState' "FAILBACK_READY_FOR_LAUNCH"++{-# COMPLETE+ FailbackState_FAILBACK_COMPLETED,+ FailbackState_FAILBACK_ERROR,+ FailbackState_FAILBACK_IN_PROGRESS,+ FailbackState_FAILBACK_LAUNCH_STATE_NOT_AVAILABLE,+ FailbackState_FAILBACK_NOT_READY_FOR_LAUNCH,+ FailbackState_FAILBACK_NOT_STARTED,+ FailbackState_FAILBACK_READY_FOR_LAUNCH,+ FailbackState'+ #-}
+ gen/Amazonka/DrS/Types/IdentificationHints.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.IdentificationHints+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.IdentificationHints where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Hints used to uniquely identify a machine.+--+-- /See:/ 'newIdentificationHints' smart constructor.+data IdentificationHints = IdentificationHints'+ { -- | AWS Instance ID identification hint.+ awsInstanceID :: Prelude.Maybe Prelude.Text,+ -- | Fully Qualified Domain Name identification hint.+ fqdn :: Prelude.Maybe Prelude.Text,+ -- | Hostname identification hint.+ hostname :: Prelude.Maybe Prelude.Text,+ -- | vCenter VM path identification hint.+ vmWareUuid :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IdentificationHints' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsInstanceID', 'identificationHints_awsInstanceID' - AWS Instance ID identification hint.+--+-- 'fqdn', 'identificationHints_fqdn' - Fully Qualified Domain Name identification hint.+--+-- 'hostname', 'identificationHints_hostname' - Hostname identification hint.+--+-- 'vmWareUuid', 'identificationHints_vmWareUuid' - vCenter VM path identification hint.+newIdentificationHints ::+ IdentificationHints+newIdentificationHints =+ IdentificationHints'+ { awsInstanceID =+ Prelude.Nothing,+ fqdn = Prelude.Nothing,+ hostname = Prelude.Nothing,+ vmWareUuid = Prelude.Nothing+ }++-- | AWS Instance ID identification hint.+identificationHints_awsInstanceID :: Lens.Lens' IdentificationHints (Prelude.Maybe Prelude.Text)+identificationHints_awsInstanceID = Lens.lens (\IdentificationHints' {awsInstanceID} -> awsInstanceID) (\s@IdentificationHints' {} a -> s {awsInstanceID = a} :: IdentificationHints)++-- | Fully Qualified Domain Name identification hint.+identificationHints_fqdn :: Lens.Lens' IdentificationHints (Prelude.Maybe Prelude.Text)+identificationHints_fqdn = Lens.lens (\IdentificationHints' {fqdn} -> fqdn) (\s@IdentificationHints' {} a -> s {fqdn = a} :: IdentificationHints)++-- | Hostname identification hint.+identificationHints_hostname :: Lens.Lens' IdentificationHints (Prelude.Maybe Prelude.Text)+identificationHints_hostname = Lens.lens (\IdentificationHints' {hostname} -> hostname) (\s@IdentificationHints' {} a -> s {hostname = a} :: IdentificationHints)++-- | vCenter VM path identification hint.+identificationHints_vmWareUuid :: Lens.Lens' IdentificationHints (Prelude.Maybe Prelude.Text)+identificationHints_vmWareUuid = Lens.lens (\IdentificationHints' {vmWareUuid} -> vmWareUuid) (\s@IdentificationHints' {} a -> s {vmWareUuid = a} :: IdentificationHints)++instance Data.FromJSON IdentificationHints where+ parseJSON =+ Data.withObject+ "IdentificationHints"+ ( \x ->+ IdentificationHints'+ Prelude.<$> (x Data..:? "awsInstanceID")+ Prelude.<*> (x Data..:? "fqdn")+ Prelude.<*> (x Data..:? "hostname")+ Prelude.<*> (x Data..:? "vmWareUuid")+ )++instance Prelude.Hashable IdentificationHints where+ hashWithSalt _salt IdentificationHints' {..} =+ _salt+ `Prelude.hashWithSalt` awsInstanceID+ `Prelude.hashWithSalt` fqdn+ `Prelude.hashWithSalt` hostname+ `Prelude.hashWithSalt` vmWareUuid++instance Prelude.NFData IdentificationHints where+ rnf IdentificationHints' {..} =+ Prelude.rnf awsInstanceID+ `Prelude.seq` Prelude.rnf fqdn+ `Prelude.seq` Prelude.rnf hostname+ `Prelude.seq` Prelude.rnf vmWareUuid
+ gen/Amazonka/DrS/Types/InitiatedBy.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.InitiatedBy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.InitiatedBy+ ( InitiatedBy+ ( ..,+ InitiatedBy_DIAGNOSTIC,+ InitiatedBy_FAILBACK,+ InitiatedBy_START_DRILL,+ InitiatedBy_START_RECOVERY,+ InitiatedBy_TARGET_ACCOUNT,+ InitiatedBy_TERMINATE_RECOVERY_INSTANCES+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype InitiatedBy = InitiatedBy'+ { fromInitiatedBy ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern InitiatedBy_DIAGNOSTIC :: InitiatedBy+pattern InitiatedBy_DIAGNOSTIC = InitiatedBy' "DIAGNOSTIC"++pattern InitiatedBy_FAILBACK :: InitiatedBy+pattern InitiatedBy_FAILBACK = InitiatedBy' "FAILBACK"++pattern InitiatedBy_START_DRILL :: InitiatedBy+pattern InitiatedBy_START_DRILL = InitiatedBy' "START_DRILL"++pattern InitiatedBy_START_RECOVERY :: InitiatedBy+pattern InitiatedBy_START_RECOVERY = InitiatedBy' "START_RECOVERY"++pattern InitiatedBy_TARGET_ACCOUNT :: InitiatedBy+pattern InitiatedBy_TARGET_ACCOUNT = InitiatedBy' "TARGET_ACCOUNT"++pattern InitiatedBy_TERMINATE_RECOVERY_INSTANCES :: InitiatedBy+pattern InitiatedBy_TERMINATE_RECOVERY_INSTANCES = InitiatedBy' "TERMINATE_RECOVERY_INSTANCES"++{-# COMPLETE+ InitiatedBy_DIAGNOSTIC,+ InitiatedBy_FAILBACK,+ InitiatedBy_START_DRILL,+ InitiatedBy_START_RECOVERY,+ InitiatedBy_TARGET_ACCOUNT,+ InitiatedBy_TERMINATE_RECOVERY_INSTANCES,+ InitiatedBy'+ #-}
+ gen/Amazonka/DrS/Types/Job.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.Job+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.Job where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.InitiatedBy+import Amazonka.DrS.Types.JobStatus+import Amazonka.DrS.Types.JobType+import Amazonka.DrS.Types.ParticipatingServer+import qualified Amazonka.Prelude as Prelude++-- | A job is an asynchronous workflow.+--+-- /See:/ 'newJob' smart constructor.+data Job = Job'+ { -- | The ARN of a Job.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time of when the Job was created.+ creationDateTime :: Prelude.Maybe Prelude.Text,+ -- | The date and time of when the Job ended.+ endDateTime :: Prelude.Maybe Prelude.Text,+ -- | A string representing who initiated the Job.+ initiatedBy :: Prelude.Maybe InitiatedBy,+ -- | A list of servers that the Job is acting upon.+ participatingServers :: Prelude.Maybe [ParticipatingServer],+ -- | The status of the Job.+ status :: Prelude.Maybe JobStatus,+ -- | A list of tags associated with the Job.+ tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The type of the Job.+ type' :: Prelude.Maybe JobType,+ -- | The ID of the Job.+ jobID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Job' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'job_arn' - The ARN of a Job.+--+-- 'creationDateTime', 'job_creationDateTime' - The date and time of when the Job was created.+--+-- 'endDateTime', 'job_endDateTime' - The date and time of when the Job ended.+--+-- 'initiatedBy', 'job_initiatedBy' - A string representing who initiated the Job.+--+-- 'participatingServers', 'job_participatingServers' - A list of servers that the Job is acting upon.+--+-- 'status', 'job_status' - The status of the Job.+--+-- 'tags', 'job_tags' - A list of tags associated with the Job.+--+-- 'type'', 'job_type' - The type of the Job.+--+-- 'jobID', 'job_jobID' - The ID of the Job.+newJob ::+ -- | 'jobID'+ Prelude.Text ->+ Job+newJob pJobID_ =+ Job'+ { arn = Prelude.Nothing,+ creationDateTime = Prelude.Nothing,+ endDateTime = Prelude.Nothing,+ initiatedBy = Prelude.Nothing,+ participatingServers = Prelude.Nothing,+ status = Prelude.Nothing,+ tags = Prelude.Nothing,+ type' = Prelude.Nothing,+ jobID = pJobID_+ }++-- | The ARN of a Job.+job_arn :: Lens.Lens' Job (Prelude.Maybe Prelude.Text)+job_arn = Lens.lens (\Job' {arn} -> arn) (\s@Job' {} a -> s {arn = a} :: Job)++-- | The date and time of when the Job was created.+job_creationDateTime :: Lens.Lens' Job (Prelude.Maybe Prelude.Text)+job_creationDateTime = Lens.lens (\Job' {creationDateTime} -> creationDateTime) (\s@Job' {} a -> s {creationDateTime = a} :: Job)++-- | The date and time of when the Job ended.+job_endDateTime :: Lens.Lens' Job (Prelude.Maybe Prelude.Text)+job_endDateTime = Lens.lens (\Job' {endDateTime} -> endDateTime) (\s@Job' {} a -> s {endDateTime = a} :: Job)++-- | A string representing who initiated the Job.+job_initiatedBy :: Lens.Lens' Job (Prelude.Maybe InitiatedBy)+job_initiatedBy = Lens.lens (\Job' {initiatedBy} -> initiatedBy) (\s@Job' {} a -> s {initiatedBy = a} :: Job)++-- | A list of servers that the Job is acting upon.+job_participatingServers :: Lens.Lens' Job (Prelude.Maybe [ParticipatingServer])+job_participatingServers = Lens.lens (\Job' {participatingServers} -> participatingServers) (\s@Job' {} a -> s {participatingServers = a} :: Job) Prelude.. Lens.mapping Lens.coerced++-- | The status of the Job.+job_status :: Lens.Lens' Job (Prelude.Maybe JobStatus)+job_status = Lens.lens (\Job' {status} -> status) (\s@Job' {} a -> s {status = a} :: Job)++-- | A list of tags associated with the Job.+job_tags :: Lens.Lens' Job (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+job_tags = Lens.lens (\Job' {tags} -> tags) (\s@Job' {} a -> s {tags = a} :: Job) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The type of the Job.+job_type :: Lens.Lens' Job (Prelude.Maybe JobType)+job_type = Lens.lens (\Job' {type'} -> type') (\s@Job' {} a -> s {type' = a} :: Job)++-- | The ID of the Job.+job_jobID :: Lens.Lens' Job Prelude.Text+job_jobID = Lens.lens (\Job' {jobID} -> jobID) (\s@Job' {} a -> s {jobID = a} :: Job)++instance Data.FromJSON Job where+ parseJSON =+ Data.withObject+ "Job"+ ( \x ->+ Job'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "creationDateTime")+ Prelude.<*> (x Data..:? "endDateTime")+ Prelude.<*> (x Data..:? "initiatedBy")+ Prelude.<*> ( x+ Data..:? "participatingServers"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "type")+ Prelude.<*> (x Data..: "jobID")+ )++instance Prelude.Hashable Job where+ hashWithSalt _salt Job' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationDateTime+ `Prelude.hashWithSalt` endDateTime+ `Prelude.hashWithSalt` initiatedBy+ `Prelude.hashWithSalt` participatingServers+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` jobID++instance Prelude.NFData Job where+ rnf Job' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationDateTime+ `Prelude.seq` Prelude.rnf endDateTime+ `Prelude.seq` Prelude.rnf initiatedBy+ `Prelude.seq` Prelude.rnf participatingServers+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf jobID
+ gen/Amazonka/DrS/Types/JobLog.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.JobLog+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.JobLog where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.JobLogEvent+import Amazonka.DrS.Types.JobLogEventData+import qualified Amazonka.Prelude as Prelude++-- | A log outputted by a Job.+--+-- /See:/ 'newJobLog' smart constructor.+data JobLog = JobLog'+ { -- | The event represents the type of a log.+ event :: Prelude.Maybe JobLogEvent,+ -- | Metadata associated with a Job log.+ eventData :: Prelude.Maybe JobLogEventData,+ -- | The date and time the log was taken.+ logDateTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobLog' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'event', 'jobLog_event' - The event represents the type of a log.+--+-- 'eventData', 'jobLog_eventData' - Metadata associated with a Job log.+--+-- 'logDateTime', 'jobLog_logDateTime' - The date and time the log was taken.+newJobLog ::+ JobLog+newJobLog =+ JobLog'+ { event = Prelude.Nothing,+ eventData = Prelude.Nothing,+ logDateTime = Prelude.Nothing+ }++-- | The event represents the type of a log.+jobLog_event :: Lens.Lens' JobLog (Prelude.Maybe JobLogEvent)+jobLog_event = Lens.lens (\JobLog' {event} -> event) (\s@JobLog' {} a -> s {event = a} :: JobLog)++-- | Metadata associated with a Job log.+jobLog_eventData :: Lens.Lens' JobLog (Prelude.Maybe JobLogEventData)+jobLog_eventData = Lens.lens (\JobLog' {eventData} -> eventData) (\s@JobLog' {} a -> s {eventData = a} :: JobLog)++-- | The date and time the log was taken.+jobLog_logDateTime :: Lens.Lens' JobLog (Prelude.Maybe Prelude.Text)+jobLog_logDateTime = Lens.lens (\JobLog' {logDateTime} -> logDateTime) (\s@JobLog' {} a -> s {logDateTime = a} :: JobLog)++instance Data.FromJSON JobLog where+ parseJSON =+ Data.withObject+ "JobLog"+ ( \x ->+ JobLog'+ Prelude.<$> (x Data..:? "event")+ Prelude.<*> (x Data..:? "eventData")+ Prelude.<*> (x Data..:? "logDateTime")+ )++instance Prelude.Hashable JobLog where+ hashWithSalt _salt JobLog' {..} =+ _salt+ `Prelude.hashWithSalt` event+ `Prelude.hashWithSalt` eventData+ `Prelude.hashWithSalt` logDateTime++instance Prelude.NFData JobLog where+ rnf JobLog' {..} =+ Prelude.rnf event+ `Prelude.seq` Prelude.rnf eventData+ `Prelude.seq` Prelude.rnf logDateTime
+ gen/Amazonka/DrS/Types/JobLogEvent.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.JobLogEvent+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.JobLogEvent+ ( JobLogEvent+ ( ..,+ JobLogEvent_CLEANUP_END,+ JobLogEvent_CLEANUP_FAIL,+ JobLogEvent_CLEANUP_START,+ JobLogEvent_CONVERSION_END,+ JobLogEvent_CONVERSION_FAIL,+ JobLogEvent_CONVERSION_START,+ JobLogEvent_JOB_CANCEL,+ JobLogEvent_JOB_END,+ JobLogEvent_JOB_START,+ JobLogEvent_LAUNCH_FAILED,+ JobLogEvent_LAUNCH_START,+ JobLogEvent_SERVER_SKIPPED,+ JobLogEvent_SNAPSHOT_END,+ JobLogEvent_SNAPSHOT_FAIL,+ JobLogEvent_SNAPSHOT_START,+ JobLogEvent_USING_PREVIOUS_SNAPSHOT,+ JobLogEvent_USING_PREVIOUS_SNAPSHOT_FAILED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype JobLogEvent = JobLogEvent'+ { fromJobLogEvent ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern JobLogEvent_CLEANUP_END :: JobLogEvent+pattern JobLogEvent_CLEANUP_END = JobLogEvent' "CLEANUP_END"++pattern JobLogEvent_CLEANUP_FAIL :: JobLogEvent+pattern JobLogEvent_CLEANUP_FAIL = JobLogEvent' "CLEANUP_FAIL"++pattern JobLogEvent_CLEANUP_START :: JobLogEvent+pattern JobLogEvent_CLEANUP_START = JobLogEvent' "CLEANUP_START"++pattern JobLogEvent_CONVERSION_END :: JobLogEvent+pattern JobLogEvent_CONVERSION_END = JobLogEvent' "CONVERSION_END"++pattern JobLogEvent_CONVERSION_FAIL :: JobLogEvent+pattern JobLogEvent_CONVERSION_FAIL = JobLogEvent' "CONVERSION_FAIL"++pattern JobLogEvent_CONVERSION_START :: JobLogEvent+pattern JobLogEvent_CONVERSION_START = JobLogEvent' "CONVERSION_START"++pattern JobLogEvent_JOB_CANCEL :: JobLogEvent+pattern JobLogEvent_JOB_CANCEL = JobLogEvent' "JOB_CANCEL"++pattern JobLogEvent_JOB_END :: JobLogEvent+pattern JobLogEvent_JOB_END = JobLogEvent' "JOB_END"++pattern JobLogEvent_JOB_START :: JobLogEvent+pattern JobLogEvent_JOB_START = JobLogEvent' "JOB_START"++pattern JobLogEvent_LAUNCH_FAILED :: JobLogEvent+pattern JobLogEvent_LAUNCH_FAILED = JobLogEvent' "LAUNCH_FAILED"++pattern JobLogEvent_LAUNCH_START :: JobLogEvent+pattern JobLogEvent_LAUNCH_START = JobLogEvent' "LAUNCH_START"++pattern JobLogEvent_SERVER_SKIPPED :: JobLogEvent+pattern JobLogEvent_SERVER_SKIPPED = JobLogEvent' "SERVER_SKIPPED"++pattern JobLogEvent_SNAPSHOT_END :: JobLogEvent+pattern JobLogEvent_SNAPSHOT_END = JobLogEvent' "SNAPSHOT_END"++pattern JobLogEvent_SNAPSHOT_FAIL :: JobLogEvent+pattern JobLogEvent_SNAPSHOT_FAIL = JobLogEvent' "SNAPSHOT_FAIL"++pattern JobLogEvent_SNAPSHOT_START :: JobLogEvent+pattern JobLogEvent_SNAPSHOT_START = JobLogEvent' "SNAPSHOT_START"++pattern JobLogEvent_USING_PREVIOUS_SNAPSHOT :: JobLogEvent+pattern JobLogEvent_USING_PREVIOUS_SNAPSHOT = JobLogEvent' "USING_PREVIOUS_SNAPSHOT"++pattern JobLogEvent_USING_PREVIOUS_SNAPSHOT_FAILED :: JobLogEvent+pattern JobLogEvent_USING_PREVIOUS_SNAPSHOT_FAILED = JobLogEvent' "USING_PREVIOUS_SNAPSHOT_FAILED"++{-# COMPLETE+ JobLogEvent_CLEANUP_END,+ JobLogEvent_CLEANUP_FAIL,+ JobLogEvent_CLEANUP_START,+ JobLogEvent_CONVERSION_END,+ JobLogEvent_CONVERSION_FAIL,+ JobLogEvent_CONVERSION_START,+ JobLogEvent_JOB_CANCEL,+ JobLogEvent_JOB_END,+ JobLogEvent_JOB_START,+ JobLogEvent_LAUNCH_FAILED,+ JobLogEvent_LAUNCH_START,+ JobLogEvent_SERVER_SKIPPED,+ JobLogEvent_SNAPSHOT_END,+ JobLogEvent_SNAPSHOT_FAIL,+ JobLogEvent_SNAPSHOT_START,+ JobLogEvent_USING_PREVIOUS_SNAPSHOT,+ JobLogEvent_USING_PREVIOUS_SNAPSHOT_FAILED,+ JobLogEvent'+ #-}
+ gen/Amazonka/DrS/Types/JobLogEventData.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.JobLogEventData+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.JobLogEventData where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.ConversionProperties+import qualified Amazonka.Prelude as Prelude++-- | Metadata associated with a Job log.+--+-- /See:/ 'newJobLogEventData' smart constructor.+data JobLogEventData = JobLogEventData'+ { -- | Properties of a conversion job+ conversionProperties :: Prelude.Maybe ConversionProperties,+ -- | The ID of a conversion server.+ conversionServerID :: Prelude.Maybe Prelude.Text,+ -- | A string representing a job error.+ rawError :: Prelude.Maybe Prelude.Text,+ -- | The ID of a Source Server.+ sourceServerID :: Prelude.Maybe Prelude.Text,+ -- | The ID of a Recovery Instance.+ targetInstanceID :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobLogEventData' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'conversionProperties', 'jobLogEventData_conversionProperties' - Properties of a conversion job+--+-- 'conversionServerID', 'jobLogEventData_conversionServerID' - The ID of a conversion server.+--+-- 'rawError', 'jobLogEventData_rawError' - A string representing a job error.+--+-- 'sourceServerID', 'jobLogEventData_sourceServerID' - The ID of a Source Server.+--+-- 'targetInstanceID', 'jobLogEventData_targetInstanceID' - The ID of a Recovery Instance.+newJobLogEventData ::+ JobLogEventData+newJobLogEventData =+ JobLogEventData'+ { conversionProperties =+ Prelude.Nothing,+ conversionServerID = Prelude.Nothing,+ rawError = Prelude.Nothing,+ sourceServerID = Prelude.Nothing,+ targetInstanceID = Prelude.Nothing+ }++-- | Properties of a conversion job+jobLogEventData_conversionProperties :: Lens.Lens' JobLogEventData (Prelude.Maybe ConversionProperties)+jobLogEventData_conversionProperties = Lens.lens (\JobLogEventData' {conversionProperties} -> conversionProperties) (\s@JobLogEventData' {} a -> s {conversionProperties = a} :: JobLogEventData)++-- | The ID of a conversion server.+jobLogEventData_conversionServerID :: Lens.Lens' JobLogEventData (Prelude.Maybe Prelude.Text)+jobLogEventData_conversionServerID = Lens.lens (\JobLogEventData' {conversionServerID} -> conversionServerID) (\s@JobLogEventData' {} a -> s {conversionServerID = a} :: JobLogEventData)++-- | A string representing a job error.+jobLogEventData_rawError :: Lens.Lens' JobLogEventData (Prelude.Maybe Prelude.Text)+jobLogEventData_rawError = Lens.lens (\JobLogEventData' {rawError} -> rawError) (\s@JobLogEventData' {} a -> s {rawError = a} :: JobLogEventData)++-- | The ID of a Source Server.+jobLogEventData_sourceServerID :: Lens.Lens' JobLogEventData (Prelude.Maybe Prelude.Text)+jobLogEventData_sourceServerID = Lens.lens (\JobLogEventData' {sourceServerID} -> sourceServerID) (\s@JobLogEventData' {} a -> s {sourceServerID = a} :: JobLogEventData)++-- | The ID of a Recovery Instance.+jobLogEventData_targetInstanceID :: Lens.Lens' JobLogEventData (Prelude.Maybe Prelude.Text)+jobLogEventData_targetInstanceID = Lens.lens (\JobLogEventData' {targetInstanceID} -> targetInstanceID) (\s@JobLogEventData' {} a -> s {targetInstanceID = a} :: JobLogEventData)++instance Data.FromJSON JobLogEventData where+ parseJSON =+ Data.withObject+ "JobLogEventData"+ ( \x ->+ JobLogEventData'+ Prelude.<$> (x Data..:? "conversionProperties")+ Prelude.<*> (x Data..:? "conversionServerID")+ Prelude.<*> (x Data..:? "rawError")+ Prelude.<*> (x Data..:? "sourceServerID")+ Prelude.<*> (x Data..:? "targetInstanceID")+ )++instance Prelude.Hashable JobLogEventData where+ hashWithSalt _salt JobLogEventData' {..} =+ _salt+ `Prelude.hashWithSalt` conversionProperties+ `Prelude.hashWithSalt` conversionServerID+ `Prelude.hashWithSalt` rawError+ `Prelude.hashWithSalt` sourceServerID+ `Prelude.hashWithSalt` targetInstanceID++instance Prelude.NFData JobLogEventData where+ rnf JobLogEventData' {..} =+ Prelude.rnf conversionProperties+ `Prelude.seq` Prelude.rnf conversionServerID+ `Prelude.seq` Prelude.rnf rawError+ `Prelude.seq` Prelude.rnf sourceServerID+ `Prelude.seq` Prelude.rnf targetInstanceID
+ gen/Amazonka/DrS/Types/JobStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.JobStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.JobStatus+ ( JobStatus+ ( ..,+ JobStatus_COMPLETED,+ JobStatus_PENDING,+ JobStatus_STARTED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype JobStatus = JobStatus'+ { fromJobStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern JobStatus_COMPLETED :: JobStatus+pattern JobStatus_COMPLETED = JobStatus' "COMPLETED"++pattern JobStatus_PENDING :: JobStatus+pattern JobStatus_PENDING = JobStatus' "PENDING"++pattern JobStatus_STARTED :: JobStatus+pattern JobStatus_STARTED = JobStatus' "STARTED"++{-# COMPLETE+ JobStatus_COMPLETED,+ JobStatus_PENDING,+ JobStatus_STARTED,+ JobStatus'+ #-}
+ gen/Amazonka/DrS/Types/JobType.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.JobType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.JobType+ ( JobType+ ( ..,+ JobType_CREATE_CONVERTED_SNAPSHOT,+ JobType_LAUNCH,+ JobType_TERMINATE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype JobType = JobType' {fromJobType :: Data.Text}+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern JobType_CREATE_CONVERTED_SNAPSHOT :: JobType+pattern JobType_CREATE_CONVERTED_SNAPSHOT = JobType' "CREATE_CONVERTED_SNAPSHOT"++pattern JobType_LAUNCH :: JobType+pattern JobType_LAUNCH = JobType' "LAUNCH"++pattern JobType_TERMINATE :: JobType+pattern JobType_TERMINATE = JobType' "TERMINATE"++{-# COMPLETE+ JobType_CREATE_CONVERTED_SNAPSHOT,+ JobType_LAUNCH,+ JobType_TERMINATE,+ JobType'+ #-}
+ gen/Amazonka/DrS/Types/LastLaunchResult.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.LastLaunchResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.LastLaunchResult+ ( LastLaunchResult+ ( ..,+ LastLaunchResult_FAILED,+ LastLaunchResult_NOT_STARTED,+ LastLaunchResult_PENDING,+ LastLaunchResult_SUCCEEDED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LastLaunchResult = LastLaunchResult'+ { fromLastLaunchResult ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern LastLaunchResult_FAILED :: LastLaunchResult+pattern LastLaunchResult_FAILED = LastLaunchResult' "FAILED"++pattern LastLaunchResult_NOT_STARTED :: LastLaunchResult+pattern LastLaunchResult_NOT_STARTED = LastLaunchResult' "NOT_STARTED"++pattern LastLaunchResult_PENDING :: LastLaunchResult+pattern LastLaunchResult_PENDING = LastLaunchResult' "PENDING"++pattern LastLaunchResult_SUCCEEDED :: LastLaunchResult+pattern LastLaunchResult_SUCCEEDED = LastLaunchResult' "SUCCEEDED"++{-# COMPLETE+ LastLaunchResult_FAILED,+ LastLaunchResult_NOT_STARTED,+ LastLaunchResult_PENDING,+ LastLaunchResult_SUCCEEDED,+ LastLaunchResult'+ #-}
+ gen/Amazonka/DrS/Types/LastLaunchType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.LastLaunchType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.LastLaunchType+ ( LastLaunchType+ ( ..,+ LastLaunchType_DRILL,+ LastLaunchType_RECOVERY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LastLaunchType = LastLaunchType'+ { fromLastLaunchType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern LastLaunchType_DRILL :: LastLaunchType+pattern LastLaunchType_DRILL = LastLaunchType' "DRILL"++pattern LastLaunchType_RECOVERY :: LastLaunchType+pattern LastLaunchType_RECOVERY = LastLaunchType' "RECOVERY"++{-# COMPLETE+ LastLaunchType_DRILL,+ LastLaunchType_RECOVERY,+ LastLaunchType'+ #-}
+ gen/Amazonka/DrS/Types/LaunchConfiguration.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.LaunchConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.LaunchConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.LaunchDisposition+import Amazonka.DrS.Types.Licensing+import Amazonka.DrS.Types.TargetInstanceTypeRightSizingMethod+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newLaunchConfiguration' smart constructor.+data LaunchConfiguration = LaunchConfiguration'+ { -- | Whether we should copy the Private IP of the Source Server to the+ -- Recovery Instance.+ copyPrivateIp :: Prelude.Maybe Prelude.Bool,+ -- | Whether we want to copy the tags of the Source Server to the EC2 machine+ -- of the Recovery Instance.+ copyTags :: Prelude.Maybe Prelude.Bool,+ -- | The EC2 launch template ID of this launch configuration.+ ec2LaunchTemplateID :: Prelude.Maybe Prelude.Text,+ -- | The state of the Recovery Instance in EC2 after the recovery operation.+ launchDisposition :: Prelude.Maybe LaunchDisposition,+ -- | The licensing configuration to be used for this launch configuration.+ licensing :: Prelude.Maybe Licensing,+ -- | The name of the launch configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Source Server for this launch configuration.+ sourceServerID :: Prelude.Maybe Prelude.Text,+ -- | Whether Elastic Disaster Recovery should try to automatically choose the+ -- instance type that best matches the OS, CPU, and RAM of your Source+ -- Server.+ targetInstanceTypeRightSizingMethod :: Prelude.Maybe TargetInstanceTypeRightSizingMethod+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LaunchConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copyPrivateIp', 'launchConfiguration_copyPrivateIp' - Whether we should copy the Private IP of the Source Server to the+-- Recovery Instance.+--+-- 'copyTags', 'launchConfiguration_copyTags' - Whether we want to copy the tags of the Source Server to the EC2 machine+-- of the Recovery Instance.+--+-- 'ec2LaunchTemplateID', 'launchConfiguration_ec2LaunchTemplateID' - The EC2 launch template ID of this launch configuration.+--+-- 'launchDisposition', 'launchConfiguration_launchDisposition' - The state of the Recovery Instance in EC2 after the recovery operation.+--+-- 'licensing', 'launchConfiguration_licensing' - The licensing configuration to be used for this launch configuration.+--+-- 'name', 'launchConfiguration_name' - The name of the launch configuration.+--+-- 'sourceServerID', 'launchConfiguration_sourceServerID' - The ID of the Source Server for this launch configuration.+--+-- 'targetInstanceTypeRightSizingMethod', 'launchConfiguration_targetInstanceTypeRightSizingMethod' - Whether Elastic Disaster Recovery should try to automatically choose the+-- instance type that best matches the OS, CPU, and RAM of your Source+-- Server.+newLaunchConfiguration ::+ LaunchConfiguration+newLaunchConfiguration =+ LaunchConfiguration'+ { copyPrivateIp =+ Prelude.Nothing,+ copyTags = Prelude.Nothing,+ ec2LaunchTemplateID = Prelude.Nothing,+ launchDisposition = Prelude.Nothing,+ licensing = Prelude.Nothing,+ name = Prelude.Nothing,+ sourceServerID = Prelude.Nothing,+ targetInstanceTypeRightSizingMethod =+ Prelude.Nothing+ }++-- | Whether we should copy the Private IP of the Source Server to the+-- Recovery Instance.+launchConfiguration_copyPrivateIp :: Lens.Lens' LaunchConfiguration (Prelude.Maybe Prelude.Bool)+launchConfiguration_copyPrivateIp = Lens.lens (\LaunchConfiguration' {copyPrivateIp} -> copyPrivateIp) (\s@LaunchConfiguration' {} a -> s {copyPrivateIp = a} :: LaunchConfiguration)++-- | Whether we want to copy the tags of the Source Server to the EC2 machine+-- of the Recovery Instance.+launchConfiguration_copyTags :: Lens.Lens' LaunchConfiguration (Prelude.Maybe Prelude.Bool)+launchConfiguration_copyTags = Lens.lens (\LaunchConfiguration' {copyTags} -> copyTags) (\s@LaunchConfiguration' {} a -> s {copyTags = a} :: LaunchConfiguration)++-- | The EC2 launch template ID of this launch configuration.+launchConfiguration_ec2LaunchTemplateID :: Lens.Lens' LaunchConfiguration (Prelude.Maybe Prelude.Text)+launchConfiguration_ec2LaunchTemplateID = Lens.lens (\LaunchConfiguration' {ec2LaunchTemplateID} -> ec2LaunchTemplateID) (\s@LaunchConfiguration' {} a -> s {ec2LaunchTemplateID = a} :: LaunchConfiguration)++-- | The state of the Recovery Instance in EC2 after the recovery operation.+launchConfiguration_launchDisposition :: Lens.Lens' LaunchConfiguration (Prelude.Maybe LaunchDisposition)+launchConfiguration_launchDisposition = Lens.lens (\LaunchConfiguration' {launchDisposition} -> launchDisposition) (\s@LaunchConfiguration' {} a -> s {launchDisposition = a} :: LaunchConfiguration)++-- | The licensing configuration to be used for this launch configuration.+launchConfiguration_licensing :: Lens.Lens' LaunchConfiguration (Prelude.Maybe Licensing)+launchConfiguration_licensing = Lens.lens (\LaunchConfiguration' {licensing} -> licensing) (\s@LaunchConfiguration' {} a -> s {licensing = a} :: LaunchConfiguration)++-- | The name of the launch configuration.+launchConfiguration_name :: Lens.Lens' LaunchConfiguration (Prelude.Maybe Prelude.Text)+launchConfiguration_name = Lens.lens (\LaunchConfiguration' {name} -> name) (\s@LaunchConfiguration' {} a -> s {name = a} :: LaunchConfiguration)++-- | The ID of the Source Server for this launch configuration.+launchConfiguration_sourceServerID :: Lens.Lens' LaunchConfiguration (Prelude.Maybe Prelude.Text)+launchConfiguration_sourceServerID = Lens.lens (\LaunchConfiguration' {sourceServerID} -> sourceServerID) (\s@LaunchConfiguration' {} a -> s {sourceServerID = a} :: LaunchConfiguration)++-- | Whether Elastic Disaster Recovery should try to automatically choose the+-- instance type that best matches the OS, CPU, and RAM of your Source+-- Server.+launchConfiguration_targetInstanceTypeRightSizingMethod :: Lens.Lens' LaunchConfiguration (Prelude.Maybe TargetInstanceTypeRightSizingMethod)+launchConfiguration_targetInstanceTypeRightSizingMethod = Lens.lens (\LaunchConfiguration' {targetInstanceTypeRightSizingMethod} -> targetInstanceTypeRightSizingMethod) (\s@LaunchConfiguration' {} a -> s {targetInstanceTypeRightSizingMethod = a} :: LaunchConfiguration)++instance Data.FromJSON LaunchConfiguration where+ parseJSON =+ Data.withObject+ "LaunchConfiguration"+ ( \x ->+ LaunchConfiguration'+ Prelude.<$> (x Data..:? "copyPrivateIp")+ Prelude.<*> (x Data..:? "copyTags")+ Prelude.<*> (x Data..:? "ec2LaunchTemplateID")+ Prelude.<*> (x Data..:? "launchDisposition")+ Prelude.<*> (x Data..:? "licensing")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "sourceServerID")+ Prelude.<*> (x Data..:? "targetInstanceTypeRightSizingMethod")+ )++instance Prelude.Hashable LaunchConfiguration where+ hashWithSalt _salt LaunchConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` copyPrivateIp+ `Prelude.hashWithSalt` copyTags+ `Prelude.hashWithSalt` ec2LaunchTemplateID+ `Prelude.hashWithSalt` launchDisposition+ `Prelude.hashWithSalt` licensing+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` sourceServerID+ `Prelude.hashWithSalt` targetInstanceTypeRightSizingMethod++instance Prelude.NFData LaunchConfiguration where+ rnf LaunchConfiguration' {..} =+ Prelude.rnf copyPrivateIp+ `Prelude.seq` Prelude.rnf copyTags+ `Prelude.seq` Prelude.rnf ec2LaunchTemplateID+ `Prelude.seq` Prelude.rnf launchDisposition+ `Prelude.seq` Prelude.rnf licensing+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf sourceServerID+ `Prelude.seq` Prelude.rnf targetInstanceTypeRightSizingMethod
+ gen/Amazonka/DrS/Types/LaunchDisposition.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.LaunchDisposition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.LaunchDisposition+ ( LaunchDisposition+ ( ..,+ LaunchDisposition_STARTED,+ LaunchDisposition_STOPPED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LaunchDisposition = LaunchDisposition'+ { fromLaunchDisposition ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern LaunchDisposition_STARTED :: LaunchDisposition+pattern LaunchDisposition_STARTED = LaunchDisposition' "STARTED"++pattern LaunchDisposition_STOPPED :: LaunchDisposition+pattern LaunchDisposition_STOPPED = LaunchDisposition' "STOPPED"++{-# COMPLETE+ LaunchDisposition_STARTED,+ LaunchDisposition_STOPPED,+ LaunchDisposition'+ #-}
+ gen/Amazonka/DrS/Types/LaunchStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.LaunchStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.LaunchStatus+ ( LaunchStatus+ ( ..,+ LaunchStatus_FAILED,+ LaunchStatus_IN_PROGRESS,+ LaunchStatus_LAUNCHED,+ LaunchStatus_PENDING,+ LaunchStatus_TERMINATED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LaunchStatus = LaunchStatus'+ { fromLaunchStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern LaunchStatus_FAILED :: LaunchStatus+pattern LaunchStatus_FAILED = LaunchStatus' "FAILED"++pattern LaunchStatus_IN_PROGRESS :: LaunchStatus+pattern LaunchStatus_IN_PROGRESS = LaunchStatus' "IN_PROGRESS"++pattern LaunchStatus_LAUNCHED :: LaunchStatus+pattern LaunchStatus_LAUNCHED = LaunchStatus' "LAUNCHED"++pattern LaunchStatus_PENDING :: LaunchStatus+pattern LaunchStatus_PENDING = LaunchStatus' "PENDING"++pattern LaunchStatus_TERMINATED :: LaunchStatus+pattern LaunchStatus_TERMINATED = LaunchStatus' "TERMINATED"++{-# COMPLETE+ LaunchStatus_FAILED,+ LaunchStatus_IN_PROGRESS,+ LaunchStatus_LAUNCHED,+ LaunchStatus_PENDING,+ LaunchStatus_TERMINATED,+ LaunchStatus'+ #-}
+ gen/Amazonka/DrS/Types/Licensing.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.Licensing+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.Licensing where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Configuration of a machine\'s license.+--+-- /See:/ 'newLicensing' smart constructor.+data Licensing = Licensing'+ { -- | Whether to enable \"Bring your own license\" or not.+ osByol :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Licensing' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'osByol', 'licensing_osByol' - Whether to enable \"Bring your own license\" or not.+newLicensing ::+ Licensing+newLicensing = Licensing' {osByol = Prelude.Nothing}++-- | Whether to enable \"Bring your own license\" or not.+licensing_osByol :: Lens.Lens' Licensing (Prelude.Maybe Prelude.Bool)+licensing_osByol = Lens.lens (\Licensing' {osByol} -> osByol) (\s@Licensing' {} a -> s {osByol = a} :: Licensing)++instance Data.FromJSON Licensing where+ parseJSON =+ Data.withObject+ "Licensing"+ (\x -> Licensing' Prelude.<$> (x Data..:? "osByol"))++instance Prelude.Hashable Licensing where+ hashWithSalt _salt Licensing' {..} =+ _salt `Prelude.hashWithSalt` osByol++instance Prelude.NFData Licensing where+ rnf Licensing' {..} = Prelude.rnf osByol++instance Data.ToJSON Licensing where+ toJSON Licensing' {..} =+ Data.object+ ( Prelude.catMaybes+ [("osByol" Data..=) Prelude.<$> osByol]+ )
+ gen/Amazonka/DrS/Types/LifeCycle.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.LifeCycle+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.LifeCycle where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.LifeCycleLastLaunch+import qualified Amazonka.Prelude as Prelude++-- | An object representing the Source Server Lifecycle.+--+-- /See:/ 'newLifeCycle' smart constructor.+data LifeCycle = LifeCycle'+ { -- | The date and time of when the Source Server was added to the service.+ addedToServiceDateTime :: Prelude.Maybe Prelude.Text,+ -- | The amount of time that the Source Server has been replicating for.+ elapsedReplicationDuration :: Prelude.Maybe Prelude.Text,+ -- | The date and time of the first byte that was replicated from the Source+ -- Server.+ firstByteDateTime :: Prelude.Maybe Prelude.Text,+ -- | An object containing information regarding the last launch of the Source+ -- Server.+ lastLaunch :: Prelude.Maybe LifeCycleLastLaunch,+ -- | The date and time this Source Server was last seen by the service.+ lastSeenByServiceDateTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LifeCycle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'addedToServiceDateTime', 'lifeCycle_addedToServiceDateTime' - The date and time of when the Source Server was added to the service.+--+-- 'elapsedReplicationDuration', 'lifeCycle_elapsedReplicationDuration' - The amount of time that the Source Server has been replicating for.+--+-- 'firstByteDateTime', 'lifeCycle_firstByteDateTime' - The date and time of the first byte that was replicated from the Source+-- Server.+--+-- 'lastLaunch', 'lifeCycle_lastLaunch' - An object containing information regarding the last launch of the Source+-- Server.+--+-- 'lastSeenByServiceDateTime', 'lifeCycle_lastSeenByServiceDateTime' - The date and time this Source Server was last seen by the service.+newLifeCycle ::+ LifeCycle+newLifeCycle =+ LifeCycle'+ { addedToServiceDateTime =+ Prelude.Nothing,+ elapsedReplicationDuration = Prelude.Nothing,+ firstByteDateTime = Prelude.Nothing,+ lastLaunch = Prelude.Nothing,+ lastSeenByServiceDateTime = Prelude.Nothing+ }++-- | The date and time of when the Source Server was added to the service.+lifeCycle_addedToServiceDateTime :: Lens.Lens' LifeCycle (Prelude.Maybe Prelude.Text)+lifeCycle_addedToServiceDateTime = Lens.lens (\LifeCycle' {addedToServiceDateTime} -> addedToServiceDateTime) (\s@LifeCycle' {} a -> s {addedToServiceDateTime = a} :: LifeCycle)++-- | The amount of time that the Source Server has been replicating for.+lifeCycle_elapsedReplicationDuration :: Lens.Lens' LifeCycle (Prelude.Maybe Prelude.Text)+lifeCycle_elapsedReplicationDuration = Lens.lens (\LifeCycle' {elapsedReplicationDuration} -> elapsedReplicationDuration) (\s@LifeCycle' {} a -> s {elapsedReplicationDuration = a} :: LifeCycle)++-- | The date and time of the first byte that was replicated from the Source+-- Server.+lifeCycle_firstByteDateTime :: Lens.Lens' LifeCycle (Prelude.Maybe Prelude.Text)+lifeCycle_firstByteDateTime = Lens.lens (\LifeCycle' {firstByteDateTime} -> firstByteDateTime) (\s@LifeCycle' {} a -> s {firstByteDateTime = a} :: LifeCycle)++-- | An object containing information regarding the last launch of the Source+-- Server.+lifeCycle_lastLaunch :: Lens.Lens' LifeCycle (Prelude.Maybe LifeCycleLastLaunch)+lifeCycle_lastLaunch = Lens.lens (\LifeCycle' {lastLaunch} -> lastLaunch) (\s@LifeCycle' {} a -> s {lastLaunch = a} :: LifeCycle)++-- | The date and time this Source Server was last seen by the service.+lifeCycle_lastSeenByServiceDateTime :: Lens.Lens' LifeCycle (Prelude.Maybe Prelude.Text)+lifeCycle_lastSeenByServiceDateTime = Lens.lens (\LifeCycle' {lastSeenByServiceDateTime} -> lastSeenByServiceDateTime) (\s@LifeCycle' {} a -> s {lastSeenByServiceDateTime = a} :: LifeCycle)++instance Data.FromJSON LifeCycle where+ parseJSON =+ Data.withObject+ "LifeCycle"+ ( \x ->+ LifeCycle'+ Prelude.<$> (x Data..:? "addedToServiceDateTime")+ Prelude.<*> (x Data..:? "elapsedReplicationDuration")+ Prelude.<*> (x Data..:? "firstByteDateTime")+ Prelude.<*> (x Data..:? "lastLaunch")+ Prelude.<*> (x Data..:? "lastSeenByServiceDateTime")+ )++instance Prelude.Hashable LifeCycle where+ hashWithSalt _salt LifeCycle' {..} =+ _salt+ `Prelude.hashWithSalt` addedToServiceDateTime+ `Prelude.hashWithSalt` elapsedReplicationDuration+ `Prelude.hashWithSalt` firstByteDateTime+ `Prelude.hashWithSalt` lastLaunch+ `Prelude.hashWithSalt` lastSeenByServiceDateTime++instance Prelude.NFData LifeCycle where+ rnf LifeCycle' {..} =+ Prelude.rnf addedToServiceDateTime+ `Prelude.seq` Prelude.rnf elapsedReplicationDuration+ `Prelude.seq` Prelude.rnf firstByteDateTime+ `Prelude.seq` Prelude.rnf lastLaunch+ `Prelude.seq` Prelude.rnf lastSeenByServiceDateTime
+ gen/Amazonka/DrS/Types/LifeCycleLastLaunch.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.LifeCycleLastLaunch+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.LifeCycleLastLaunch where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.LifeCycleLastLaunchInitiated+import qualified Amazonka.Prelude as Prelude++-- | An object containing information regarding the last launch of a Source+-- Server.+--+-- /See:/ 'newLifeCycleLastLaunch' smart constructor.+data LifeCycleLastLaunch = LifeCycleLastLaunch'+ { -- | An object containing information regarding the initiation of the last+ -- launch of a Source Server.+ initiated :: Prelude.Maybe LifeCycleLastLaunchInitiated+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LifeCycleLastLaunch' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'initiated', 'lifeCycleLastLaunch_initiated' - An object containing information regarding the initiation of the last+-- launch of a Source Server.+newLifeCycleLastLaunch ::+ LifeCycleLastLaunch+newLifeCycleLastLaunch =+ LifeCycleLastLaunch' {initiated = Prelude.Nothing}++-- | An object containing information regarding the initiation of the last+-- launch of a Source Server.+lifeCycleLastLaunch_initiated :: Lens.Lens' LifeCycleLastLaunch (Prelude.Maybe LifeCycleLastLaunchInitiated)+lifeCycleLastLaunch_initiated = Lens.lens (\LifeCycleLastLaunch' {initiated} -> initiated) (\s@LifeCycleLastLaunch' {} a -> s {initiated = a} :: LifeCycleLastLaunch)++instance Data.FromJSON LifeCycleLastLaunch where+ parseJSON =+ Data.withObject+ "LifeCycleLastLaunch"+ ( \x ->+ LifeCycleLastLaunch'+ Prelude.<$> (x Data..:? "initiated")+ )++instance Prelude.Hashable LifeCycleLastLaunch where+ hashWithSalt _salt LifeCycleLastLaunch' {..} =+ _salt `Prelude.hashWithSalt` initiated++instance Prelude.NFData LifeCycleLastLaunch where+ rnf LifeCycleLastLaunch' {..} = Prelude.rnf initiated
+ gen/Amazonka/DrS/Types/LifeCycleLastLaunchInitiated.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.LifeCycleLastLaunchInitiated+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.LifeCycleLastLaunchInitiated where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.LastLaunchType+import qualified Amazonka.Prelude as Prelude++-- | An object containing information regarding the initiation of the last+-- launch of a Source Server.+--+-- /See:/ 'newLifeCycleLastLaunchInitiated' smart constructor.+data LifeCycleLastLaunchInitiated = LifeCycleLastLaunchInitiated'+ { -- | The date and time the last Source Server launch was initiated.+ apiCallDateTime :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Job that was used to last launch the Source Server.+ jobID :: Prelude.Maybe Prelude.Text,+ -- | The Job type that was used to last launch the Source Server.+ type' :: Prelude.Maybe LastLaunchType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LifeCycleLastLaunchInitiated' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apiCallDateTime', 'lifeCycleLastLaunchInitiated_apiCallDateTime' - The date and time the last Source Server launch was initiated.+--+-- 'jobID', 'lifeCycleLastLaunchInitiated_jobID' - The ID of the Job that was used to last launch the Source Server.+--+-- 'type'', 'lifeCycleLastLaunchInitiated_type' - The Job type that was used to last launch the Source Server.+newLifeCycleLastLaunchInitiated ::+ LifeCycleLastLaunchInitiated+newLifeCycleLastLaunchInitiated =+ LifeCycleLastLaunchInitiated'+ { apiCallDateTime =+ Prelude.Nothing,+ jobID = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The date and time the last Source Server launch was initiated.+lifeCycleLastLaunchInitiated_apiCallDateTime :: Lens.Lens' LifeCycleLastLaunchInitiated (Prelude.Maybe Prelude.Text)+lifeCycleLastLaunchInitiated_apiCallDateTime = Lens.lens (\LifeCycleLastLaunchInitiated' {apiCallDateTime} -> apiCallDateTime) (\s@LifeCycleLastLaunchInitiated' {} a -> s {apiCallDateTime = a} :: LifeCycleLastLaunchInitiated)++-- | The ID of the Job that was used to last launch the Source Server.+lifeCycleLastLaunchInitiated_jobID :: Lens.Lens' LifeCycleLastLaunchInitiated (Prelude.Maybe Prelude.Text)+lifeCycleLastLaunchInitiated_jobID = Lens.lens (\LifeCycleLastLaunchInitiated' {jobID} -> jobID) (\s@LifeCycleLastLaunchInitiated' {} a -> s {jobID = a} :: LifeCycleLastLaunchInitiated)++-- | The Job type that was used to last launch the Source Server.+lifeCycleLastLaunchInitiated_type :: Lens.Lens' LifeCycleLastLaunchInitiated (Prelude.Maybe LastLaunchType)+lifeCycleLastLaunchInitiated_type = Lens.lens (\LifeCycleLastLaunchInitiated' {type'} -> type') (\s@LifeCycleLastLaunchInitiated' {} a -> s {type' = a} :: LifeCycleLastLaunchInitiated)++instance Data.FromJSON LifeCycleLastLaunchInitiated where+ parseJSON =+ Data.withObject+ "LifeCycleLastLaunchInitiated"+ ( \x ->+ LifeCycleLastLaunchInitiated'+ Prelude.<$> (x Data..:? "apiCallDateTime")+ Prelude.<*> (x Data..:? "jobID")+ Prelude.<*> (x Data..:? "type")+ )++instance+ Prelude.Hashable+ LifeCycleLastLaunchInitiated+ where+ hashWithSalt _salt LifeCycleLastLaunchInitiated' {..} =+ _salt+ `Prelude.hashWithSalt` apiCallDateTime+ `Prelude.hashWithSalt` jobID+ `Prelude.hashWithSalt` type'++instance Prelude.NFData LifeCycleLastLaunchInitiated where+ rnf LifeCycleLastLaunchInitiated' {..} =+ Prelude.rnf apiCallDateTime+ `Prelude.seq` Prelude.rnf jobID+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/DrS/Types/NetworkInterface.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.NetworkInterface+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.NetworkInterface where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Network interface.+--+-- /See:/ 'newNetworkInterface' smart constructor.+data NetworkInterface = NetworkInterface'+ { -- | Network interface IPs.+ ips :: Prelude.Maybe [Prelude.Text],+ -- | Whether this is the primary network interface.+ isPrimary :: Prelude.Maybe Prelude.Bool,+ -- | The MAC address of the network interface.+ macAddress :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkInterface' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ips', 'networkInterface_ips' - Network interface IPs.+--+-- 'isPrimary', 'networkInterface_isPrimary' - Whether this is the primary network interface.+--+-- 'macAddress', 'networkInterface_macAddress' - The MAC address of the network interface.+newNetworkInterface ::+ NetworkInterface+newNetworkInterface =+ NetworkInterface'+ { ips = Prelude.Nothing,+ isPrimary = Prelude.Nothing,+ macAddress = Prelude.Nothing+ }++-- | Network interface IPs.+networkInterface_ips :: Lens.Lens' NetworkInterface (Prelude.Maybe [Prelude.Text])+networkInterface_ips = Lens.lens (\NetworkInterface' {ips} -> ips) (\s@NetworkInterface' {} a -> s {ips = a} :: NetworkInterface) Prelude.. Lens.mapping Lens.coerced++-- | Whether this is the primary network interface.+networkInterface_isPrimary :: Lens.Lens' NetworkInterface (Prelude.Maybe Prelude.Bool)+networkInterface_isPrimary = Lens.lens (\NetworkInterface' {isPrimary} -> isPrimary) (\s@NetworkInterface' {} a -> s {isPrimary = a} :: NetworkInterface)++-- | The MAC address of the network interface.+networkInterface_macAddress :: Lens.Lens' NetworkInterface (Prelude.Maybe Prelude.Text)+networkInterface_macAddress = Lens.lens (\NetworkInterface' {macAddress} -> macAddress) (\s@NetworkInterface' {} a -> s {macAddress = a} :: NetworkInterface)++instance Data.FromJSON NetworkInterface where+ parseJSON =+ Data.withObject+ "NetworkInterface"+ ( \x ->+ NetworkInterface'+ Prelude.<$> (x Data..:? "ips" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "isPrimary")+ Prelude.<*> (x Data..:? "macAddress")+ )++instance Prelude.Hashable NetworkInterface where+ hashWithSalt _salt NetworkInterface' {..} =+ _salt+ `Prelude.hashWithSalt` ips+ `Prelude.hashWithSalt` isPrimary+ `Prelude.hashWithSalt` macAddress++instance Prelude.NFData NetworkInterface where+ rnf NetworkInterface' {..} =+ Prelude.rnf ips+ `Prelude.seq` Prelude.rnf isPrimary+ `Prelude.seq` Prelude.rnf macAddress
+ gen/Amazonka/DrS/Types/OS.hs view
@@ -0,0 +1,64 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.OS+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.OS where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Operating System.+--+-- /See:/ 'newOS' smart constructor.+data OS = OS'+ { -- | The long name of the Operating System.+ fullString :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OS' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fullString', 'os_fullString' - The long name of the Operating System.+newOS ::+ OS+newOS = OS' {fullString = Prelude.Nothing}++-- | The long name of the Operating System.+os_fullString :: Lens.Lens' OS (Prelude.Maybe Prelude.Text)+os_fullString = Lens.lens (\OS' {fullString} -> fullString) (\s@OS' {} a -> s {fullString = a} :: OS)++instance Data.FromJSON OS where+ parseJSON =+ Data.withObject+ "OS"+ (\x -> OS' Prelude.<$> (x Data..:? "fullString"))++instance Prelude.Hashable OS where+ hashWithSalt _salt OS' {..} =+ _salt `Prelude.hashWithSalt` fullString++instance Prelude.NFData OS where+ rnf OS' {..} = Prelude.rnf fullString
+ gen/Amazonka/DrS/Types/OriginEnvironment.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.OriginEnvironment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.OriginEnvironment+ ( OriginEnvironment+ ( ..,+ OriginEnvironment_AWS,+ OriginEnvironment_ON_PREMISES+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OriginEnvironment = OriginEnvironment'+ { fromOriginEnvironment ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern OriginEnvironment_AWS :: OriginEnvironment+pattern OriginEnvironment_AWS = OriginEnvironment' "AWS"++pattern OriginEnvironment_ON_PREMISES :: OriginEnvironment+pattern OriginEnvironment_ON_PREMISES = OriginEnvironment' "ON_PREMISES"++{-# COMPLETE+ OriginEnvironment_AWS,+ OriginEnvironment_ON_PREMISES,+ OriginEnvironment'+ #-}
+ gen/Amazonka/DrS/Types/PITPolicyRule.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.PITPolicyRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.PITPolicyRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.PITPolicyRuleUnits+import qualified Amazonka.Prelude as Prelude++-- | A rule in the Point in Time (PIT) policy representing when to take+-- snapshots and how long to retain them for.+--+-- /See:/ 'newPITPolicyRule' smart constructor.+data PITPolicyRule = PITPolicyRule'+ { -- | Whether this rule is enabled or not.+ enabled :: Prelude.Maybe Prelude.Bool,+ -- | The ID of the rule.+ ruleID :: Prelude.Maybe Prelude.Natural,+ -- | How often, in the chosen units, a snapshot should be taken.+ interval :: Prelude.Natural,+ -- | The duration to retain a snapshot for, in the chosen units.+ retentionDuration :: Prelude.Natural,+ -- | The units used to measure the interval and retentionDuration.+ units :: PITPolicyRuleUnits+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PITPolicyRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabled', 'pITPolicyRule_enabled' - Whether this rule is enabled or not.+--+-- 'ruleID', 'pITPolicyRule_ruleID' - The ID of the rule.+--+-- 'interval', 'pITPolicyRule_interval' - How often, in the chosen units, a snapshot should be taken.+--+-- 'retentionDuration', 'pITPolicyRule_retentionDuration' - The duration to retain a snapshot for, in the chosen units.+--+-- 'units', 'pITPolicyRule_units' - The units used to measure the interval and retentionDuration.+newPITPolicyRule ::+ -- | 'interval'+ Prelude.Natural ->+ -- | 'retentionDuration'+ Prelude.Natural ->+ -- | 'units'+ PITPolicyRuleUnits ->+ PITPolicyRule+newPITPolicyRule+ pInterval_+ pRetentionDuration_+ pUnits_ =+ PITPolicyRule'+ { enabled = Prelude.Nothing,+ ruleID = Prelude.Nothing,+ interval = pInterval_,+ retentionDuration = pRetentionDuration_,+ units = pUnits_+ }++-- | Whether this rule is enabled or not.+pITPolicyRule_enabled :: Lens.Lens' PITPolicyRule (Prelude.Maybe Prelude.Bool)+pITPolicyRule_enabled = Lens.lens (\PITPolicyRule' {enabled} -> enabled) (\s@PITPolicyRule' {} a -> s {enabled = a} :: PITPolicyRule)++-- | The ID of the rule.+pITPolicyRule_ruleID :: Lens.Lens' PITPolicyRule (Prelude.Maybe Prelude.Natural)+pITPolicyRule_ruleID = Lens.lens (\PITPolicyRule' {ruleID} -> ruleID) (\s@PITPolicyRule' {} a -> s {ruleID = a} :: PITPolicyRule)++-- | How often, in the chosen units, a snapshot should be taken.+pITPolicyRule_interval :: Lens.Lens' PITPolicyRule Prelude.Natural+pITPolicyRule_interval = Lens.lens (\PITPolicyRule' {interval} -> interval) (\s@PITPolicyRule' {} a -> s {interval = a} :: PITPolicyRule)++-- | The duration to retain a snapshot for, in the chosen units.+pITPolicyRule_retentionDuration :: Lens.Lens' PITPolicyRule Prelude.Natural+pITPolicyRule_retentionDuration = Lens.lens (\PITPolicyRule' {retentionDuration} -> retentionDuration) (\s@PITPolicyRule' {} a -> s {retentionDuration = a} :: PITPolicyRule)++-- | The units used to measure the interval and retentionDuration.+pITPolicyRule_units :: Lens.Lens' PITPolicyRule PITPolicyRuleUnits+pITPolicyRule_units = Lens.lens (\PITPolicyRule' {units} -> units) (\s@PITPolicyRule' {} a -> s {units = a} :: PITPolicyRule)++instance Data.FromJSON PITPolicyRule where+ parseJSON =+ Data.withObject+ "PITPolicyRule"+ ( \x ->+ PITPolicyRule'+ Prelude.<$> (x Data..:? "enabled")+ Prelude.<*> (x Data..:? "ruleID")+ Prelude.<*> (x Data..: "interval")+ Prelude.<*> (x Data..: "retentionDuration")+ Prelude.<*> (x Data..: "units")+ )++instance Prelude.Hashable PITPolicyRule where+ hashWithSalt _salt PITPolicyRule' {..} =+ _salt+ `Prelude.hashWithSalt` enabled+ `Prelude.hashWithSalt` ruleID+ `Prelude.hashWithSalt` interval+ `Prelude.hashWithSalt` retentionDuration+ `Prelude.hashWithSalt` units++instance Prelude.NFData PITPolicyRule where+ rnf PITPolicyRule' {..} =+ Prelude.rnf enabled+ `Prelude.seq` Prelude.rnf ruleID+ `Prelude.seq` Prelude.rnf interval+ `Prelude.seq` Prelude.rnf retentionDuration+ `Prelude.seq` Prelude.rnf units++instance Data.ToJSON PITPolicyRule where+ toJSON PITPolicyRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("enabled" Data..=) Prelude.<$> enabled,+ ("ruleID" Data..=) Prelude.<$> ruleID,+ Prelude.Just ("interval" Data..= interval),+ Prelude.Just+ ("retentionDuration" Data..= retentionDuration),+ Prelude.Just ("units" Data..= units)+ ]+ )
+ gen/Amazonka/DrS/Types/PITPolicyRuleUnits.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.PITPolicyRuleUnits+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.PITPolicyRuleUnits+ ( PITPolicyRuleUnits+ ( ..,+ PITPolicyRuleUnits_DAY,+ PITPolicyRuleUnits_HOUR,+ PITPolicyRuleUnits_MINUTE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PITPolicyRuleUnits = PITPolicyRuleUnits'+ { fromPITPolicyRuleUnits ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern PITPolicyRuleUnits_DAY :: PITPolicyRuleUnits+pattern PITPolicyRuleUnits_DAY = PITPolicyRuleUnits' "DAY"++pattern PITPolicyRuleUnits_HOUR :: PITPolicyRuleUnits+pattern PITPolicyRuleUnits_HOUR = PITPolicyRuleUnits' "HOUR"++pattern PITPolicyRuleUnits_MINUTE :: PITPolicyRuleUnits+pattern PITPolicyRuleUnits_MINUTE = PITPolicyRuleUnits' "MINUTE"++{-# COMPLETE+ PITPolicyRuleUnits_DAY,+ PITPolicyRuleUnits_HOUR,+ PITPolicyRuleUnits_MINUTE,+ PITPolicyRuleUnits'+ #-}
+ gen/Amazonka/DrS/Types/ParticipatingServer.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.ParticipatingServer+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.ParticipatingServer where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.LaunchStatus+import qualified Amazonka.Prelude as Prelude++-- | Represents a server participating in an asynchronous Job.+--+-- /See:/ 'newParticipatingServer' smart constructor.+data ParticipatingServer = ParticipatingServer'+ { -- | The launch status of a participating server.+ launchStatus :: Prelude.Maybe LaunchStatus,+ -- | The Recovery Instance ID of a participating server.+ recoveryInstanceID :: Prelude.Maybe Prelude.Text,+ -- | The Source Server ID of a participating server.+ sourceServerID :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParticipatingServer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchStatus', 'participatingServer_launchStatus' - The launch status of a participating server.+--+-- 'recoveryInstanceID', 'participatingServer_recoveryInstanceID' - The Recovery Instance ID of a participating server.+--+-- 'sourceServerID', 'participatingServer_sourceServerID' - The Source Server ID of a participating server.+newParticipatingServer ::+ ParticipatingServer+newParticipatingServer =+ ParticipatingServer'+ { launchStatus =+ Prelude.Nothing,+ recoveryInstanceID = Prelude.Nothing,+ sourceServerID = Prelude.Nothing+ }++-- | The launch status of a participating server.+participatingServer_launchStatus :: Lens.Lens' ParticipatingServer (Prelude.Maybe LaunchStatus)+participatingServer_launchStatus = Lens.lens (\ParticipatingServer' {launchStatus} -> launchStatus) (\s@ParticipatingServer' {} a -> s {launchStatus = a} :: ParticipatingServer)++-- | The Recovery Instance ID of a participating server.+participatingServer_recoveryInstanceID :: Lens.Lens' ParticipatingServer (Prelude.Maybe Prelude.Text)+participatingServer_recoveryInstanceID = Lens.lens (\ParticipatingServer' {recoveryInstanceID} -> recoveryInstanceID) (\s@ParticipatingServer' {} a -> s {recoveryInstanceID = a} :: ParticipatingServer)++-- | The Source Server ID of a participating server.+participatingServer_sourceServerID :: Lens.Lens' ParticipatingServer (Prelude.Maybe Prelude.Text)+participatingServer_sourceServerID = Lens.lens (\ParticipatingServer' {sourceServerID} -> sourceServerID) (\s@ParticipatingServer' {} a -> s {sourceServerID = a} :: ParticipatingServer)++instance Data.FromJSON ParticipatingServer where+ parseJSON =+ Data.withObject+ "ParticipatingServer"+ ( \x ->+ ParticipatingServer'+ Prelude.<$> (x Data..:? "launchStatus")+ Prelude.<*> (x Data..:? "recoveryInstanceID")+ Prelude.<*> (x Data..:? "sourceServerID")+ )++instance Prelude.Hashable ParticipatingServer where+ hashWithSalt _salt ParticipatingServer' {..} =+ _salt+ `Prelude.hashWithSalt` launchStatus+ `Prelude.hashWithSalt` recoveryInstanceID+ `Prelude.hashWithSalt` sourceServerID++instance Prelude.NFData ParticipatingServer where+ rnf ParticipatingServer' {..} =+ Prelude.rnf launchStatus+ `Prelude.seq` Prelude.rnf recoveryInstanceID+ `Prelude.seq` Prelude.rnf sourceServerID
+ gen/Amazonka/DrS/Types/RecoveryInstance.hs view
@@ -0,0 +1,233 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoveryInstance+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoveryInstance where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.EC2InstanceState+import Amazonka.DrS.Types.OriginEnvironment+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInfo+import Amazonka.DrS.Types.RecoveryInstanceFailback+import Amazonka.DrS.Types.RecoveryInstanceProperties+import qualified Amazonka.Prelude as Prelude++-- | A Recovery Instance is a replica of a Source Server running on EC2.+--+-- /See:/ 'newRecoveryInstance' smart constructor.+data RecoveryInstance = RecoveryInstance'+ { -- | The ARN of the Recovery Instance.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The Data Replication Info of the Recovery Instance.+ dataReplicationInfo :: Prelude.Maybe RecoveryInstanceDataReplicationInfo,+ -- | The EC2 instance ID of the Recovery Instance.+ ec2InstanceID :: Prelude.Maybe Prelude.Text,+ -- | The state of the EC2 instance for this Recovery Instance.+ ec2InstanceState :: Prelude.Maybe EC2InstanceState,+ -- | An object representing failback related information of the Recovery+ -- Instance.+ failback :: Prelude.Maybe RecoveryInstanceFailback,+ -- | Whether this Recovery Instance was created for a drill or for an actual+ -- Recovery event.+ isDrill :: Prelude.Maybe Prelude.Bool,+ -- | The ID of the Job that created the Recovery Instance.+ jobID :: Prelude.Maybe Prelude.Text,+ -- | Environment (On Premises \/ AWS) of the instance that the recovery+ -- instance originated from.+ originEnvironment :: Prelude.Maybe OriginEnvironment,+ -- | The date and time of the Point in Time (PIT) snapshot that this Recovery+ -- Instance was launched from.+ pointInTimeSnapshotDateTime :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Recovery Instance.+ recoveryInstanceID :: Prelude.Maybe Prelude.Text,+ -- | Properties of the Recovery Instance machine.+ recoveryInstanceProperties :: Prelude.Maybe RecoveryInstanceProperties,+ -- | The Source Server ID that this Recovery Instance is associated with.+ sourceServerID :: Prelude.Maybe Prelude.Text,+ -- | An array of tags that are associated with the Recovery Instance.+ tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text))+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecoveryInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'recoveryInstance_arn' - The ARN of the Recovery Instance.+--+-- 'dataReplicationInfo', 'recoveryInstance_dataReplicationInfo' - The Data Replication Info of the Recovery Instance.+--+-- 'ec2InstanceID', 'recoveryInstance_ec2InstanceID' - The EC2 instance ID of the Recovery Instance.+--+-- 'ec2InstanceState', 'recoveryInstance_ec2InstanceState' - The state of the EC2 instance for this Recovery Instance.+--+-- 'failback', 'recoveryInstance_failback' - An object representing failback related information of the Recovery+-- Instance.+--+-- 'isDrill', 'recoveryInstance_isDrill' - Whether this Recovery Instance was created for a drill or for an actual+-- Recovery event.+--+-- 'jobID', 'recoveryInstance_jobID' - The ID of the Job that created the Recovery Instance.+--+-- 'originEnvironment', 'recoveryInstance_originEnvironment' - Environment (On Premises \/ AWS) of the instance that the recovery+-- instance originated from.+--+-- 'pointInTimeSnapshotDateTime', 'recoveryInstance_pointInTimeSnapshotDateTime' - The date and time of the Point in Time (PIT) snapshot that this Recovery+-- Instance was launched from.+--+-- 'recoveryInstanceID', 'recoveryInstance_recoveryInstanceID' - The ID of the Recovery Instance.+--+-- 'recoveryInstanceProperties', 'recoveryInstance_recoveryInstanceProperties' - Properties of the Recovery Instance machine.+--+-- 'sourceServerID', 'recoveryInstance_sourceServerID' - The Source Server ID that this Recovery Instance is associated with.+--+-- 'tags', 'recoveryInstance_tags' - An array of tags that are associated with the Recovery Instance.+newRecoveryInstance ::+ RecoveryInstance+newRecoveryInstance =+ RecoveryInstance'+ { arn = Prelude.Nothing,+ dataReplicationInfo = Prelude.Nothing,+ ec2InstanceID = Prelude.Nothing,+ ec2InstanceState = Prelude.Nothing,+ failback = Prelude.Nothing,+ isDrill = Prelude.Nothing,+ jobID = Prelude.Nothing,+ originEnvironment = Prelude.Nothing,+ pointInTimeSnapshotDateTime = Prelude.Nothing,+ recoveryInstanceID = Prelude.Nothing,+ recoveryInstanceProperties = Prelude.Nothing,+ sourceServerID = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The ARN of the Recovery Instance.+recoveryInstance_arn :: Lens.Lens' RecoveryInstance (Prelude.Maybe Prelude.Text)+recoveryInstance_arn = Lens.lens (\RecoveryInstance' {arn} -> arn) (\s@RecoveryInstance' {} a -> s {arn = a} :: RecoveryInstance)++-- | The Data Replication Info of the Recovery Instance.+recoveryInstance_dataReplicationInfo :: Lens.Lens' RecoveryInstance (Prelude.Maybe RecoveryInstanceDataReplicationInfo)+recoveryInstance_dataReplicationInfo = Lens.lens (\RecoveryInstance' {dataReplicationInfo} -> dataReplicationInfo) (\s@RecoveryInstance' {} a -> s {dataReplicationInfo = a} :: RecoveryInstance)++-- | The EC2 instance ID of the Recovery Instance.+recoveryInstance_ec2InstanceID :: Lens.Lens' RecoveryInstance (Prelude.Maybe Prelude.Text)+recoveryInstance_ec2InstanceID = Lens.lens (\RecoveryInstance' {ec2InstanceID} -> ec2InstanceID) (\s@RecoveryInstance' {} a -> s {ec2InstanceID = a} :: RecoveryInstance)++-- | The state of the EC2 instance for this Recovery Instance.+recoveryInstance_ec2InstanceState :: Lens.Lens' RecoveryInstance (Prelude.Maybe EC2InstanceState)+recoveryInstance_ec2InstanceState = Lens.lens (\RecoveryInstance' {ec2InstanceState} -> ec2InstanceState) (\s@RecoveryInstance' {} a -> s {ec2InstanceState = a} :: RecoveryInstance)++-- | An object representing failback related information of the Recovery+-- Instance.+recoveryInstance_failback :: Lens.Lens' RecoveryInstance (Prelude.Maybe RecoveryInstanceFailback)+recoveryInstance_failback = Lens.lens (\RecoveryInstance' {failback} -> failback) (\s@RecoveryInstance' {} a -> s {failback = a} :: RecoveryInstance)++-- | Whether this Recovery Instance was created for a drill or for an actual+-- Recovery event.+recoveryInstance_isDrill :: Lens.Lens' RecoveryInstance (Prelude.Maybe Prelude.Bool)+recoveryInstance_isDrill = Lens.lens (\RecoveryInstance' {isDrill} -> isDrill) (\s@RecoveryInstance' {} a -> s {isDrill = a} :: RecoveryInstance)++-- | The ID of the Job that created the Recovery Instance.+recoveryInstance_jobID :: Lens.Lens' RecoveryInstance (Prelude.Maybe Prelude.Text)+recoveryInstance_jobID = Lens.lens (\RecoveryInstance' {jobID} -> jobID) (\s@RecoveryInstance' {} a -> s {jobID = a} :: RecoveryInstance)++-- | Environment (On Premises \/ AWS) of the instance that the recovery+-- instance originated from.+recoveryInstance_originEnvironment :: Lens.Lens' RecoveryInstance (Prelude.Maybe OriginEnvironment)+recoveryInstance_originEnvironment = Lens.lens (\RecoveryInstance' {originEnvironment} -> originEnvironment) (\s@RecoveryInstance' {} a -> s {originEnvironment = a} :: RecoveryInstance)++-- | The date and time of the Point in Time (PIT) snapshot that this Recovery+-- Instance was launched from.+recoveryInstance_pointInTimeSnapshotDateTime :: Lens.Lens' RecoveryInstance (Prelude.Maybe Prelude.Text)+recoveryInstance_pointInTimeSnapshotDateTime = Lens.lens (\RecoveryInstance' {pointInTimeSnapshotDateTime} -> pointInTimeSnapshotDateTime) (\s@RecoveryInstance' {} a -> s {pointInTimeSnapshotDateTime = a} :: RecoveryInstance)++-- | The ID of the Recovery Instance.+recoveryInstance_recoveryInstanceID :: Lens.Lens' RecoveryInstance (Prelude.Maybe Prelude.Text)+recoveryInstance_recoveryInstanceID = Lens.lens (\RecoveryInstance' {recoveryInstanceID} -> recoveryInstanceID) (\s@RecoveryInstance' {} a -> s {recoveryInstanceID = a} :: RecoveryInstance)++-- | Properties of the Recovery Instance machine.+recoveryInstance_recoveryInstanceProperties :: Lens.Lens' RecoveryInstance (Prelude.Maybe RecoveryInstanceProperties)+recoveryInstance_recoveryInstanceProperties = Lens.lens (\RecoveryInstance' {recoveryInstanceProperties} -> recoveryInstanceProperties) (\s@RecoveryInstance' {} a -> s {recoveryInstanceProperties = a} :: RecoveryInstance)++-- | The Source Server ID that this Recovery Instance is associated with.+recoveryInstance_sourceServerID :: Lens.Lens' RecoveryInstance (Prelude.Maybe Prelude.Text)+recoveryInstance_sourceServerID = Lens.lens (\RecoveryInstance' {sourceServerID} -> sourceServerID) (\s@RecoveryInstance' {} a -> s {sourceServerID = a} :: RecoveryInstance)++-- | An array of tags that are associated with the Recovery Instance.+recoveryInstance_tags :: Lens.Lens' RecoveryInstance (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+recoveryInstance_tags = Lens.lens (\RecoveryInstance' {tags} -> tags) (\s@RecoveryInstance' {} a -> s {tags = a} :: RecoveryInstance) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++instance Data.FromJSON RecoveryInstance where+ parseJSON =+ Data.withObject+ "RecoveryInstance"+ ( \x ->+ RecoveryInstance'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "dataReplicationInfo")+ Prelude.<*> (x Data..:? "ec2InstanceID")+ Prelude.<*> (x Data..:? "ec2InstanceState")+ Prelude.<*> (x Data..:? "failback")+ Prelude.<*> (x Data..:? "isDrill")+ Prelude.<*> (x Data..:? "jobID")+ Prelude.<*> (x Data..:? "originEnvironment")+ Prelude.<*> (x Data..:? "pointInTimeSnapshotDateTime")+ Prelude.<*> (x Data..:? "recoveryInstanceID")+ Prelude.<*> (x Data..:? "recoveryInstanceProperties")+ Prelude.<*> (x Data..:? "sourceServerID")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable RecoveryInstance where+ hashWithSalt _salt RecoveryInstance' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` dataReplicationInfo+ `Prelude.hashWithSalt` ec2InstanceID+ `Prelude.hashWithSalt` ec2InstanceState+ `Prelude.hashWithSalt` failback+ `Prelude.hashWithSalt` isDrill+ `Prelude.hashWithSalt` jobID+ `Prelude.hashWithSalt` originEnvironment+ `Prelude.hashWithSalt` pointInTimeSnapshotDateTime+ `Prelude.hashWithSalt` recoveryInstanceID+ `Prelude.hashWithSalt` recoveryInstanceProperties+ `Prelude.hashWithSalt` sourceServerID+ `Prelude.hashWithSalt` tags++instance Prelude.NFData RecoveryInstance where+ rnf RecoveryInstance' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf dataReplicationInfo+ `Prelude.seq` Prelude.rnf ec2InstanceID+ `Prelude.seq` Prelude.rnf ec2InstanceState+ `Prelude.seq` Prelude.rnf failback+ `Prelude.seq` Prelude.rnf isDrill+ `Prelude.seq` Prelude.rnf jobID+ `Prelude.seq` Prelude.rnf originEnvironment+ `Prelude.seq` Prelude.rnf pointInTimeSnapshotDateTime+ `Prelude.seq` Prelude.rnf recoveryInstanceID+ `Prelude.seq` Prelude.rnf recoveryInstanceProperties+ `Prelude.seq` Prelude.rnf sourceServerID+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationError.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoveryInstanceDataReplicationError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoveryInstanceDataReplicationError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.FailbackReplicationError+import qualified Amazonka.Prelude as Prelude++-- | Error in data replication.+--+-- /See:/ 'newRecoveryInstanceDataReplicationError' smart constructor.+data RecoveryInstanceDataReplicationError = RecoveryInstanceDataReplicationError'+ { -- | Error in data replication.+ error :: Prelude.Maybe FailbackReplicationError,+ -- | Error in data replication.+ rawError :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecoveryInstanceDataReplicationError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'error', 'recoveryInstanceDataReplicationError_error' - Error in data replication.+--+-- 'rawError', 'recoveryInstanceDataReplicationError_rawError' - Error in data replication.+newRecoveryInstanceDataReplicationError ::+ RecoveryInstanceDataReplicationError+newRecoveryInstanceDataReplicationError =+ RecoveryInstanceDataReplicationError'+ { error =+ Prelude.Nothing,+ rawError = Prelude.Nothing+ }++-- | Error in data replication.+recoveryInstanceDataReplicationError_error :: Lens.Lens' RecoveryInstanceDataReplicationError (Prelude.Maybe FailbackReplicationError)+recoveryInstanceDataReplicationError_error = Lens.lens (\RecoveryInstanceDataReplicationError' {error} -> error) (\s@RecoveryInstanceDataReplicationError' {} a -> s {error = a} :: RecoveryInstanceDataReplicationError)++-- | Error in data replication.+recoveryInstanceDataReplicationError_rawError :: Lens.Lens' RecoveryInstanceDataReplicationError (Prelude.Maybe Prelude.Text)+recoveryInstanceDataReplicationError_rawError = Lens.lens (\RecoveryInstanceDataReplicationError' {rawError} -> rawError) (\s@RecoveryInstanceDataReplicationError' {} a -> s {rawError = a} :: RecoveryInstanceDataReplicationError)++instance+ Data.FromJSON+ RecoveryInstanceDataReplicationError+ where+ parseJSON =+ Data.withObject+ "RecoveryInstanceDataReplicationError"+ ( \x ->+ RecoveryInstanceDataReplicationError'+ Prelude.<$> (x Data..:? "error")+ Prelude.<*> (x Data..:? "rawError")+ )++instance+ Prelude.Hashable+ RecoveryInstanceDataReplicationError+ where+ hashWithSalt+ _salt+ RecoveryInstanceDataReplicationError' {..} =+ _salt+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` rawError++instance+ Prelude.NFData+ RecoveryInstanceDataReplicationError+ where+ rnf RecoveryInstanceDataReplicationError' {..} =+ Prelude.rnf error+ `Prelude.seq` Prelude.rnf rawError
+ gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationInfo.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoveryInstanceDataReplicationInfo+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoveryInstanceDataReplicationInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationError+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInfoReplicatedDisk+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiation+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationState+import qualified Amazonka.Prelude as Prelude++-- | Information about Data Replication+--+-- /See:/ 'newRecoveryInstanceDataReplicationInfo' smart constructor.+data RecoveryInstanceDataReplicationInfo = RecoveryInstanceDataReplicationInfo'+ { -- | Information about Data Replication+ dataReplicationError :: Prelude.Maybe RecoveryInstanceDataReplicationError,+ -- | Information about whether the data replication has been initiated.+ dataReplicationInitiation :: Prelude.Maybe RecoveryInstanceDataReplicationInitiation,+ -- | The state of the data replication.+ dataReplicationState :: Prelude.Maybe RecoveryInstanceDataReplicationState,+ -- | An estimate of when the data replication will be completed.+ etaDateTime :: Prelude.Maybe Prelude.Text,+ -- | Data replication lag duration.+ lagDuration :: Prelude.Maybe Prelude.Text,+ -- | The disks that should be replicated.+ replicatedDisks :: Prelude.Maybe [RecoveryInstanceDataReplicationInfoReplicatedDisk]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecoveryInstanceDataReplicationInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataReplicationError', 'recoveryInstanceDataReplicationInfo_dataReplicationError' - Information about Data Replication+--+-- 'dataReplicationInitiation', 'recoveryInstanceDataReplicationInfo_dataReplicationInitiation' - Information about whether the data replication has been initiated.+--+-- 'dataReplicationState', 'recoveryInstanceDataReplicationInfo_dataReplicationState' - The state of the data replication.+--+-- 'etaDateTime', 'recoveryInstanceDataReplicationInfo_etaDateTime' - An estimate of when the data replication will be completed.+--+-- 'lagDuration', 'recoveryInstanceDataReplicationInfo_lagDuration' - Data replication lag duration.+--+-- 'replicatedDisks', 'recoveryInstanceDataReplicationInfo_replicatedDisks' - The disks that should be replicated.+newRecoveryInstanceDataReplicationInfo ::+ RecoveryInstanceDataReplicationInfo+newRecoveryInstanceDataReplicationInfo =+ RecoveryInstanceDataReplicationInfo'+ { dataReplicationError =+ Prelude.Nothing,+ dataReplicationInitiation =+ Prelude.Nothing,+ dataReplicationState = Prelude.Nothing,+ etaDateTime = Prelude.Nothing,+ lagDuration = Prelude.Nothing,+ replicatedDisks = Prelude.Nothing+ }++-- | Information about Data Replication+recoveryInstanceDataReplicationInfo_dataReplicationError :: Lens.Lens' RecoveryInstanceDataReplicationInfo (Prelude.Maybe RecoveryInstanceDataReplicationError)+recoveryInstanceDataReplicationInfo_dataReplicationError = Lens.lens (\RecoveryInstanceDataReplicationInfo' {dataReplicationError} -> dataReplicationError) (\s@RecoveryInstanceDataReplicationInfo' {} a -> s {dataReplicationError = a} :: RecoveryInstanceDataReplicationInfo)++-- | Information about whether the data replication has been initiated.+recoveryInstanceDataReplicationInfo_dataReplicationInitiation :: Lens.Lens' RecoveryInstanceDataReplicationInfo (Prelude.Maybe RecoveryInstanceDataReplicationInitiation)+recoveryInstanceDataReplicationInfo_dataReplicationInitiation = Lens.lens (\RecoveryInstanceDataReplicationInfo' {dataReplicationInitiation} -> dataReplicationInitiation) (\s@RecoveryInstanceDataReplicationInfo' {} a -> s {dataReplicationInitiation = a} :: RecoveryInstanceDataReplicationInfo)++-- | The state of the data replication.+recoveryInstanceDataReplicationInfo_dataReplicationState :: Lens.Lens' RecoveryInstanceDataReplicationInfo (Prelude.Maybe RecoveryInstanceDataReplicationState)+recoveryInstanceDataReplicationInfo_dataReplicationState = Lens.lens (\RecoveryInstanceDataReplicationInfo' {dataReplicationState} -> dataReplicationState) (\s@RecoveryInstanceDataReplicationInfo' {} a -> s {dataReplicationState = a} :: RecoveryInstanceDataReplicationInfo)++-- | An estimate of when the data replication will be completed.+recoveryInstanceDataReplicationInfo_etaDateTime :: Lens.Lens' RecoveryInstanceDataReplicationInfo (Prelude.Maybe Prelude.Text)+recoveryInstanceDataReplicationInfo_etaDateTime = Lens.lens (\RecoveryInstanceDataReplicationInfo' {etaDateTime} -> etaDateTime) (\s@RecoveryInstanceDataReplicationInfo' {} a -> s {etaDateTime = a} :: RecoveryInstanceDataReplicationInfo)++-- | Data replication lag duration.+recoveryInstanceDataReplicationInfo_lagDuration :: Lens.Lens' RecoveryInstanceDataReplicationInfo (Prelude.Maybe Prelude.Text)+recoveryInstanceDataReplicationInfo_lagDuration = Lens.lens (\RecoveryInstanceDataReplicationInfo' {lagDuration} -> lagDuration) (\s@RecoveryInstanceDataReplicationInfo' {} a -> s {lagDuration = a} :: RecoveryInstanceDataReplicationInfo)++-- | The disks that should be replicated.+recoveryInstanceDataReplicationInfo_replicatedDisks :: Lens.Lens' RecoveryInstanceDataReplicationInfo (Prelude.Maybe [RecoveryInstanceDataReplicationInfoReplicatedDisk])+recoveryInstanceDataReplicationInfo_replicatedDisks = Lens.lens (\RecoveryInstanceDataReplicationInfo' {replicatedDisks} -> replicatedDisks) (\s@RecoveryInstanceDataReplicationInfo' {} a -> s {replicatedDisks = a} :: RecoveryInstanceDataReplicationInfo) Prelude.. Lens.mapping Lens.coerced++instance+ Data.FromJSON+ RecoveryInstanceDataReplicationInfo+ where+ parseJSON =+ Data.withObject+ "RecoveryInstanceDataReplicationInfo"+ ( \x ->+ RecoveryInstanceDataReplicationInfo'+ Prelude.<$> (x Data..:? "dataReplicationError")+ Prelude.<*> (x Data..:? "dataReplicationInitiation")+ Prelude.<*> (x Data..:? "dataReplicationState")+ Prelude.<*> (x Data..:? "etaDateTime")+ Prelude.<*> (x Data..:? "lagDuration")+ Prelude.<*> ( x+ Data..:? "replicatedDisks"+ Data..!= Prelude.mempty+ )+ )++instance+ Prelude.Hashable+ RecoveryInstanceDataReplicationInfo+ where+ hashWithSalt+ _salt+ RecoveryInstanceDataReplicationInfo' {..} =+ _salt+ `Prelude.hashWithSalt` dataReplicationError+ `Prelude.hashWithSalt` dataReplicationInitiation+ `Prelude.hashWithSalt` dataReplicationState+ `Prelude.hashWithSalt` etaDateTime+ `Prelude.hashWithSalt` lagDuration+ `Prelude.hashWithSalt` replicatedDisks++instance+ Prelude.NFData+ RecoveryInstanceDataReplicationInfo+ where+ rnf RecoveryInstanceDataReplicationInfo' {..} =+ Prelude.rnf dataReplicationError+ `Prelude.seq` Prelude.rnf dataReplicationInitiation+ `Prelude.seq` Prelude.rnf dataReplicationState+ `Prelude.seq` Prelude.rnf etaDateTime+ `Prelude.seq` Prelude.rnf lagDuration+ `Prelude.seq` Prelude.rnf replicatedDisks
+ gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationInfoReplicatedDisk.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoveryInstanceDataReplicationInfoReplicatedDisk+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoveryInstanceDataReplicationInfoReplicatedDisk where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A disk that should be replicated.+--+-- /See:/ 'newRecoveryInstanceDataReplicationInfoReplicatedDisk' smart constructor.+data RecoveryInstanceDataReplicationInfoReplicatedDisk = RecoveryInstanceDataReplicationInfoReplicatedDisk'+ { -- | The size of the replication backlog in bytes.+ backloggedStorageBytes :: Prelude.Maybe Prelude.Natural,+ -- | The name of the device.+ deviceName :: Prelude.Maybe Prelude.Text,+ -- | The amount of data replicated so far in bytes.+ replicatedStorageBytes :: Prelude.Maybe Prelude.Natural,+ -- | The amount of data to be rescanned in bytes.+ rescannedStorageBytes :: Prelude.Maybe Prelude.Natural,+ -- | The total amount of data to be replicated in bytes.+ totalStorageBytes :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecoveryInstanceDataReplicationInfoReplicatedDisk' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backloggedStorageBytes', 'recoveryInstanceDataReplicationInfoReplicatedDisk_backloggedStorageBytes' - The size of the replication backlog in bytes.+--+-- 'deviceName', 'recoveryInstanceDataReplicationInfoReplicatedDisk_deviceName' - The name of the device.+--+-- 'replicatedStorageBytes', 'recoveryInstanceDataReplicationInfoReplicatedDisk_replicatedStorageBytes' - The amount of data replicated so far in bytes.+--+-- 'rescannedStorageBytes', 'recoveryInstanceDataReplicationInfoReplicatedDisk_rescannedStorageBytes' - The amount of data to be rescanned in bytes.+--+-- 'totalStorageBytes', 'recoveryInstanceDataReplicationInfoReplicatedDisk_totalStorageBytes' - The total amount of data to be replicated in bytes.+newRecoveryInstanceDataReplicationInfoReplicatedDisk ::+ RecoveryInstanceDataReplicationInfoReplicatedDisk+newRecoveryInstanceDataReplicationInfoReplicatedDisk =+ RecoveryInstanceDataReplicationInfoReplicatedDisk'+ { backloggedStorageBytes =+ Prelude.Nothing,+ deviceName =+ Prelude.Nothing,+ replicatedStorageBytes =+ Prelude.Nothing,+ rescannedStorageBytes =+ Prelude.Nothing,+ totalStorageBytes =+ Prelude.Nothing+ }++-- | The size of the replication backlog in bytes.+recoveryInstanceDataReplicationInfoReplicatedDisk_backloggedStorageBytes :: Lens.Lens' RecoveryInstanceDataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Natural)+recoveryInstanceDataReplicationInfoReplicatedDisk_backloggedStorageBytes = Lens.lens (\RecoveryInstanceDataReplicationInfoReplicatedDisk' {backloggedStorageBytes} -> backloggedStorageBytes) (\s@RecoveryInstanceDataReplicationInfoReplicatedDisk' {} a -> s {backloggedStorageBytes = a} :: RecoveryInstanceDataReplicationInfoReplicatedDisk)++-- | The name of the device.+recoveryInstanceDataReplicationInfoReplicatedDisk_deviceName :: Lens.Lens' RecoveryInstanceDataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Text)+recoveryInstanceDataReplicationInfoReplicatedDisk_deviceName = Lens.lens (\RecoveryInstanceDataReplicationInfoReplicatedDisk' {deviceName} -> deviceName) (\s@RecoveryInstanceDataReplicationInfoReplicatedDisk' {} a -> s {deviceName = a} :: RecoveryInstanceDataReplicationInfoReplicatedDisk)++-- | The amount of data replicated so far in bytes.+recoveryInstanceDataReplicationInfoReplicatedDisk_replicatedStorageBytes :: Lens.Lens' RecoveryInstanceDataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Natural)+recoveryInstanceDataReplicationInfoReplicatedDisk_replicatedStorageBytes = Lens.lens (\RecoveryInstanceDataReplicationInfoReplicatedDisk' {replicatedStorageBytes} -> replicatedStorageBytes) (\s@RecoveryInstanceDataReplicationInfoReplicatedDisk' {} a -> s {replicatedStorageBytes = a} :: RecoveryInstanceDataReplicationInfoReplicatedDisk)++-- | The amount of data to be rescanned in bytes.+recoveryInstanceDataReplicationInfoReplicatedDisk_rescannedStorageBytes :: Lens.Lens' RecoveryInstanceDataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Natural)+recoveryInstanceDataReplicationInfoReplicatedDisk_rescannedStorageBytes = Lens.lens (\RecoveryInstanceDataReplicationInfoReplicatedDisk' {rescannedStorageBytes} -> rescannedStorageBytes) (\s@RecoveryInstanceDataReplicationInfoReplicatedDisk' {} a -> s {rescannedStorageBytes = a} :: RecoveryInstanceDataReplicationInfoReplicatedDisk)++-- | The total amount of data to be replicated in bytes.+recoveryInstanceDataReplicationInfoReplicatedDisk_totalStorageBytes :: Lens.Lens' RecoveryInstanceDataReplicationInfoReplicatedDisk (Prelude.Maybe Prelude.Natural)+recoveryInstanceDataReplicationInfoReplicatedDisk_totalStorageBytes = Lens.lens (\RecoveryInstanceDataReplicationInfoReplicatedDisk' {totalStorageBytes} -> totalStorageBytes) (\s@RecoveryInstanceDataReplicationInfoReplicatedDisk' {} a -> s {totalStorageBytes = a} :: RecoveryInstanceDataReplicationInfoReplicatedDisk)++instance+ Data.FromJSON+ RecoveryInstanceDataReplicationInfoReplicatedDisk+ where+ parseJSON =+ Data.withObject+ "RecoveryInstanceDataReplicationInfoReplicatedDisk"+ ( \x ->+ RecoveryInstanceDataReplicationInfoReplicatedDisk'+ Prelude.<$> (x Data..:? "backloggedStorageBytes")+ Prelude.<*> (x Data..:? "deviceName")+ Prelude.<*> (x Data..:? "replicatedStorageBytes")+ Prelude.<*> (x Data..:? "rescannedStorageBytes")+ Prelude.<*> (x Data..:? "totalStorageBytes")+ )++instance+ Prelude.Hashable+ RecoveryInstanceDataReplicationInfoReplicatedDisk+ where+ hashWithSalt+ _salt+ RecoveryInstanceDataReplicationInfoReplicatedDisk' {..} =+ _salt+ `Prelude.hashWithSalt` backloggedStorageBytes+ `Prelude.hashWithSalt` deviceName+ `Prelude.hashWithSalt` replicatedStorageBytes+ `Prelude.hashWithSalt` rescannedStorageBytes+ `Prelude.hashWithSalt` totalStorageBytes++instance+ Prelude.NFData+ RecoveryInstanceDataReplicationInfoReplicatedDisk+ where+ rnf+ RecoveryInstanceDataReplicationInfoReplicatedDisk' {..} =+ Prelude.rnf backloggedStorageBytes+ `Prelude.seq` Prelude.rnf deviceName+ `Prelude.seq` Prelude.rnf replicatedStorageBytes+ `Prelude.seq` Prelude.rnf rescannedStorageBytes+ `Prelude.seq` Prelude.rnf totalStorageBytes
+ gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationInitiation.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStep+import qualified Amazonka.Prelude as Prelude++-- | Data replication initiation.+--+-- /See:/ 'newRecoveryInstanceDataReplicationInitiation' smart constructor.+data RecoveryInstanceDataReplicationInitiation = RecoveryInstanceDataReplicationInitiation'+ { -- | The date and time of the current attempt to initiate data replication.+ startDateTime :: Prelude.Maybe Prelude.Text,+ -- | The steps of the current attempt to initiate data replication.+ steps :: Prelude.Maybe [RecoveryInstanceDataReplicationInitiationStep]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecoveryInstanceDataReplicationInitiation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'startDateTime', 'recoveryInstanceDataReplicationInitiation_startDateTime' - The date and time of the current attempt to initiate data replication.+--+-- 'steps', 'recoveryInstanceDataReplicationInitiation_steps' - The steps of the current attempt to initiate data replication.+newRecoveryInstanceDataReplicationInitiation ::+ RecoveryInstanceDataReplicationInitiation+newRecoveryInstanceDataReplicationInitiation =+ RecoveryInstanceDataReplicationInitiation'+ { startDateTime =+ Prelude.Nothing,+ steps = Prelude.Nothing+ }++-- | The date and time of the current attempt to initiate data replication.+recoveryInstanceDataReplicationInitiation_startDateTime :: Lens.Lens' RecoveryInstanceDataReplicationInitiation (Prelude.Maybe Prelude.Text)+recoveryInstanceDataReplicationInitiation_startDateTime = Lens.lens (\RecoveryInstanceDataReplicationInitiation' {startDateTime} -> startDateTime) (\s@RecoveryInstanceDataReplicationInitiation' {} a -> s {startDateTime = a} :: RecoveryInstanceDataReplicationInitiation)++-- | The steps of the current attempt to initiate data replication.+recoveryInstanceDataReplicationInitiation_steps :: Lens.Lens' RecoveryInstanceDataReplicationInitiation (Prelude.Maybe [RecoveryInstanceDataReplicationInitiationStep])+recoveryInstanceDataReplicationInitiation_steps = Lens.lens (\RecoveryInstanceDataReplicationInitiation' {steps} -> steps) (\s@RecoveryInstanceDataReplicationInitiation' {} a -> s {steps = a} :: RecoveryInstanceDataReplicationInitiation) Prelude.. Lens.mapping Lens.coerced++instance+ Data.FromJSON+ RecoveryInstanceDataReplicationInitiation+ where+ parseJSON =+ Data.withObject+ "RecoveryInstanceDataReplicationInitiation"+ ( \x ->+ RecoveryInstanceDataReplicationInitiation'+ Prelude.<$> (x Data..:? "startDateTime")+ Prelude.<*> (x Data..:? "steps" Data..!= Prelude.mempty)+ )++instance+ Prelude.Hashable+ RecoveryInstanceDataReplicationInitiation+ where+ hashWithSalt+ _salt+ RecoveryInstanceDataReplicationInitiation' {..} =+ _salt+ `Prelude.hashWithSalt` startDateTime+ `Prelude.hashWithSalt` steps++instance+ Prelude.NFData+ RecoveryInstanceDataReplicationInitiation+ where+ rnf RecoveryInstanceDataReplicationInitiation' {..} =+ Prelude.rnf startDateTime+ `Prelude.seq` Prelude.rnf steps
+ gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationInitiationStep.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStep+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStep where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStepName+import Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStepStatus+import qualified Amazonka.Prelude as Prelude++-- | Data replication initiation step.+--+-- /See:/ 'newRecoveryInstanceDataReplicationInitiationStep' smart constructor.+data RecoveryInstanceDataReplicationInitiationStep = RecoveryInstanceDataReplicationInitiationStep'+ { -- | The name of the step.+ name :: Prelude.Maybe RecoveryInstanceDataReplicationInitiationStepName,+ -- | The status of the step.+ status :: Prelude.Maybe RecoveryInstanceDataReplicationInitiationStepStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecoveryInstanceDataReplicationInitiationStep' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'recoveryInstanceDataReplicationInitiationStep_name' - The name of the step.+--+-- 'status', 'recoveryInstanceDataReplicationInitiationStep_status' - The status of the step.+newRecoveryInstanceDataReplicationInitiationStep ::+ RecoveryInstanceDataReplicationInitiationStep+newRecoveryInstanceDataReplicationInitiationStep =+ RecoveryInstanceDataReplicationInitiationStep'+ { name =+ Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The name of the step.+recoveryInstanceDataReplicationInitiationStep_name :: Lens.Lens' RecoveryInstanceDataReplicationInitiationStep (Prelude.Maybe RecoveryInstanceDataReplicationInitiationStepName)+recoveryInstanceDataReplicationInitiationStep_name = Lens.lens (\RecoveryInstanceDataReplicationInitiationStep' {name} -> name) (\s@RecoveryInstanceDataReplicationInitiationStep' {} a -> s {name = a} :: RecoveryInstanceDataReplicationInitiationStep)++-- | The status of the step.+recoveryInstanceDataReplicationInitiationStep_status :: Lens.Lens' RecoveryInstanceDataReplicationInitiationStep (Prelude.Maybe RecoveryInstanceDataReplicationInitiationStepStatus)+recoveryInstanceDataReplicationInitiationStep_status = Lens.lens (\RecoveryInstanceDataReplicationInitiationStep' {status} -> status) (\s@RecoveryInstanceDataReplicationInitiationStep' {} a -> s {status = a} :: RecoveryInstanceDataReplicationInitiationStep)++instance+ Data.FromJSON+ RecoveryInstanceDataReplicationInitiationStep+ where+ parseJSON =+ Data.withObject+ "RecoveryInstanceDataReplicationInitiationStep"+ ( \x ->+ RecoveryInstanceDataReplicationInitiationStep'+ Prelude.<$> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ )++instance+ Prelude.Hashable+ RecoveryInstanceDataReplicationInitiationStep+ where+ hashWithSalt+ _salt+ RecoveryInstanceDataReplicationInitiationStep' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance+ Prelude.NFData+ RecoveryInstanceDataReplicationInitiationStep+ where+ rnf+ RecoveryInstanceDataReplicationInitiationStep' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationInitiationStepName.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStepName+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStepName+ ( RecoveryInstanceDataReplicationInitiationStepName+ ( ..,+ RecoveryInstanceDataReplicationInitiationStepName_ATTACH_STAGING_DISKS,+ RecoveryInstanceDataReplicationInitiationStepName_AUTHENTICATE_WITH_SERVICE,+ RecoveryInstanceDataReplicationInitiationStepName_BOOT_REPLICATION_SERVER,+ RecoveryInstanceDataReplicationInitiationStepName_COMPLETE_VOLUME_MAPPING,+ RecoveryInstanceDataReplicationInitiationStepName_CONFIGURE_REPLICATION_SOFTWARE,+ RecoveryInstanceDataReplicationInitiationStepName_CONNECT_AGENT_TO_REPLICATION_SERVER,+ RecoveryInstanceDataReplicationInitiationStepName_CREATE_SECURITY_GROUP,+ RecoveryInstanceDataReplicationInitiationStepName_CREATE_STAGING_DISKS,+ RecoveryInstanceDataReplicationInitiationStepName_DOWNLOAD_REPLICATION_SOFTWARE,+ RecoveryInstanceDataReplicationInitiationStepName_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT,+ RecoveryInstanceDataReplicationInitiationStepName_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION,+ RecoveryInstanceDataReplicationInitiationStepName_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION,+ RecoveryInstanceDataReplicationInitiationStepName_LAUNCH_REPLICATION_SERVER,+ RecoveryInstanceDataReplicationInitiationStepName_LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE,+ RecoveryInstanceDataReplicationInitiationStepName_PAIR_AGENT_WITH_REPLICATION_SOFTWARE,+ RecoveryInstanceDataReplicationInitiationStepName_PAIR_REPLICATION_SERVER_WITH_AGENT,+ RecoveryInstanceDataReplicationInitiationStepName_START_DATA_TRANSFER,+ RecoveryInstanceDataReplicationInitiationStepName_WAIT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RecoveryInstanceDataReplicationInitiationStepName = RecoveryInstanceDataReplicationInitiationStepName'+ { fromRecoveryInstanceDataReplicationInitiationStepName ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern RecoveryInstanceDataReplicationInitiationStepName_ATTACH_STAGING_DISKS :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_ATTACH_STAGING_DISKS = RecoveryInstanceDataReplicationInitiationStepName' "ATTACH_STAGING_DISKS"++pattern RecoveryInstanceDataReplicationInitiationStepName_AUTHENTICATE_WITH_SERVICE :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_AUTHENTICATE_WITH_SERVICE = RecoveryInstanceDataReplicationInitiationStepName' "AUTHENTICATE_WITH_SERVICE"++pattern RecoveryInstanceDataReplicationInitiationStepName_BOOT_REPLICATION_SERVER :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_BOOT_REPLICATION_SERVER = RecoveryInstanceDataReplicationInitiationStepName' "BOOT_REPLICATION_SERVER"++pattern RecoveryInstanceDataReplicationInitiationStepName_COMPLETE_VOLUME_MAPPING :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_COMPLETE_VOLUME_MAPPING = RecoveryInstanceDataReplicationInitiationStepName' "COMPLETE_VOLUME_MAPPING"++pattern RecoveryInstanceDataReplicationInitiationStepName_CONFIGURE_REPLICATION_SOFTWARE :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_CONFIGURE_REPLICATION_SOFTWARE = RecoveryInstanceDataReplicationInitiationStepName' "CONFIGURE_REPLICATION_SOFTWARE"++pattern RecoveryInstanceDataReplicationInitiationStepName_CONNECT_AGENT_TO_REPLICATION_SERVER :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_CONNECT_AGENT_TO_REPLICATION_SERVER = RecoveryInstanceDataReplicationInitiationStepName' "CONNECT_AGENT_TO_REPLICATION_SERVER"++pattern RecoveryInstanceDataReplicationInitiationStepName_CREATE_SECURITY_GROUP :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_CREATE_SECURITY_GROUP = RecoveryInstanceDataReplicationInitiationStepName' "CREATE_SECURITY_GROUP"++pattern RecoveryInstanceDataReplicationInitiationStepName_CREATE_STAGING_DISKS :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_CREATE_STAGING_DISKS = RecoveryInstanceDataReplicationInitiationStepName' "CREATE_STAGING_DISKS"++pattern RecoveryInstanceDataReplicationInitiationStepName_DOWNLOAD_REPLICATION_SOFTWARE :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_DOWNLOAD_REPLICATION_SOFTWARE = RecoveryInstanceDataReplicationInitiationStepName' "DOWNLOAD_REPLICATION_SOFTWARE"++pattern RecoveryInstanceDataReplicationInitiationStepName_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT = RecoveryInstanceDataReplicationInitiationStepName' "DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT"++pattern RecoveryInstanceDataReplicationInitiationStepName_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION = RecoveryInstanceDataReplicationInitiationStepName' "ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION"++pattern RecoveryInstanceDataReplicationInitiationStepName_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION = RecoveryInstanceDataReplicationInitiationStepName' "ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION"++pattern RecoveryInstanceDataReplicationInitiationStepName_LAUNCH_REPLICATION_SERVER :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_LAUNCH_REPLICATION_SERVER = RecoveryInstanceDataReplicationInitiationStepName' "LAUNCH_REPLICATION_SERVER"++pattern RecoveryInstanceDataReplicationInitiationStepName_LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE = RecoveryInstanceDataReplicationInitiationStepName' "LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE"++pattern RecoveryInstanceDataReplicationInitiationStepName_PAIR_AGENT_WITH_REPLICATION_SOFTWARE :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_PAIR_AGENT_WITH_REPLICATION_SOFTWARE = RecoveryInstanceDataReplicationInitiationStepName' "PAIR_AGENT_WITH_REPLICATION_SOFTWARE"++pattern RecoveryInstanceDataReplicationInitiationStepName_PAIR_REPLICATION_SERVER_WITH_AGENT :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_PAIR_REPLICATION_SERVER_WITH_AGENT = RecoveryInstanceDataReplicationInitiationStepName' "PAIR_REPLICATION_SERVER_WITH_AGENT"++pattern RecoveryInstanceDataReplicationInitiationStepName_START_DATA_TRANSFER :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_START_DATA_TRANSFER = RecoveryInstanceDataReplicationInitiationStepName' "START_DATA_TRANSFER"++pattern RecoveryInstanceDataReplicationInitiationStepName_WAIT :: RecoveryInstanceDataReplicationInitiationStepName+pattern RecoveryInstanceDataReplicationInitiationStepName_WAIT = RecoveryInstanceDataReplicationInitiationStepName' "WAIT"++{-# COMPLETE+ RecoveryInstanceDataReplicationInitiationStepName_ATTACH_STAGING_DISKS,+ RecoveryInstanceDataReplicationInitiationStepName_AUTHENTICATE_WITH_SERVICE,+ RecoveryInstanceDataReplicationInitiationStepName_BOOT_REPLICATION_SERVER,+ RecoveryInstanceDataReplicationInitiationStepName_COMPLETE_VOLUME_MAPPING,+ RecoveryInstanceDataReplicationInitiationStepName_CONFIGURE_REPLICATION_SOFTWARE,+ RecoveryInstanceDataReplicationInitiationStepName_CONNECT_AGENT_TO_REPLICATION_SERVER,+ RecoveryInstanceDataReplicationInitiationStepName_CREATE_SECURITY_GROUP,+ RecoveryInstanceDataReplicationInitiationStepName_CREATE_STAGING_DISKS,+ RecoveryInstanceDataReplicationInitiationStepName_DOWNLOAD_REPLICATION_SOFTWARE,+ RecoveryInstanceDataReplicationInitiationStepName_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT,+ RecoveryInstanceDataReplicationInitiationStepName_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION,+ RecoveryInstanceDataReplicationInitiationStepName_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION,+ RecoveryInstanceDataReplicationInitiationStepName_LAUNCH_REPLICATION_SERVER,+ RecoveryInstanceDataReplicationInitiationStepName_LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE,+ RecoveryInstanceDataReplicationInitiationStepName_PAIR_AGENT_WITH_REPLICATION_SOFTWARE,+ RecoveryInstanceDataReplicationInitiationStepName_PAIR_REPLICATION_SERVER_WITH_AGENT,+ RecoveryInstanceDataReplicationInitiationStepName_START_DATA_TRANSFER,+ RecoveryInstanceDataReplicationInitiationStepName_WAIT,+ RecoveryInstanceDataReplicationInitiationStepName'+ #-}
+ gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationInitiationStepStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStepStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoveryInstanceDataReplicationInitiationStepStatus+ ( RecoveryInstanceDataReplicationInitiationStepStatus+ ( ..,+ RecoveryInstanceDataReplicationInitiationStepStatus_FAILED,+ RecoveryInstanceDataReplicationInitiationStepStatus_IN_PROGRESS,+ RecoveryInstanceDataReplicationInitiationStepStatus_NOT_STARTED,+ RecoveryInstanceDataReplicationInitiationStepStatus_SKIPPED,+ RecoveryInstanceDataReplicationInitiationStepStatus_SUCCEEDED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RecoveryInstanceDataReplicationInitiationStepStatus = RecoveryInstanceDataReplicationInitiationStepStatus'+ { fromRecoveryInstanceDataReplicationInitiationStepStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern RecoveryInstanceDataReplicationInitiationStepStatus_FAILED :: RecoveryInstanceDataReplicationInitiationStepStatus+pattern RecoveryInstanceDataReplicationInitiationStepStatus_FAILED = RecoveryInstanceDataReplicationInitiationStepStatus' "FAILED"++pattern RecoveryInstanceDataReplicationInitiationStepStatus_IN_PROGRESS :: RecoveryInstanceDataReplicationInitiationStepStatus+pattern RecoveryInstanceDataReplicationInitiationStepStatus_IN_PROGRESS = RecoveryInstanceDataReplicationInitiationStepStatus' "IN_PROGRESS"++pattern RecoveryInstanceDataReplicationInitiationStepStatus_NOT_STARTED :: RecoveryInstanceDataReplicationInitiationStepStatus+pattern RecoveryInstanceDataReplicationInitiationStepStatus_NOT_STARTED = RecoveryInstanceDataReplicationInitiationStepStatus' "NOT_STARTED"++pattern RecoveryInstanceDataReplicationInitiationStepStatus_SKIPPED :: RecoveryInstanceDataReplicationInitiationStepStatus+pattern RecoveryInstanceDataReplicationInitiationStepStatus_SKIPPED = RecoveryInstanceDataReplicationInitiationStepStatus' "SKIPPED"++pattern RecoveryInstanceDataReplicationInitiationStepStatus_SUCCEEDED :: RecoveryInstanceDataReplicationInitiationStepStatus+pattern RecoveryInstanceDataReplicationInitiationStepStatus_SUCCEEDED = RecoveryInstanceDataReplicationInitiationStepStatus' "SUCCEEDED"++{-# COMPLETE+ RecoveryInstanceDataReplicationInitiationStepStatus_FAILED,+ RecoveryInstanceDataReplicationInitiationStepStatus_IN_PROGRESS,+ RecoveryInstanceDataReplicationInitiationStepStatus_NOT_STARTED,+ RecoveryInstanceDataReplicationInitiationStepStatus_SKIPPED,+ RecoveryInstanceDataReplicationInitiationStepStatus_SUCCEEDED,+ RecoveryInstanceDataReplicationInitiationStepStatus'+ #-}
+ gen/Amazonka/DrS/Types/RecoveryInstanceDataReplicationState.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoveryInstanceDataReplicationState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoveryInstanceDataReplicationState+ ( RecoveryInstanceDataReplicationState+ ( ..,+ RecoveryInstanceDataReplicationState_BACKLOG,+ RecoveryInstanceDataReplicationState_CONTINUOUS,+ RecoveryInstanceDataReplicationState_CREATING_SNAPSHOT,+ RecoveryInstanceDataReplicationState_DISCONNECTED,+ RecoveryInstanceDataReplicationState_INITIAL_SYNC,+ RecoveryInstanceDataReplicationState_INITIATING,+ RecoveryInstanceDataReplicationState_NOT_STARTED,+ RecoveryInstanceDataReplicationState_PAUSED,+ RecoveryInstanceDataReplicationState_REPLICATION_STATE_NOT_AVAILABLE,+ RecoveryInstanceDataReplicationState_RESCAN,+ RecoveryInstanceDataReplicationState_STALLED,+ RecoveryInstanceDataReplicationState_STOPPED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RecoveryInstanceDataReplicationState = RecoveryInstanceDataReplicationState'+ { fromRecoveryInstanceDataReplicationState ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern RecoveryInstanceDataReplicationState_BACKLOG :: RecoveryInstanceDataReplicationState+pattern RecoveryInstanceDataReplicationState_BACKLOG = RecoveryInstanceDataReplicationState' "BACKLOG"++pattern RecoveryInstanceDataReplicationState_CONTINUOUS :: RecoveryInstanceDataReplicationState+pattern RecoveryInstanceDataReplicationState_CONTINUOUS = RecoveryInstanceDataReplicationState' "CONTINUOUS"++pattern RecoveryInstanceDataReplicationState_CREATING_SNAPSHOT :: RecoveryInstanceDataReplicationState+pattern RecoveryInstanceDataReplicationState_CREATING_SNAPSHOT = RecoveryInstanceDataReplicationState' "CREATING_SNAPSHOT"++pattern RecoveryInstanceDataReplicationState_DISCONNECTED :: RecoveryInstanceDataReplicationState+pattern RecoveryInstanceDataReplicationState_DISCONNECTED = RecoveryInstanceDataReplicationState' "DISCONNECTED"++pattern RecoveryInstanceDataReplicationState_INITIAL_SYNC :: RecoveryInstanceDataReplicationState+pattern RecoveryInstanceDataReplicationState_INITIAL_SYNC = RecoveryInstanceDataReplicationState' "INITIAL_SYNC"++pattern RecoveryInstanceDataReplicationState_INITIATING :: RecoveryInstanceDataReplicationState+pattern RecoveryInstanceDataReplicationState_INITIATING = RecoveryInstanceDataReplicationState' "INITIATING"++pattern RecoveryInstanceDataReplicationState_NOT_STARTED :: RecoveryInstanceDataReplicationState+pattern RecoveryInstanceDataReplicationState_NOT_STARTED = RecoveryInstanceDataReplicationState' "NOT_STARTED"++pattern RecoveryInstanceDataReplicationState_PAUSED :: RecoveryInstanceDataReplicationState+pattern RecoveryInstanceDataReplicationState_PAUSED = RecoveryInstanceDataReplicationState' "PAUSED"++pattern RecoveryInstanceDataReplicationState_REPLICATION_STATE_NOT_AVAILABLE :: RecoveryInstanceDataReplicationState+pattern RecoveryInstanceDataReplicationState_REPLICATION_STATE_NOT_AVAILABLE = RecoveryInstanceDataReplicationState' "REPLICATION_STATE_NOT_AVAILABLE"++pattern RecoveryInstanceDataReplicationState_RESCAN :: RecoveryInstanceDataReplicationState+pattern RecoveryInstanceDataReplicationState_RESCAN = RecoveryInstanceDataReplicationState' "RESCAN"++pattern RecoveryInstanceDataReplicationState_STALLED :: RecoveryInstanceDataReplicationState+pattern RecoveryInstanceDataReplicationState_STALLED = RecoveryInstanceDataReplicationState' "STALLED"++pattern RecoveryInstanceDataReplicationState_STOPPED :: RecoveryInstanceDataReplicationState+pattern RecoveryInstanceDataReplicationState_STOPPED = RecoveryInstanceDataReplicationState' "STOPPED"++{-# COMPLETE+ RecoveryInstanceDataReplicationState_BACKLOG,+ RecoveryInstanceDataReplicationState_CONTINUOUS,+ RecoveryInstanceDataReplicationState_CREATING_SNAPSHOT,+ RecoveryInstanceDataReplicationState_DISCONNECTED,+ RecoveryInstanceDataReplicationState_INITIAL_SYNC,+ RecoveryInstanceDataReplicationState_INITIATING,+ RecoveryInstanceDataReplicationState_NOT_STARTED,+ RecoveryInstanceDataReplicationState_PAUSED,+ RecoveryInstanceDataReplicationState_REPLICATION_STATE_NOT_AVAILABLE,+ RecoveryInstanceDataReplicationState_RESCAN,+ RecoveryInstanceDataReplicationState_STALLED,+ RecoveryInstanceDataReplicationState_STOPPED,+ RecoveryInstanceDataReplicationState'+ #-}
+ gen/Amazonka/DrS/Types/RecoveryInstanceDisk.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoveryInstanceDisk+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoveryInstanceDisk where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An object representing a block storage device on the Recovery Instance.+--+-- /See:/ 'newRecoveryInstanceDisk' smart constructor.+data RecoveryInstanceDisk = RecoveryInstanceDisk'+ { -- | The amount of storage on the disk in bytes.+ bytes :: Prelude.Maybe Prelude.Natural,+ -- | The EBS Volume ID of this disk.+ ebsVolumeID :: Prelude.Maybe Prelude.Text,+ -- | The internal device name of this disk. This is the name that is visible+ -- on the machine itself and not from the EC2 console.+ internalDeviceName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecoveryInstanceDisk' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bytes', 'recoveryInstanceDisk_bytes' - The amount of storage on the disk in bytes.+--+-- 'ebsVolumeID', 'recoveryInstanceDisk_ebsVolumeID' - The EBS Volume ID of this disk.+--+-- 'internalDeviceName', 'recoveryInstanceDisk_internalDeviceName' - The internal device name of this disk. This is the name that is visible+-- on the machine itself and not from the EC2 console.+newRecoveryInstanceDisk ::+ RecoveryInstanceDisk+newRecoveryInstanceDisk =+ RecoveryInstanceDisk'+ { bytes = Prelude.Nothing,+ ebsVolumeID = Prelude.Nothing,+ internalDeviceName = Prelude.Nothing+ }++-- | The amount of storage on the disk in bytes.+recoveryInstanceDisk_bytes :: Lens.Lens' RecoveryInstanceDisk (Prelude.Maybe Prelude.Natural)+recoveryInstanceDisk_bytes = Lens.lens (\RecoveryInstanceDisk' {bytes} -> bytes) (\s@RecoveryInstanceDisk' {} a -> s {bytes = a} :: RecoveryInstanceDisk)++-- | The EBS Volume ID of this disk.+recoveryInstanceDisk_ebsVolumeID :: Lens.Lens' RecoveryInstanceDisk (Prelude.Maybe Prelude.Text)+recoveryInstanceDisk_ebsVolumeID = Lens.lens (\RecoveryInstanceDisk' {ebsVolumeID} -> ebsVolumeID) (\s@RecoveryInstanceDisk' {} a -> s {ebsVolumeID = a} :: RecoveryInstanceDisk)++-- | The internal device name of this disk. This is the name that is visible+-- on the machine itself and not from the EC2 console.+recoveryInstanceDisk_internalDeviceName :: Lens.Lens' RecoveryInstanceDisk (Prelude.Maybe Prelude.Text)+recoveryInstanceDisk_internalDeviceName = Lens.lens (\RecoveryInstanceDisk' {internalDeviceName} -> internalDeviceName) (\s@RecoveryInstanceDisk' {} a -> s {internalDeviceName = a} :: RecoveryInstanceDisk)++instance Data.FromJSON RecoveryInstanceDisk where+ parseJSON =+ Data.withObject+ "RecoveryInstanceDisk"+ ( \x ->+ RecoveryInstanceDisk'+ Prelude.<$> (x Data..:? "bytes")+ Prelude.<*> (x Data..:? "ebsVolumeID")+ Prelude.<*> (x Data..:? "internalDeviceName")+ )++instance Prelude.Hashable RecoveryInstanceDisk where+ hashWithSalt _salt RecoveryInstanceDisk' {..} =+ _salt+ `Prelude.hashWithSalt` bytes+ `Prelude.hashWithSalt` ebsVolumeID+ `Prelude.hashWithSalt` internalDeviceName++instance Prelude.NFData RecoveryInstanceDisk where+ rnf RecoveryInstanceDisk' {..} =+ Prelude.rnf bytes+ `Prelude.seq` Prelude.rnf ebsVolumeID+ `Prelude.seq` Prelude.rnf internalDeviceName
+ gen/Amazonka/DrS/Types/RecoveryInstanceFailback.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoveryInstanceFailback+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoveryInstanceFailback where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.FailbackLaunchType+import Amazonka.DrS.Types.FailbackState+import qualified Amazonka.Prelude as Prelude++-- | An object representing failback related information of the Recovery+-- Instance.+--+-- /See:/ 'newRecoveryInstanceFailback' smart constructor.+data RecoveryInstanceFailback = RecoveryInstanceFailback'+ { -- | The date and time the agent on the Recovery Instance was last seen by+ -- the service.+ agentLastSeenByServiceDateTime :: Prelude.Maybe Prelude.Text,+ -- | The amount of time that the Recovery Instance has been replicating for.+ elapsedReplicationDuration :: Prelude.Maybe Prelude.Text,+ -- | The ID of the failback client that this Recovery Instance is associated+ -- with.+ failbackClientID :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the failback client was last seen by the service.+ failbackClientLastSeenByServiceDateTime :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the failback initiation started.+ failbackInitiationTime :: Prelude.Maybe Prelude.Text,+ -- | The Job ID of the last failback log for this Recovery Instance.+ failbackJobID :: Prelude.Maybe Prelude.Text,+ -- | The launch type (Recovery \/ Drill) of the last launch for the failback+ -- replication of this recovery instance.+ failbackLaunchType :: Prelude.Maybe FailbackLaunchType,+ -- | Whether we are failing back to the original Source Server for this+ -- Recovery Instance.+ failbackToOriginalServer :: Prelude.Maybe Prelude.Bool,+ -- | The date and time of the first byte that was replicated from the+ -- Recovery Instance.+ firstByteDateTime :: Prelude.Maybe Prelude.Text,+ -- | The state of the failback process that this Recovery Instance is in.+ state :: Prelude.Maybe FailbackState+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecoveryInstanceFailback' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'agentLastSeenByServiceDateTime', 'recoveryInstanceFailback_agentLastSeenByServiceDateTime' - The date and time the agent on the Recovery Instance was last seen by+-- the service.+--+-- 'elapsedReplicationDuration', 'recoveryInstanceFailback_elapsedReplicationDuration' - The amount of time that the Recovery Instance has been replicating for.+--+-- 'failbackClientID', 'recoveryInstanceFailback_failbackClientID' - The ID of the failback client that this Recovery Instance is associated+-- with.+--+-- 'failbackClientLastSeenByServiceDateTime', 'recoveryInstanceFailback_failbackClientLastSeenByServiceDateTime' - The date and time that the failback client was last seen by the service.+--+-- 'failbackInitiationTime', 'recoveryInstanceFailback_failbackInitiationTime' - The date and time that the failback initiation started.+--+-- 'failbackJobID', 'recoveryInstanceFailback_failbackJobID' - The Job ID of the last failback log for this Recovery Instance.+--+-- 'failbackLaunchType', 'recoveryInstanceFailback_failbackLaunchType' - The launch type (Recovery \/ Drill) of the last launch for the failback+-- replication of this recovery instance.+--+-- 'failbackToOriginalServer', 'recoveryInstanceFailback_failbackToOriginalServer' - Whether we are failing back to the original Source Server for this+-- Recovery Instance.+--+-- 'firstByteDateTime', 'recoveryInstanceFailback_firstByteDateTime' - The date and time of the first byte that was replicated from the+-- Recovery Instance.+--+-- 'state', 'recoveryInstanceFailback_state' - The state of the failback process that this Recovery Instance is in.+newRecoveryInstanceFailback ::+ RecoveryInstanceFailback+newRecoveryInstanceFailback =+ RecoveryInstanceFailback'+ { agentLastSeenByServiceDateTime =+ Prelude.Nothing,+ elapsedReplicationDuration = Prelude.Nothing,+ failbackClientID = Prelude.Nothing,+ failbackClientLastSeenByServiceDateTime =+ Prelude.Nothing,+ failbackInitiationTime = Prelude.Nothing,+ failbackJobID = Prelude.Nothing,+ failbackLaunchType = Prelude.Nothing,+ failbackToOriginalServer = Prelude.Nothing,+ firstByteDateTime = Prelude.Nothing,+ state = Prelude.Nothing+ }++-- | The date and time the agent on the Recovery Instance was last seen by+-- the service.+recoveryInstanceFailback_agentLastSeenByServiceDateTime :: Lens.Lens' RecoveryInstanceFailback (Prelude.Maybe Prelude.Text)+recoveryInstanceFailback_agentLastSeenByServiceDateTime = Lens.lens (\RecoveryInstanceFailback' {agentLastSeenByServiceDateTime} -> agentLastSeenByServiceDateTime) (\s@RecoveryInstanceFailback' {} a -> s {agentLastSeenByServiceDateTime = a} :: RecoveryInstanceFailback)++-- | The amount of time that the Recovery Instance has been replicating for.+recoveryInstanceFailback_elapsedReplicationDuration :: Lens.Lens' RecoveryInstanceFailback (Prelude.Maybe Prelude.Text)+recoveryInstanceFailback_elapsedReplicationDuration = Lens.lens (\RecoveryInstanceFailback' {elapsedReplicationDuration} -> elapsedReplicationDuration) (\s@RecoveryInstanceFailback' {} a -> s {elapsedReplicationDuration = a} :: RecoveryInstanceFailback)++-- | The ID of the failback client that this Recovery Instance is associated+-- with.+recoveryInstanceFailback_failbackClientID :: Lens.Lens' RecoveryInstanceFailback (Prelude.Maybe Prelude.Text)+recoveryInstanceFailback_failbackClientID = Lens.lens (\RecoveryInstanceFailback' {failbackClientID} -> failbackClientID) (\s@RecoveryInstanceFailback' {} a -> s {failbackClientID = a} :: RecoveryInstanceFailback)++-- | The date and time that the failback client was last seen by the service.+recoveryInstanceFailback_failbackClientLastSeenByServiceDateTime :: Lens.Lens' RecoveryInstanceFailback (Prelude.Maybe Prelude.Text)+recoveryInstanceFailback_failbackClientLastSeenByServiceDateTime = Lens.lens (\RecoveryInstanceFailback' {failbackClientLastSeenByServiceDateTime} -> failbackClientLastSeenByServiceDateTime) (\s@RecoveryInstanceFailback' {} a -> s {failbackClientLastSeenByServiceDateTime = a} :: RecoveryInstanceFailback)++-- | The date and time that the failback initiation started.+recoveryInstanceFailback_failbackInitiationTime :: Lens.Lens' RecoveryInstanceFailback (Prelude.Maybe Prelude.Text)+recoveryInstanceFailback_failbackInitiationTime = Lens.lens (\RecoveryInstanceFailback' {failbackInitiationTime} -> failbackInitiationTime) (\s@RecoveryInstanceFailback' {} a -> s {failbackInitiationTime = a} :: RecoveryInstanceFailback)++-- | The Job ID of the last failback log for this Recovery Instance.+recoveryInstanceFailback_failbackJobID :: Lens.Lens' RecoveryInstanceFailback (Prelude.Maybe Prelude.Text)+recoveryInstanceFailback_failbackJobID = Lens.lens (\RecoveryInstanceFailback' {failbackJobID} -> failbackJobID) (\s@RecoveryInstanceFailback' {} a -> s {failbackJobID = a} :: RecoveryInstanceFailback)++-- | The launch type (Recovery \/ Drill) of the last launch for the failback+-- replication of this recovery instance.+recoveryInstanceFailback_failbackLaunchType :: Lens.Lens' RecoveryInstanceFailback (Prelude.Maybe FailbackLaunchType)+recoveryInstanceFailback_failbackLaunchType = Lens.lens (\RecoveryInstanceFailback' {failbackLaunchType} -> failbackLaunchType) (\s@RecoveryInstanceFailback' {} a -> s {failbackLaunchType = a} :: RecoveryInstanceFailback)++-- | Whether we are failing back to the original Source Server for this+-- Recovery Instance.+recoveryInstanceFailback_failbackToOriginalServer :: Lens.Lens' RecoveryInstanceFailback (Prelude.Maybe Prelude.Bool)+recoveryInstanceFailback_failbackToOriginalServer = Lens.lens (\RecoveryInstanceFailback' {failbackToOriginalServer} -> failbackToOriginalServer) (\s@RecoveryInstanceFailback' {} a -> s {failbackToOriginalServer = a} :: RecoveryInstanceFailback)++-- | The date and time of the first byte that was replicated from the+-- Recovery Instance.+recoveryInstanceFailback_firstByteDateTime :: Lens.Lens' RecoveryInstanceFailback (Prelude.Maybe Prelude.Text)+recoveryInstanceFailback_firstByteDateTime = Lens.lens (\RecoveryInstanceFailback' {firstByteDateTime} -> firstByteDateTime) (\s@RecoveryInstanceFailback' {} a -> s {firstByteDateTime = a} :: RecoveryInstanceFailback)++-- | The state of the failback process that this Recovery Instance is in.+recoveryInstanceFailback_state :: Lens.Lens' RecoveryInstanceFailback (Prelude.Maybe FailbackState)+recoveryInstanceFailback_state = Lens.lens (\RecoveryInstanceFailback' {state} -> state) (\s@RecoveryInstanceFailback' {} a -> s {state = a} :: RecoveryInstanceFailback)++instance Data.FromJSON RecoveryInstanceFailback where+ parseJSON =+ Data.withObject+ "RecoveryInstanceFailback"+ ( \x ->+ RecoveryInstanceFailback'+ Prelude.<$> (x Data..:? "agentLastSeenByServiceDateTime")+ Prelude.<*> (x Data..:? "elapsedReplicationDuration")+ Prelude.<*> (x Data..:? "failbackClientID")+ Prelude.<*> ( x+ Data..:? "failbackClientLastSeenByServiceDateTime"+ )+ Prelude.<*> (x Data..:? "failbackInitiationTime")+ Prelude.<*> (x Data..:? "failbackJobID")+ Prelude.<*> (x Data..:? "failbackLaunchType")+ Prelude.<*> (x Data..:? "failbackToOriginalServer")+ Prelude.<*> (x Data..:? "firstByteDateTime")+ Prelude.<*> (x Data..:? "state")+ )++instance Prelude.Hashable RecoveryInstanceFailback where+ hashWithSalt _salt RecoveryInstanceFailback' {..} =+ _salt+ `Prelude.hashWithSalt` agentLastSeenByServiceDateTime+ `Prelude.hashWithSalt` elapsedReplicationDuration+ `Prelude.hashWithSalt` failbackClientID+ `Prelude.hashWithSalt` failbackClientLastSeenByServiceDateTime+ `Prelude.hashWithSalt` failbackInitiationTime+ `Prelude.hashWithSalt` failbackJobID+ `Prelude.hashWithSalt` failbackLaunchType+ `Prelude.hashWithSalt` failbackToOriginalServer+ `Prelude.hashWithSalt` firstByteDateTime+ `Prelude.hashWithSalt` state++instance Prelude.NFData RecoveryInstanceFailback where+ rnf RecoveryInstanceFailback' {..} =+ Prelude.rnf agentLastSeenByServiceDateTime+ `Prelude.seq` Prelude.rnf elapsedReplicationDuration+ `Prelude.seq` Prelude.rnf failbackClientID+ `Prelude.seq` Prelude.rnf failbackClientLastSeenByServiceDateTime+ `Prelude.seq` Prelude.rnf failbackInitiationTime+ `Prelude.seq` Prelude.rnf failbackJobID+ `Prelude.seq` Prelude.rnf failbackLaunchType+ `Prelude.seq` Prelude.rnf failbackToOriginalServer+ `Prelude.seq` Prelude.rnf firstByteDateTime+ `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/DrS/Types/RecoveryInstanceProperties.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoveryInstanceProperties+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoveryInstanceProperties where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.CPU+import Amazonka.DrS.Types.IdentificationHints+import Amazonka.DrS.Types.NetworkInterface+import Amazonka.DrS.Types.OS+import Amazonka.DrS.Types.RecoveryInstanceDisk+import qualified Amazonka.Prelude as Prelude++-- | Properties of the Recovery Instance machine.+--+-- /See:/ 'newRecoveryInstanceProperties' smart constructor.+data RecoveryInstanceProperties = RecoveryInstanceProperties'+ { -- | An array of CPUs.+ cpus :: Prelude.Maybe [CPU],+ -- | An array of disks.+ disks :: Prelude.Maybe [RecoveryInstanceDisk],+ -- | Hints used to uniquely identify a machine.+ identificationHints :: Prelude.Maybe IdentificationHints,+ -- | The date and time the Recovery Instance properties were last updated on.+ lastUpdatedDateTime :: Prelude.Maybe Prelude.Text,+ -- | An array of network interfaces.+ networkInterfaces :: Prelude.Maybe [NetworkInterface],+ -- | Operating system.+ os :: Prelude.Maybe OS,+ -- | The amount of RAM in bytes.+ ramBytes :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecoveryInstanceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cpus', 'recoveryInstanceProperties_cpus' - An array of CPUs.+--+-- 'disks', 'recoveryInstanceProperties_disks' - An array of disks.+--+-- 'identificationHints', 'recoveryInstanceProperties_identificationHints' - Hints used to uniquely identify a machine.+--+-- 'lastUpdatedDateTime', 'recoveryInstanceProperties_lastUpdatedDateTime' - The date and time the Recovery Instance properties were last updated on.+--+-- 'networkInterfaces', 'recoveryInstanceProperties_networkInterfaces' - An array of network interfaces.+--+-- 'os', 'recoveryInstanceProperties_os' - Operating system.+--+-- 'ramBytes', 'recoveryInstanceProperties_ramBytes' - The amount of RAM in bytes.+newRecoveryInstanceProperties ::+ RecoveryInstanceProperties+newRecoveryInstanceProperties =+ RecoveryInstanceProperties'+ { cpus = Prelude.Nothing,+ disks = Prelude.Nothing,+ identificationHints = Prelude.Nothing,+ lastUpdatedDateTime = Prelude.Nothing,+ networkInterfaces = Prelude.Nothing,+ os = Prelude.Nothing,+ ramBytes = Prelude.Nothing+ }++-- | An array of CPUs.+recoveryInstanceProperties_cpus :: Lens.Lens' RecoveryInstanceProperties (Prelude.Maybe [CPU])+recoveryInstanceProperties_cpus = Lens.lens (\RecoveryInstanceProperties' {cpus} -> cpus) (\s@RecoveryInstanceProperties' {} a -> s {cpus = a} :: RecoveryInstanceProperties) Prelude.. Lens.mapping Lens.coerced++-- | An array of disks.+recoveryInstanceProperties_disks :: Lens.Lens' RecoveryInstanceProperties (Prelude.Maybe [RecoveryInstanceDisk])+recoveryInstanceProperties_disks = Lens.lens (\RecoveryInstanceProperties' {disks} -> disks) (\s@RecoveryInstanceProperties' {} a -> s {disks = a} :: RecoveryInstanceProperties) Prelude.. Lens.mapping Lens.coerced++-- | Hints used to uniquely identify a machine.+recoveryInstanceProperties_identificationHints :: Lens.Lens' RecoveryInstanceProperties (Prelude.Maybe IdentificationHints)+recoveryInstanceProperties_identificationHints = Lens.lens (\RecoveryInstanceProperties' {identificationHints} -> identificationHints) (\s@RecoveryInstanceProperties' {} a -> s {identificationHints = a} :: RecoveryInstanceProperties)++-- | The date and time the Recovery Instance properties were last updated on.+recoveryInstanceProperties_lastUpdatedDateTime :: Lens.Lens' RecoveryInstanceProperties (Prelude.Maybe Prelude.Text)+recoveryInstanceProperties_lastUpdatedDateTime = Lens.lens (\RecoveryInstanceProperties' {lastUpdatedDateTime} -> lastUpdatedDateTime) (\s@RecoveryInstanceProperties' {} a -> s {lastUpdatedDateTime = a} :: RecoveryInstanceProperties)++-- | An array of network interfaces.+recoveryInstanceProperties_networkInterfaces :: Lens.Lens' RecoveryInstanceProperties (Prelude.Maybe [NetworkInterface])+recoveryInstanceProperties_networkInterfaces = Lens.lens (\RecoveryInstanceProperties' {networkInterfaces} -> networkInterfaces) (\s@RecoveryInstanceProperties' {} a -> s {networkInterfaces = a} :: RecoveryInstanceProperties) Prelude.. Lens.mapping Lens.coerced++-- | Operating system.+recoveryInstanceProperties_os :: Lens.Lens' RecoveryInstanceProperties (Prelude.Maybe OS)+recoveryInstanceProperties_os = Lens.lens (\RecoveryInstanceProperties' {os} -> os) (\s@RecoveryInstanceProperties' {} a -> s {os = a} :: RecoveryInstanceProperties)++-- | The amount of RAM in bytes.+recoveryInstanceProperties_ramBytes :: Lens.Lens' RecoveryInstanceProperties (Prelude.Maybe Prelude.Natural)+recoveryInstanceProperties_ramBytes = Lens.lens (\RecoveryInstanceProperties' {ramBytes} -> ramBytes) (\s@RecoveryInstanceProperties' {} a -> s {ramBytes = a} :: RecoveryInstanceProperties)++instance Data.FromJSON RecoveryInstanceProperties where+ parseJSON =+ Data.withObject+ "RecoveryInstanceProperties"+ ( \x ->+ RecoveryInstanceProperties'+ Prelude.<$> (x Data..:? "cpus" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "disks" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "identificationHints")+ Prelude.<*> (x Data..:? "lastUpdatedDateTime")+ Prelude.<*> ( x+ Data..:? "networkInterfaces"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "os")+ Prelude.<*> (x Data..:? "ramBytes")+ )++instance Prelude.Hashable RecoveryInstanceProperties where+ hashWithSalt _salt RecoveryInstanceProperties' {..} =+ _salt+ `Prelude.hashWithSalt` cpus+ `Prelude.hashWithSalt` disks+ `Prelude.hashWithSalt` identificationHints+ `Prelude.hashWithSalt` lastUpdatedDateTime+ `Prelude.hashWithSalt` networkInterfaces+ `Prelude.hashWithSalt` os+ `Prelude.hashWithSalt` ramBytes++instance Prelude.NFData RecoveryInstanceProperties where+ rnf RecoveryInstanceProperties' {..} =+ Prelude.rnf cpus+ `Prelude.seq` Prelude.rnf disks+ `Prelude.seq` Prelude.rnf identificationHints+ `Prelude.seq` Prelude.rnf lastUpdatedDateTime+ `Prelude.seq` Prelude.rnf networkInterfaces+ `Prelude.seq` Prelude.rnf os+ `Prelude.seq` Prelude.rnf ramBytes
+ gen/Amazonka/DrS/Types/RecoverySnapshot.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoverySnapshot+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoverySnapshot where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A snapshot of a Source Server used during recovery.+--+-- /See:/ 'newRecoverySnapshot' smart constructor.+data RecoverySnapshot = RecoverySnapshot'+ { -- | A list of EBS snapshots.+ ebsSnapshots :: Prelude.Maybe [Prelude.Text],+ -- | The actual timestamp that the snapshot was taken.+ timestamp :: Prelude.Maybe Prelude.Text,+ -- | The timestamp of when we expect the snapshot to be taken.+ expectedTimestamp :: Prelude.Text,+ -- | The ID of the Recovery Snapshot.+ snapshotID :: Prelude.Text,+ -- | The ID of the Source Server that the snapshot was taken for.+ sourceServerID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecoverySnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ebsSnapshots', 'recoverySnapshot_ebsSnapshots' - A list of EBS snapshots.+--+-- 'timestamp', 'recoverySnapshot_timestamp' - The actual timestamp that the snapshot was taken.+--+-- 'expectedTimestamp', 'recoverySnapshot_expectedTimestamp' - The timestamp of when we expect the snapshot to be taken.+--+-- 'snapshotID', 'recoverySnapshot_snapshotID' - The ID of the Recovery Snapshot.+--+-- 'sourceServerID', 'recoverySnapshot_sourceServerID' - The ID of the Source Server that the snapshot was taken for.+newRecoverySnapshot ::+ -- | 'expectedTimestamp'+ Prelude.Text ->+ -- | 'snapshotID'+ Prelude.Text ->+ -- | 'sourceServerID'+ Prelude.Text ->+ RecoverySnapshot+newRecoverySnapshot+ pExpectedTimestamp_+ pSnapshotID_+ pSourceServerID_ =+ RecoverySnapshot'+ { ebsSnapshots = Prelude.Nothing,+ timestamp = Prelude.Nothing,+ expectedTimestamp = pExpectedTimestamp_,+ snapshotID = pSnapshotID_,+ sourceServerID = pSourceServerID_+ }++-- | A list of EBS snapshots.+recoverySnapshot_ebsSnapshots :: Lens.Lens' RecoverySnapshot (Prelude.Maybe [Prelude.Text])+recoverySnapshot_ebsSnapshots = Lens.lens (\RecoverySnapshot' {ebsSnapshots} -> ebsSnapshots) (\s@RecoverySnapshot' {} a -> s {ebsSnapshots = a} :: RecoverySnapshot) Prelude.. Lens.mapping Lens.coerced++-- | The actual timestamp that the snapshot was taken.+recoverySnapshot_timestamp :: Lens.Lens' RecoverySnapshot (Prelude.Maybe Prelude.Text)+recoverySnapshot_timestamp = Lens.lens (\RecoverySnapshot' {timestamp} -> timestamp) (\s@RecoverySnapshot' {} a -> s {timestamp = a} :: RecoverySnapshot)++-- | The timestamp of when we expect the snapshot to be taken.+recoverySnapshot_expectedTimestamp :: Lens.Lens' RecoverySnapshot Prelude.Text+recoverySnapshot_expectedTimestamp = Lens.lens (\RecoverySnapshot' {expectedTimestamp} -> expectedTimestamp) (\s@RecoverySnapshot' {} a -> s {expectedTimestamp = a} :: RecoverySnapshot)++-- | The ID of the Recovery Snapshot.+recoverySnapshot_snapshotID :: Lens.Lens' RecoverySnapshot Prelude.Text+recoverySnapshot_snapshotID = Lens.lens (\RecoverySnapshot' {snapshotID} -> snapshotID) (\s@RecoverySnapshot' {} a -> s {snapshotID = a} :: RecoverySnapshot)++-- | The ID of the Source Server that the snapshot was taken for.+recoverySnapshot_sourceServerID :: Lens.Lens' RecoverySnapshot Prelude.Text+recoverySnapshot_sourceServerID = Lens.lens (\RecoverySnapshot' {sourceServerID} -> sourceServerID) (\s@RecoverySnapshot' {} a -> s {sourceServerID = a} :: RecoverySnapshot)++instance Data.FromJSON RecoverySnapshot where+ parseJSON =+ Data.withObject+ "RecoverySnapshot"+ ( \x ->+ RecoverySnapshot'+ Prelude.<$> (x Data..:? "ebsSnapshots" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "timestamp")+ Prelude.<*> (x Data..: "expectedTimestamp")+ Prelude.<*> (x Data..: "snapshotID")+ Prelude.<*> (x Data..: "sourceServerID")+ )++instance Prelude.Hashable RecoverySnapshot where+ hashWithSalt _salt RecoverySnapshot' {..} =+ _salt+ `Prelude.hashWithSalt` ebsSnapshots+ `Prelude.hashWithSalt` timestamp+ `Prelude.hashWithSalt` expectedTimestamp+ `Prelude.hashWithSalt` snapshotID+ `Prelude.hashWithSalt` sourceServerID++instance Prelude.NFData RecoverySnapshot where+ rnf RecoverySnapshot' {..} =+ Prelude.rnf ebsSnapshots+ `Prelude.seq` Prelude.rnf timestamp+ `Prelude.seq` Prelude.rnf expectedTimestamp+ `Prelude.seq` Prelude.rnf snapshotID+ `Prelude.seq` Prelude.rnf sourceServerID
+ gen/Amazonka/DrS/Types/RecoverySnapshotsOrder.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.RecoverySnapshotsOrder+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.RecoverySnapshotsOrder+ ( RecoverySnapshotsOrder+ ( ..,+ RecoverySnapshotsOrder_ASC,+ RecoverySnapshotsOrder_DESC+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RecoverySnapshotsOrder = RecoverySnapshotsOrder'+ { fromRecoverySnapshotsOrder ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern RecoverySnapshotsOrder_ASC :: RecoverySnapshotsOrder+pattern RecoverySnapshotsOrder_ASC = RecoverySnapshotsOrder' "ASC"++pattern RecoverySnapshotsOrder_DESC :: RecoverySnapshotsOrder+pattern RecoverySnapshotsOrder_DESC = RecoverySnapshotsOrder' "DESC"++{-# COMPLETE+ RecoverySnapshotsOrder_ASC,+ RecoverySnapshotsOrder_DESC,+ RecoverySnapshotsOrder'+ #-}
+ gen/Amazonka/DrS/Types/ReplicationConfiguration.hs view
@@ -0,0 +1,286 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.ReplicationConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.ReplicationConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.PITPolicyRule+import Amazonka.DrS.Types.ReplicationConfigurationDataPlaneRouting+import Amazonka.DrS.Types.ReplicationConfigurationDefaultLargeStagingDiskType+import Amazonka.DrS.Types.ReplicationConfigurationEbsEncryption+import Amazonka.DrS.Types.ReplicationConfigurationReplicatedDisk+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newReplicationConfiguration' smart constructor.+data ReplicationConfiguration = ReplicationConfiguration'+ { -- | Whether to associate the default Elastic Disaster Recovery Security+ -- group with the Replication Configuration.+ associateDefaultSecurityGroup :: Prelude.Maybe Prelude.Bool,+ -- | Configure bandwidth throttling for the outbound data transfer rate of+ -- the Source Server in Mbps.+ bandwidthThrottling :: Prelude.Maybe Prelude.Natural,+ -- | Whether to create a Public IP for the Recovery Instance by default.+ createPublicIP :: Prelude.Maybe Prelude.Bool,+ -- | The data plane routing mechanism that will be used for replication.+ dataPlaneRouting :: Prelude.Maybe ReplicationConfigurationDataPlaneRouting,+ -- | The Staging Disk EBS volume type to be used during replication.+ defaultLargeStagingDiskType :: Prelude.Maybe ReplicationConfigurationDefaultLargeStagingDiskType,+ -- | The type of EBS encryption to be used during replication.+ ebsEncryption :: Prelude.Maybe ReplicationConfigurationEbsEncryption,+ -- | The ARN of the EBS encryption key to be used during replication.+ ebsEncryptionKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the Replication Configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | The Point in time (PIT) policy to manage snapshots taken during+ -- replication.+ pitPolicy :: Prelude.Maybe (Prelude.NonEmpty PITPolicyRule),+ -- | The configuration of the disks of the Source Server to be replicated.+ replicatedDisks :: Prelude.Maybe [ReplicationConfigurationReplicatedDisk],+ -- | The instance type to be used for the replication server.+ replicationServerInstanceType :: Prelude.Maybe Prelude.Text,+ -- | The security group IDs that will be used by the replication server.+ replicationServersSecurityGroupsIDs :: Prelude.Maybe [Prelude.Text],+ -- | The ID of the Source Server for this Replication Configuration.+ sourceServerID :: Prelude.Maybe Prelude.Text,+ -- | The subnet to be used by the replication staging area.+ stagingAreaSubnetId :: Prelude.Maybe Prelude.Text,+ -- | A set of tags to be associated with all resources created in the+ -- replication staging area: EC2 replication server, EBS volumes, EBS+ -- snapshots, etc.+ stagingAreaTags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | Whether to use a dedicated Replication Server in the replication staging+ -- area.+ useDedicatedReplicationServer :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReplicationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'associateDefaultSecurityGroup', 'replicationConfiguration_associateDefaultSecurityGroup' - Whether to associate the default Elastic Disaster Recovery Security+-- group with the Replication Configuration.+--+-- 'bandwidthThrottling', 'replicationConfiguration_bandwidthThrottling' - Configure bandwidth throttling for the outbound data transfer rate of+-- the Source Server in Mbps.+--+-- 'createPublicIP', 'replicationConfiguration_createPublicIP' - Whether to create a Public IP for the Recovery Instance by default.+--+-- 'dataPlaneRouting', 'replicationConfiguration_dataPlaneRouting' - The data plane routing mechanism that will be used for replication.+--+-- 'defaultLargeStagingDiskType', 'replicationConfiguration_defaultLargeStagingDiskType' - The Staging Disk EBS volume type to be used during replication.+--+-- 'ebsEncryption', 'replicationConfiguration_ebsEncryption' - The type of EBS encryption to be used during replication.+--+-- 'ebsEncryptionKeyArn', 'replicationConfiguration_ebsEncryptionKeyArn' - The ARN of the EBS encryption key to be used during replication.+--+-- 'name', 'replicationConfiguration_name' - The name of the Replication Configuration.+--+-- 'pitPolicy', 'replicationConfiguration_pitPolicy' - The Point in time (PIT) policy to manage snapshots taken during+-- replication.+--+-- 'replicatedDisks', 'replicationConfiguration_replicatedDisks' - The configuration of the disks of the Source Server to be replicated.+--+-- 'replicationServerInstanceType', 'replicationConfiguration_replicationServerInstanceType' - The instance type to be used for the replication server.+--+-- 'replicationServersSecurityGroupsIDs', 'replicationConfiguration_replicationServersSecurityGroupsIDs' - The security group IDs that will be used by the replication server.+--+-- 'sourceServerID', 'replicationConfiguration_sourceServerID' - The ID of the Source Server for this Replication Configuration.+--+-- 'stagingAreaSubnetId', 'replicationConfiguration_stagingAreaSubnetId' - The subnet to be used by the replication staging area.+--+-- 'stagingAreaTags', 'replicationConfiguration_stagingAreaTags' - A set of tags to be associated with all resources created in the+-- replication staging area: EC2 replication server, EBS volumes, EBS+-- snapshots, etc.+--+-- 'useDedicatedReplicationServer', 'replicationConfiguration_useDedicatedReplicationServer' - Whether to use a dedicated Replication Server in the replication staging+-- area.+newReplicationConfiguration ::+ ReplicationConfiguration+newReplicationConfiguration =+ ReplicationConfiguration'+ { associateDefaultSecurityGroup =+ Prelude.Nothing,+ bandwidthThrottling = Prelude.Nothing,+ createPublicIP = Prelude.Nothing,+ dataPlaneRouting = Prelude.Nothing,+ defaultLargeStagingDiskType = Prelude.Nothing,+ ebsEncryption = Prelude.Nothing,+ ebsEncryptionKeyArn = Prelude.Nothing,+ name = Prelude.Nothing,+ pitPolicy = Prelude.Nothing,+ replicatedDisks = Prelude.Nothing,+ replicationServerInstanceType = Prelude.Nothing,+ replicationServersSecurityGroupsIDs =+ Prelude.Nothing,+ sourceServerID = Prelude.Nothing,+ stagingAreaSubnetId = Prelude.Nothing,+ stagingAreaTags = Prelude.Nothing,+ useDedicatedReplicationServer = Prelude.Nothing+ }++-- | Whether to associate the default Elastic Disaster Recovery Security+-- group with the Replication Configuration.+replicationConfiguration_associateDefaultSecurityGroup :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe Prelude.Bool)+replicationConfiguration_associateDefaultSecurityGroup = Lens.lens (\ReplicationConfiguration' {associateDefaultSecurityGroup} -> associateDefaultSecurityGroup) (\s@ReplicationConfiguration' {} a -> s {associateDefaultSecurityGroup = a} :: ReplicationConfiguration)++-- | Configure bandwidth throttling for the outbound data transfer rate of+-- the Source Server in Mbps.+replicationConfiguration_bandwidthThrottling :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe Prelude.Natural)+replicationConfiguration_bandwidthThrottling = Lens.lens (\ReplicationConfiguration' {bandwidthThrottling} -> bandwidthThrottling) (\s@ReplicationConfiguration' {} a -> s {bandwidthThrottling = a} :: ReplicationConfiguration)++-- | Whether to create a Public IP for the Recovery Instance by default.+replicationConfiguration_createPublicIP :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe Prelude.Bool)+replicationConfiguration_createPublicIP = Lens.lens (\ReplicationConfiguration' {createPublicIP} -> createPublicIP) (\s@ReplicationConfiguration' {} a -> s {createPublicIP = a} :: ReplicationConfiguration)++-- | The data plane routing mechanism that will be used for replication.+replicationConfiguration_dataPlaneRouting :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe ReplicationConfigurationDataPlaneRouting)+replicationConfiguration_dataPlaneRouting = Lens.lens (\ReplicationConfiguration' {dataPlaneRouting} -> dataPlaneRouting) (\s@ReplicationConfiguration' {} a -> s {dataPlaneRouting = a} :: ReplicationConfiguration)++-- | The Staging Disk EBS volume type to be used during replication.+replicationConfiguration_defaultLargeStagingDiskType :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe ReplicationConfigurationDefaultLargeStagingDiskType)+replicationConfiguration_defaultLargeStagingDiskType = Lens.lens (\ReplicationConfiguration' {defaultLargeStagingDiskType} -> defaultLargeStagingDiskType) (\s@ReplicationConfiguration' {} a -> s {defaultLargeStagingDiskType = a} :: ReplicationConfiguration)++-- | The type of EBS encryption to be used during replication.+replicationConfiguration_ebsEncryption :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe ReplicationConfigurationEbsEncryption)+replicationConfiguration_ebsEncryption = Lens.lens (\ReplicationConfiguration' {ebsEncryption} -> ebsEncryption) (\s@ReplicationConfiguration' {} a -> s {ebsEncryption = a} :: ReplicationConfiguration)++-- | The ARN of the EBS encryption key to be used during replication.+replicationConfiguration_ebsEncryptionKeyArn :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe Prelude.Text)+replicationConfiguration_ebsEncryptionKeyArn = Lens.lens (\ReplicationConfiguration' {ebsEncryptionKeyArn} -> ebsEncryptionKeyArn) (\s@ReplicationConfiguration' {} a -> s {ebsEncryptionKeyArn = a} :: ReplicationConfiguration)++-- | The name of the Replication Configuration.+replicationConfiguration_name :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe Prelude.Text)+replicationConfiguration_name = Lens.lens (\ReplicationConfiguration' {name} -> name) (\s@ReplicationConfiguration' {} a -> s {name = a} :: ReplicationConfiguration)++-- | The Point in time (PIT) policy to manage snapshots taken during+-- replication.+replicationConfiguration_pitPolicy :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe (Prelude.NonEmpty PITPolicyRule))+replicationConfiguration_pitPolicy = Lens.lens (\ReplicationConfiguration' {pitPolicy} -> pitPolicy) (\s@ReplicationConfiguration' {} a -> s {pitPolicy = a} :: ReplicationConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of the disks of the Source Server to be replicated.+replicationConfiguration_replicatedDisks :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe [ReplicationConfigurationReplicatedDisk])+replicationConfiguration_replicatedDisks = Lens.lens (\ReplicationConfiguration' {replicatedDisks} -> replicatedDisks) (\s@ReplicationConfiguration' {} a -> s {replicatedDisks = a} :: ReplicationConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The instance type to be used for the replication server.+replicationConfiguration_replicationServerInstanceType :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe Prelude.Text)+replicationConfiguration_replicationServerInstanceType = Lens.lens (\ReplicationConfiguration' {replicationServerInstanceType} -> replicationServerInstanceType) (\s@ReplicationConfiguration' {} a -> s {replicationServerInstanceType = a} :: ReplicationConfiguration)++-- | The security group IDs that will be used by the replication server.+replicationConfiguration_replicationServersSecurityGroupsIDs :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe [Prelude.Text])+replicationConfiguration_replicationServersSecurityGroupsIDs = Lens.lens (\ReplicationConfiguration' {replicationServersSecurityGroupsIDs} -> replicationServersSecurityGroupsIDs) (\s@ReplicationConfiguration' {} a -> s {replicationServersSecurityGroupsIDs = a} :: ReplicationConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the Source Server for this Replication Configuration.+replicationConfiguration_sourceServerID :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe Prelude.Text)+replicationConfiguration_sourceServerID = Lens.lens (\ReplicationConfiguration' {sourceServerID} -> sourceServerID) (\s@ReplicationConfiguration' {} a -> s {sourceServerID = a} :: ReplicationConfiguration)++-- | The subnet to be used by the replication staging area.+replicationConfiguration_stagingAreaSubnetId :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe Prelude.Text)+replicationConfiguration_stagingAreaSubnetId = Lens.lens (\ReplicationConfiguration' {stagingAreaSubnetId} -> stagingAreaSubnetId) (\s@ReplicationConfiguration' {} a -> s {stagingAreaSubnetId = a} :: ReplicationConfiguration)++-- | A set of tags to be associated with all resources created in the+-- replication staging area: EC2 replication server, EBS volumes, EBS+-- snapshots, etc.+replicationConfiguration_stagingAreaTags :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+replicationConfiguration_stagingAreaTags = Lens.lens (\ReplicationConfiguration' {stagingAreaTags} -> stagingAreaTags) (\s@ReplicationConfiguration' {} a -> s {stagingAreaTags = a} :: ReplicationConfiguration) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Whether to use a dedicated Replication Server in the replication staging+-- area.+replicationConfiguration_useDedicatedReplicationServer :: Lens.Lens' ReplicationConfiguration (Prelude.Maybe Prelude.Bool)+replicationConfiguration_useDedicatedReplicationServer = Lens.lens (\ReplicationConfiguration' {useDedicatedReplicationServer} -> useDedicatedReplicationServer) (\s@ReplicationConfiguration' {} a -> s {useDedicatedReplicationServer = a} :: ReplicationConfiguration)++instance Data.FromJSON ReplicationConfiguration where+ parseJSON =+ Data.withObject+ "ReplicationConfiguration"+ ( \x ->+ ReplicationConfiguration'+ Prelude.<$> (x Data..:? "associateDefaultSecurityGroup")+ Prelude.<*> (x Data..:? "bandwidthThrottling")+ Prelude.<*> (x Data..:? "createPublicIP")+ Prelude.<*> (x Data..:? "dataPlaneRouting")+ Prelude.<*> (x Data..:? "defaultLargeStagingDiskType")+ Prelude.<*> (x Data..:? "ebsEncryption")+ Prelude.<*> (x Data..:? "ebsEncryptionKeyArn")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "pitPolicy")+ Prelude.<*> ( x+ Data..:? "replicatedDisks"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "replicationServerInstanceType")+ Prelude.<*> ( x+ Data..:? "replicationServersSecurityGroupsIDs"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "sourceServerID")+ Prelude.<*> (x Data..:? "stagingAreaSubnetId")+ Prelude.<*> ( x+ Data..:? "stagingAreaTags"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "useDedicatedReplicationServer")+ )++instance Prelude.Hashable ReplicationConfiguration where+ hashWithSalt _salt ReplicationConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` associateDefaultSecurityGroup+ `Prelude.hashWithSalt` bandwidthThrottling+ `Prelude.hashWithSalt` createPublicIP+ `Prelude.hashWithSalt` dataPlaneRouting+ `Prelude.hashWithSalt` defaultLargeStagingDiskType+ `Prelude.hashWithSalt` ebsEncryption+ `Prelude.hashWithSalt` ebsEncryptionKeyArn+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` pitPolicy+ `Prelude.hashWithSalt` replicatedDisks+ `Prelude.hashWithSalt` replicationServerInstanceType+ `Prelude.hashWithSalt` replicationServersSecurityGroupsIDs+ `Prelude.hashWithSalt` sourceServerID+ `Prelude.hashWithSalt` stagingAreaSubnetId+ `Prelude.hashWithSalt` stagingAreaTags+ `Prelude.hashWithSalt` useDedicatedReplicationServer++instance Prelude.NFData ReplicationConfiguration where+ rnf ReplicationConfiguration' {..} =+ Prelude.rnf associateDefaultSecurityGroup+ `Prelude.seq` Prelude.rnf bandwidthThrottling+ `Prelude.seq` Prelude.rnf createPublicIP+ `Prelude.seq` Prelude.rnf dataPlaneRouting+ `Prelude.seq` Prelude.rnf defaultLargeStagingDiskType+ `Prelude.seq` Prelude.rnf ebsEncryption+ `Prelude.seq` Prelude.rnf ebsEncryptionKeyArn+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf pitPolicy+ `Prelude.seq` Prelude.rnf replicatedDisks+ `Prelude.seq` Prelude.rnf replicationServerInstanceType+ `Prelude.seq` Prelude.rnf+ replicationServersSecurityGroupsIDs+ `Prelude.seq` Prelude.rnf sourceServerID+ `Prelude.seq` Prelude.rnf stagingAreaSubnetId+ `Prelude.seq` Prelude.rnf stagingAreaTags+ `Prelude.seq` Prelude.rnf+ useDedicatedReplicationServer
+ gen/Amazonka/DrS/Types/ReplicationConfigurationDataPlaneRouting.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.ReplicationConfigurationDataPlaneRouting+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.ReplicationConfigurationDataPlaneRouting+ ( ReplicationConfigurationDataPlaneRouting+ ( ..,+ ReplicationConfigurationDataPlaneRouting_PRIVATE_IP,+ ReplicationConfigurationDataPlaneRouting_PUBLIC_IP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReplicationConfigurationDataPlaneRouting = ReplicationConfigurationDataPlaneRouting'+ { fromReplicationConfigurationDataPlaneRouting ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ReplicationConfigurationDataPlaneRouting_PRIVATE_IP :: ReplicationConfigurationDataPlaneRouting+pattern ReplicationConfigurationDataPlaneRouting_PRIVATE_IP = ReplicationConfigurationDataPlaneRouting' "PRIVATE_IP"++pattern ReplicationConfigurationDataPlaneRouting_PUBLIC_IP :: ReplicationConfigurationDataPlaneRouting+pattern ReplicationConfigurationDataPlaneRouting_PUBLIC_IP = ReplicationConfigurationDataPlaneRouting' "PUBLIC_IP"++{-# COMPLETE+ ReplicationConfigurationDataPlaneRouting_PRIVATE_IP,+ ReplicationConfigurationDataPlaneRouting_PUBLIC_IP,+ ReplicationConfigurationDataPlaneRouting'+ #-}
+ gen/Amazonka/DrS/Types/ReplicationConfigurationDefaultLargeStagingDiskType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.ReplicationConfigurationDefaultLargeStagingDiskType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.ReplicationConfigurationDefaultLargeStagingDiskType+ ( ReplicationConfigurationDefaultLargeStagingDiskType+ ( ..,+ ReplicationConfigurationDefaultLargeStagingDiskType_AUTO,+ ReplicationConfigurationDefaultLargeStagingDiskType_GP2,+ ReplicationConfigurationDefaultLargeStagingDiskType_GP3,+ ReplicationConfigurationDefaultLargeStagingDiskType_ST1+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReplicationConfigurationDefaultLargeStagingDiskType = ReplicationConfigurationDefaultLargeStagingDiskType'+ { fromReplicationConfigurationDefaultLargeStagingDiskType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ReplicationConfigurationDefaultLargeStagingDiskType_AUTO :: ReplicationConfigurationDefaultLargeStagingDiskType+pattern ReplicationConfigurationDefaultLargeStagingDiskType_AUTO = ReplicationConfigurationDefaultLargeStagingDiskType' "AUTO"++pattern ReplicationConfigurationDefaultLargeStagingDiskType_GP2 :: ReplicationConfigurationDefaultLargeStagingDiskType+pattern ReplicationConfigurationDefaultLargeStagingDiskType_GP2 = ReplicationConfigurationDefaultLargeStagingDiskType' "GP2"++pattern ReplicationConfigurationDefaultLargeStagingDiskType_GP3 :: ReplicationConfigurationDefaultLargeStagingDiskType+pattern ReplicationConfigurationDefaultLargeStagingDiskType_GP3 = ReplicationConfigurationDefaultLargeStagingDiskType' "GP3"++pattern ReplicationConfigurationDefaultLargeStagingDiskType_ST1 :: ReplicationConfigurationDefaultLargeStagingDiskType+pattern ReplicationConfigurationDefaultLargeStagingDiskType_ST1 = ReplicationConfigurationDefaultLargeStagingDiskType' "ST1"++{-# COMPLETE+ ReplicationConfigurationDefaultLargeStagingDiskType_AUTO,+ ReplicationConfigurationDefaultLargeStagingDiskType_GP2,+ ReplicationConfigurationDefaultLargeStagingDiskType_GP3,+ ReplicationConfigurationDefaultLargeStagingDiskType_ST1,+ ReplicationConfigurationDefaultLargeStagingDiskType'+ #-}
+ gen/Amazonka/DrS/Types/ReplicationConfigurationEbsEncryption.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.ReplicationConfigurationEbsEncryption+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.ReplicationConfigurationEbsEncryption+ ( ReplicationConfigurationEbsEncryption+ ( ..,+ ReplicationConfigurationEbsEncryption_CUSTOM,+ ReplicationConfigurationEbsEncryption_DEFAULT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReplicationConfigurationEbsEncryption = ReplicationConfigurationEbsEncryption'+ { fromReplicationConfigurationEbsEncryption ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ReplicationConfigurationEbsEncryption_CUSTOM :: ReplicationConfigurationEbsEncryption+pattern ReplicationConfigurationEbsEncryption_CUSTOM = ReplicationConfigurationEbsEncryption' "CUSTOM"++pattern ReplicationConfigurationEbsEncryption_DEFAULT :: ReplicationConfigurationEbsEncryption+pattern ReplicationConfigurationEbsEncryption_DEFAULT = ReplicationConfigurationEbsEncryption' "DEFAULT"++{-# COMPLETE+ ReplicationConfigurationEbsEncryption_CUSTOM,+ ReplicationConfigurationEbsEncryption_DEFAULT,+ ReplicationConfigurationEbsEncryption'+ #-}
+ gen/Amazonka/DrS/Types/ReplicationConfigurationReplicatedDisk.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.ReplicationConfigurationReplicatedDisk+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.ReplicationConfigurationReplicatedDisk where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.ReplicationConfigurationReplicatedDiskStagingDiskType+import qualified Amazonka.Prelude as Prelude++-- | The configuration of a disk of the Source Server to be replicated.+--+-- /See:/ 'newReplicationConfigurationReplicatedDisk' smart constructor.+data ReplicationConfigurationReplicatedDisk = ReplicationConfigurationReplicatedDisk'+ { -- | The name of the device.+ deviceName :: Prelude.Maybe Prelude.Text,+ -- | The requested number of I\/O operations per second (IOPS).+ iops :: Prelude.Maybe Prelude.Natural,+ -- | Whether to boot from this disk or not.+ isBootDisk :: Prelude.Maybe Prelude.Bool,+ -- | When @stagingDiskType@ is set to Auto, this field shows the current+ -- staging disk EBS volume type as it is constantly updated by the service.+ -- This is a read-only field.+ optimizedStagingDiskType :: Prelude.Maybe ReplicationConfigurationReplicatedDiskStagingDiskType,+ -- | The Staging Disk EBS volume type to be used during replication.+ stagingDiskType :: Prelude.Maybe ReplicationConfigurationReplicatedDiskStagingDiskType,+ -- | The throughput to use for the EBS volume in MiB\/s. This parameter is+ -- valid only for gp3 volumes.+ throughput :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReplicationConfigurationReplicatedDisk' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceName', 'replicationConfigurationReplicatedDisk_deviceName' - The name of the device.+--+-- 'iops', 'replicationConfigurationReplicatedDisk_iops' - The requested number of I\/O operations per second (IOPS).+--+-- 'isBootDisk', 'replicationConfigurationReplicatedDisk_isBootDisk' - Whether to boot from this disk or not.+--+-- 'optimizedStagingDiskType', 'replicationConfigurationReplicatedDisk_optimizedStagingDiskType' - When @stagingDiskType@ is set to Auto, this field shows the current+-- staging disk EBS volume type as it is constantly updated by the service.+-- This is a read-only field.+--+-- 'stagingDiskType', 'replicationConfigurationReplicatedDisk_stagingDiskType' - The Staging Disk EBS volume type to be used during replication.+--+-- 'throughput', 'replicationConfigurationReplicatedDisk_throughput' - The throughput to use for the EBS volume in MiB\/s. This parameter is+-- valid only for gp3 volumes.+newReplicationConfigurationReplicatedDisk ::+ ReplicationConfigurationReplicatedDisk+newReplicationConfigurationReplicatedDisk =+ ReplicationConfigurationReplicatedDisk'+ { deviceName =+ Prelude.Nothing,+ iops = Prelude.Nothing,+ isBootDisk = Prelude.Nothing,+ optimizedStagingDiskType =+ Prelude.Nothing,+ stagingDiskType = Prelude.Nothing,+ throughput = Prelude.Nothing+ }++-- | The name of the device.+replicationConfigurationReplicatedDisk_deviceName :: Lens.Lens' ReplicationConfigurationReplicatedDisk (Prelude.Maybe Prelude.Text)+replicationConfigurationReplicatedDisk_deviceName = Lens.lens (\ReplicationConfigurationReplicatedDisk' {deviceName} -> deviceName) (\s@ReplicationConfigurationReplicatedDisk' {} a -> s {deviceName = a} :: ReplicationConfigurationReplicatedDisk)++-- | The requested number of I\/O operations per second (IOPS).+replicationConfigurationReplicatedDisk_iops :: Lens.Lens' ReplicationConfigurationReplicatedDisk (Prelude.Maybe Prelude.Natural)+replicationConfigurationReplicatedDisk_iops = Lens.lens (\ReplicationConfigurationReplicatedDisk' {iops} -> iops) (\s@ReplicationConfigurationReplicatedDisk' {} a -> s {iops = a} :: ReplicationConfigurationReplicatedDisk)++-- | Whether to boot from this disk or not.+replicationConfigurationReplicatedDisk_isBootDisk :: Lens.Lens' ReplicationConfigurationReplicatedDisk (Prelude.Maybe Prelude.Bool)+replicationConfigurationReplicatedDisk_isBootDisk = Lens.lens (\ReplicationConfigurationReplicatedDisk' {isBootDisk} -> isBootDisk) (\s@ReplicationConfigurationReplicatedDisk' {} a -> s {isBootDisk = a} :: ReplicationConfigurationReplicatedDisk)++-- | When @stagingDiskType@ is set to Auto, this field shows the current+-- staging disk EBS volume type as it is constantly updated by the service.+-- This is a read-only field.+replicationConfigurationReplicatedDisk_optimizedStagingDiskType :: Lens.Lens' ReplicationConfigurationReplicatedDisk (Prelude.Maybe ReplicationConfigurationReplicatedDiskStagingDiskType)+replicationConfigurationReplicatedDisk_optimizedStagingDiskType = Lens.lens (\ReplicationConfigurationReplicatedDisk' {optimizedStagingDiskType} -> optimizedStagingDiskType) (\s@ReplicationConfigurationReplicatedDisk' {} a -> s {optimizedStagingDiskType = a} :: ReplicationConfigurationReplicatedDisk)++-- | The Staging Disk EBS volume type to be used during replication.+replicationConfigurationReplicatedDisk_stagingDiskType :: Lens.Lens' ReplicationConfigurationReplicatedDisk (Prelude.Maybe ReplicationConfigurationReplicatedDiskStagingDiskType)+replicationConfigurationReplicatedDisk_stagingDiskType = Lens.lens (\ReplicationConfigurationReplicatedDisk' {stagingDiskType} -> stagingDiskType) (\s@ReplicationConfigurationReplicatedDisk' {} a -> s {stagingDiskType = a} :: ReplicationConfigurationReplicatedDisk)++-- | The throughput to use for the EBS volume in MiB\/s. This parameter is+-- valid only for gp3 volumes.+replicationConfigurationReplicatedDisk_throughput :: Lens.Lens' ReplicationConfigurationReplicatedDisk (Prelude.Maybe Prelude.Natural)+replicationConfigurationReplicatedDisk_throughput = Lens.lens (\ReplicationConfigurationReplicatedDisk' {throughput} -> throughput) (\s@ReplicationConfigurationReplicatedDisk' {} a -> s {throughput = a} :: ReplicationConfigurationReplicatedDisk)++instance+ Data.FromJSON+ ReplicationConfigurationReplicatedDisk+ where+ parseJSON =+ Data.withObject+ "ReplicationConfigurationReplicatedDisk"+ ( \x ->+ ReplicationConfigurationReplicatedDisk'+ Prelude.<$> (x Data..:? "deviceName")+ Prelude.<*> (x Data..:? "iops")+ Prelude.<*> (x Data..:? "isBootDisk")+ Prelude.<*> (x Data..:? "optimizedStagingDiskType")+ Prelude.<*> (x Data..:? "stagingDiskType")+ Prelude.<*> (x Data..:? "throughput")+ )++instance+ Prelude.Hashable+ ReplicationConfigurationReplicatedDisk+ where+ hashWithSalt+ _salt+ ReplicationConfigurationReplicatedDisk' {..} =+ _salt+ `Prelude.hashWithSalt` deviceName+ `Prelude.hashWithSalt` iops+ `Prelude.hashWithSalt` isBootDisk+ `Prelude.hashWithSalt` optimizedStagingDiskType+ `Prelude.hashWithSalt` stagingDiskType+ `Prelude.hashWithSalt` throughput++instance+ Prelude.NFData+ ReplicationConfigurationReplicatedDisk+ where+ rnf ReplicationConfigurationReplicatedDisk' {..} =+ Prelude.rnf deviceName+ `Prelude.seq` Prelude.rnf iops+ `Prelude.seq` Prelude.rnf isBootDisk+ `Prelude.seq` Prelude.rnf optimizedStagingDiskType+ `Prelude.seq` Prelude.rnf stagingDiskType+ `Prelude.seq` Prelude.rnf throughput++instance+ Data.ToJSON+ ReplicationConfigurationReplicatedDisk+ where+ toJSON ReplicationConfigurationReplicatedDisk' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("deviceName" Data..=) Prelude.<$> deviceName,+ ("iops" Data..=) Prelude.<$> iops,+ ("isBootDisk" Data..=) Prelude.<$> isBootDisk,+ ("optimizedStagingDiskType" Data..=)+ Prelude.<$> optimizedStagingDiskType,+ ("stagingDiskType" Data..=)+ Prelude.<$> stagingDiskType,+ ("throughput" Data..=) Prelude.<$> throughput+ ]+ )
+ gen/Amazonka/DrS/Types/ReplicationConfigurationReplicatedDiskStagingDiskType.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.ReplicationConfigurationReplicatedDiskStagingDiskType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.ReplicationConfigurationReplicatedDiskStagingDiskType+ ( ReplicationConfigurationReplicatedDiskStagingDiskType+ ( ..,+ ReplicationConfigurationReplicatedDiskStagingDiskType_AUTO,+ ReplicationConfigurationReplicatedDiskStagingDiskType_GP2,+ ReplicationConfigurationReplicatedDiskStagingDiskType_GP3,+ ReplicationConfigurationReplicatedDiskStagingDiskType_IO1,+ ReplicationConfigurationReplicatedDiskStagingDiskType_SC1,+ ReplicationConfigurationReplicatedDiskStagingDiskType_ST1,+ ReplicationConfigurationReplicatedDiskStagingDiskType_STANDARD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReplicationConfigurationReplicatedDiskStagingDiskType = ReplicationConfigurationReplicatedDiskStagingDiskType'+ { fromReplicationConfigurationReplicatedDiskStagingDiskType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ReplicationConfigurationReplicatedDiskStagingDiskType_AUTO :: ReplicationConfigurationReplicatedDiskStagingDiskType+pattern ReplicationConfigurationReplicatedDiskStagingDiskType_AUTO = ReplicationConfigurationReplicatedDiskStagingDiskType' "AUTO"++pattern ReplicationConfigurationReplicatedDiskStagingDiskType_GP2 :: ReplicationConfigurationReplicatedDiskStagingDiskType+pattern ReplicationConfigurationReplicatedDiskStagingDiskType_GP2 = ReplicationConfigurationReplicatedDiskStagingDiskType' "GP2"++pattern ReplicationConfigurationReplicatedDiskStagingDiskType_GP3 :: ReplicationConfigurationReplicatedDiskStagingDiskType+pattern ReplicationConfigurationReplicatedDiskStagingDiskType_GP3 = ReplicationConfigurationReplicatedDiskStagingDiskType' "GP3"++pattern ReplicationConfigurationReplicatedDiskStagingDiskType_IO1 :: ReplicationConfigurationReplicatedDiskStagingDiskType+pattern ReplicationConfigurationReplicatedDiskStagingDiskType_IO1 = ReplicationConfigurationReplicatedDiskStagingDiskType' "IO1"++pattern ReplicationConfigurationReplicatedDiskStagingDiskType_SC1 :: ReplicationConfigurationReplicatedDiskStagingDiskType+pattern ReplicationConfigurationReplicatedDiskStagingDiskType_SC1 = ReplicationConfigurationReplicatedDiskStagingDiskType' "SC1"++pattern ReplicationConfigurationReplicatedDiskStagingDiskType_ST1 :: ReplicationConfigurationReplicatedDiskStagingDiskType+pattern ReplicationConfigurationReplicatedDiskStagingDiskType_ST1 = ReplicationConfigurationReplicatedDiskStagingDiskType' "ST1"++pattern ReplicationConfigurationReplicatedDiskStagingDiskType_STANDARD :: ReplicationConfigurationReplicatedDiskStagingDiskType+pattern ReplicationConfigurationReplicatedDiskStagingDiskType_STANDARD = ReplicationConfigurationReplicatedDiskStagingDiskType' "STANDARD"++{-# COMPLETE+ ReplicationConfigurationReplicatedDiskStagingDiskType_AUTO,+ ReplicationConfigurationReplicatedDiskStagingDiskType_GP2,+ ReplicationConfigurationReplicatedDiskStagingDiskType_GP3,+ ReplicationConfigurationReplicatedDiskStagingDiskType_IO1,+ ReplicationConfigurationReplicatedDiskStagingDiskType_SC1,+ ReplicationConfigurationReplicatedDiskStagingDiskType_ST1,+ ReplicationConfigurationReplicatedDiskStagingDiskType_STANDARD,+ ReplicationConfigurationReplicatedDiskStagingDiskType'+ #-}
+ gen/Amazonka/DrS/Types/ReplicationConfigurationTemplate.hs view
@@ -0,0 +1,304 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.ReplicationConfigurationTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.ReplicationConfigurationTemplate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.PITPolicyRule+import Amazonka.DrS.Types.ReplicationConfigurationDataPlaneRouting+import Amazonka.DrS.Types.ReplicationConfigurationDefaultLargeStagingDiskType+import Amazonka.DrS.Types.ReplicationConfigurationEbsEncryption+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newReplicationConfigurationTemplate' smart constructor.+data ReplicationConfigurationTemplate = ReplicationConfigurationTemplate'+ { -- | The Replication Configuration Template ARN.+ arn :: Prelude.Maybe Prelude.Text,+ -- | Whether to associate the default Elastic Disaster Recovery Security+ -- group with the Replication Configuration Template.+ associateDefaultSecurityGroup :: Prelude.Maybe Prelude.Bool,+ -- | Configure bandwidth throttling for the outbound data transfer rate of+ -- the Source Server in Mbps.+ bandwidthThrottling :: Prelude.Maybe Prelude.Natural,+ -- | Whether to create a Public IP for the Recovery Instance by default.+ createPublicIP :: Prelude.Maybe Prelude.Bool,+ -- | The data plane routing mechanism that will be used for replication.+ dataPlaneRouting :: Prelude.Maybe ReplicationConfigurationDataPlaneRouting,+ -- | The Staging Disk EBS volume type to be used during replication.+ defaultLargeStagingDiskType :: Prelude.Maybe ReplicationConfigurationDefaultLargeStagingDiskType,+ -- | The type of EBS encryption to be used during replication.+ ebsEncryption :: Prelude.Maybe ReplicationConfigurationEbsEncryption,+ -- | The ARN of the EBS encryption key to be used during replication.+ ebsEncryptionKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The Point in time (PIT) policy to manage snapshots taken during+ -- replication.+ pitPolicy :: Prelude.Maybe (Prelude.NonEmpty PITPolicyRule),+ -- | The instance type to be used for the replication server.+ replicationServerInstanceType :: Prelude.Maybe Prelude.Text,+ -- | The security group IDs that will be used by the replication server.+ replicationServersSecurityGroupsIDs :: Prelude.Maybe [Prelude.Text],+ -- | The subnet to be used by the replication staging area.+ stagingAreaSubnetId :: Prelude.Maybe Prelude.Text,+ -- | A set of tags to be associated with all resources created in the+ -- replication staging area: EC2 replication server, EBS volumes, EBS+ -- snapshots, etc.+ stagingAreaTags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | A set of tags to be associated with the Replication Configuration+ -- Template resource.+ tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | Whether to use a dedicated Replication Server in the replication staging+ -- area.+ useDedicatedReplicationServer :: Prelude.Maybe Prelude.Bool,+ -- | The Replication Configuration Template ID.+ replicationConfigurationTemplateID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReplicationConfigurationTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'replicationConfigurationTemplate_arn' - The Replication Configuration Template ARN.+--+-- 'associateDefaultSecurityGroup', 'replicationConfigurationTemplate_associateDefaultSecurityGroup' - Whether to associate the default Elastic Disaster Recovery Security+-- group with the Replication Configuration Template.+--+-- 'bandwidthThrottling', 'replicationConfigurationTemplate_bandwidthThrottling' - Configure bandwidth throttling for the outbound data transfer rate of+-- the Source Server in Mbps.+--+-- 'createPublicIP', 'replicationConfigurationTemplate_createPublicIP' - Whether to create a Public IP for the Recovery Instance by default.+--+-- 'dataPlaneRouting', 'replicationConfigurationTemplate_dataPlaneRouting' - The data plane routing mechanism that will be used for replication.+--+-- 'defaultLargeStagingDiskType', 'replicationConfigurationTemplate_defaultLargeStagingDiskType' - The Staging Disk EBS volume type to be used during replication.+--+-- 'ebsEncryption', 'replicationConfigurationTemplate_ebsEncryption' - The type of EBS encryption to be used during replication.+--+-- 'ebsEncryptionKeyArn', 'replicationConfigurationTemplate_ebsEncryptionKeyArn' - The ARN of the EBS encryption key to be used during replication.+--+-- 'pitPolicy', 'replicationConfigurationTemplate_pitPolicy' - The Point in time (PIT) policy to manage snapshots taken during+-- replication.+--+-- 'replicationServerInstanceType', 'replicationConfigurationTemplate_replicationServerInstanceType' - The instance type to be used for the replication server.+--+-- 'replicationServersSecurityGroupsIDs', 'replicationConfigurationTemplate_replicationServersSecurityGroupsIDs' - The security group IDs that will be used by the replication server.+--+-- 'stagingAreaSubnetId', 'replicationConfigurationTemplate_stagingAreaSubnetId' - The subnet to be used by the replication staging area.+--+-- 'stagingAreaTags', 'replicationConfigurationTemplate_stagingAreaTags' - A set of tags to be associated with all resources created in the+-- replication staging area: EC2 replication server, EBS volumes, EBS+-- snapshots, etc.+--+-- 'tags', 'replicationConfigurationTemplate_tags' - A set of tags to be associated with the Replication Configuration+-- Template resource.+--+-- 'useDedicatedReplicationServer', 'replicationConfigurationTemplate_useDedicatedReplicationServer' - Whether to use a dedicated Replication Server in the replication staging+-- area.+--+-- 'replicationConfigurationTemplateID', 'replicationConfigurationTemplate_replicationConfigurationTemplateID' - The Replication Configuration Template ID.+newReplicationConfigurationTemplate ::+ -- | 'replicationConfigurationTemplateID'+ Prelude.Text ->+ ReplicationConfigurationTemplate+newReplicationConfigurationTemplate+ pReplicationConfigurationTemplateID_ =+ ReplicationConfigurationTemplate'+ { arn =+ Prelude.Nothing,+ associateDefaultSecurityGroup =+ Prelude.Nothing,+ bandwidthThrottling = Prelude.Nothing,+ createPublicIP = Prelude.Nothing,+ dataPlaneRouting = Prelude.Nothing,+ defaultLargeStagingDiskType =+ Prelude.Nothing,+ ebsEncryption = Prelude.Nothing,+ ebsEncryptionKeyArn = Prelude.Nothing,+ pitPolicy = Prelude.Nothing,+ replicationServerInstanceType =+ Prelude.Nothing,+ replicationServersSecurityGroupsIDs =+ Prelude.Nothing,+ stagingAreaSubnetId = Prelude.Nothing,+ stagingAreaTags = Prelude.Nothing,+ tags = Prelude.Nothing,+ useDedicatedReplicationServer =+ Prelude.Nothing,+ replicationConfigurationTemplateID =+ pReplicationConfigurationTemplateID_+ }++-- | The Replication Configuration Template ARN.+replicationConfigurationTemplate_arn :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe Prelude.Text)+replicationConfigurationTemplate_arn = Lens.lens (\ReplicationConfigurationTemplate' {arn} -> arn) (\s@ReplicationConfigurationTemplate' {} a -> s {arn = a} :: ReplicationConfigurationTemplate)++-- | Whether to associate the default Elastic Disaster Recovery Security+-- group with the Replication Configuration Template.+replicationConfigurationTemplate_associateDefaultSecurityGroup :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe Prelude.Bool)+replicationConfigurationTemplate_associateDefaultSecurityGroup = Lens.lens (\ReplicationConfigurationTemplate' {associateDefaultSecurityGroup} -> associateDefaultSecurityGroup) (\s@ReplicationConfigurationTemplate' {} a -> s {associateDefaultSecurityGroup = a} :: ReplicationConfigurationTemplate)++-- | Configure bandwidth throttling for the outbound data transfer rate of+-- the Source Server in Mbps.+replicationConfigurationTemplate_bandwidthThrottling :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe Prelude.Natural)+replicationConfigurationTemplate_bandwidthThrottling = Lens.lens (\ReplicationConfigurationTemplate' {bandwidthThrottling} -> bandwidthThrottling) (\s@ReplicationConfigurationTemplate' {} a -> s {bandwidthThrottling = a} :: ReplicationConfigurationTemplate)++-- | Whether to create a Public IP for the Recovery Instance by default.+replicationConfigurationTemplate_createPublicIP :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe Prelude.Bool)+replicationConfigurationTemplate_createPublicIP = Lens.lens (\ReplicationConfigurationTemplate' {createPublicIP} -> createPublicIP) (\s@ReplicationConfigurationTemplate' {} a -> s {createPublicIP = a} :: ReplicationConfigurationTemplate)++-- | The data plane routing mechanism that will be used for replication.+replicationConfigurationTemplate_dataPlaneRouting :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe ReplicationConfigurationDataPlaneRouting)+replicationConfigurationTemplate_dataPlaneRouting = Lens.lens (\ReplicationConfigurationTemplate' {dataPlaneRouting} -> dataPlaneRouting) (\s@ReplicationConfigurationTemplate' {} a -> s {dataPlaneRouting = a} :: ReplicationConfigurationTemplate)++-- | The Staging Disk EBS volume type to be used during replication.+replicationConfigurationTemplate_defaultLargeStagingDiskType :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe ReplicationConfigurationDefaultLargeStagingDiskType)+replicationConfigurationTemplate_defaultLargeStagingDiskType = Lens.lens (\ReplicationConfigurationTemplate' {defaultLargeStagingDiskType} -> defaultLargeStagingDiskType) (\s@ReplicationConfigurationTemplate' {} a -> s {defaultLargeStagingDiskType = a} :: ReplicationConfigurationTemplate)++-- | The type of EBS encryption to be used during replication.+replicationConfigurationTemplate_ebsEncryption :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe ReplicationConfigurationEbsEncryption)+replicationConfigurationTemplate_ebsEncryption = Lens.lens (\ReplicationConfigurationTemplate' {ebsEncryption} -> ebsEncryption) (\s@ReplicationConfigurationTemplate' {} a -> s {ebsEncryption = a} :: ReplicationConfigurationTemplate)++-- | The ARN of the EBS encryption key to be used during replication.+replicationConfigurationTemplate_ebsEncryptionKeyArn :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe Prelude.Text)+replicationConfigurationTemplate_ebsEncryptionKeyArn = Lens.lens (\ReplicationConfigurationTemplate' {ebsEncryptionKeyArn} -> ebsEncryptionKeyArn) (\s@ReplicationConfigurationTemplate' {} a -> s {ebsEncryptionKeyArn = a} :: ReplicationConfigurationTemplate)++-- | The Point in time (PIT) policy to manage snapshots taken during+-- replication.+replicationConfigurationTemplate_pitPolicy :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe (Prelude.NonEmpty PITPolicyRule))+replicationConfigurationTemplate_pitPolicy = Lens.lens (\ReplicationConfigurationTemplate' {pitPolicy} -> pitPolicy) (\s@ReplicationConfigurationTemplate' {} a -> s {pitPolicy = a} :: ReplicationConfigurationTemplate) Prelude.. Lens.mapping Lens.coerced++-- | The instance type to be used for the replication server.+replicationConfigurationTemplate_replicationServerInstanceType :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe Prelude.Text)+replicationConfigurationTemplate_replicationServerInstanceType = Lens.lens (\ReplicationConfigurationTemplate' {replicationServerInstanceType} -> replicationServerInstanceType) (\s@ReplicationConfigurationTemplate' {} a -> s {replicationServerInstanceType = a} :: ReplicationConfigurationTemplate)++-- | The security group IDs that will be used by the replication server.+replicationConfigurationTemplate_replicationServersSecurityGroupsIDs :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe [Prelude.Text])+replicationConfigurationTemplate_replicationServersSecurityGroupsIDs = Lens.lens (\ReplicationConfigurationTemplate' {replicationServersSecurityGroupsIDs} -> replicationServersSecurityGroupsIDs) (\s@ReplicationConfigurationTemplate' {} a -> s {replicationServersSecurityGroupsIDs = a} :: ReplicationConfigurationTemplate) Prelude.. Lens.mapping Lens.coerced++-- | The subnet to be used by the replication staging area.+replicationConfigurationTemplate_stagingAreaSubnetId :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe Prelude.Text)+replicationConfigurationTemplate_stagingAreaSubnetId = Lens.lens (\ReplicationConfigurationTemplate' {stagingAreaSubnetId} -> stagingAreaSubnetId) (\s@ReplicationConfigurationTemplate' {} a -> s {stagingAreaSubnetId = a} :: ReplicationConfigurationTemplate)++-- | A set of tags to be associated with all resources created in the+-- replication staging area: EC2 replication server, EBS volumes, EBS+-- snapshots, etc.+replicationConfigurationTemplate_stagingAreaTags :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+replicationConfigurationTemplate_stagingAreaTags = Lens.lens (\ReplicationConfigurationTemplate' {stagingAreaTags} -> stagingAreaTags) (\s@ReplicationConfigurationTemplate' {} a -> s {stagingAreaTags = a} :: ReplicationConfigurationTemplate) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | A set of tags to be associated with the Replication Configuration+-- Template resource.+replicationConfigurationTemplate_tags :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+replicationConfigurationTemplate_tags = Lens.lens (\ReplicationConfigurationTemplate' {tags} -> tags) (\s@ReplicationConfigurationTemplate' {} a -> s {tags = a} :: ReplicationConfigurationTemplate) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Whether to use a dedicated Replication Server in the replication staging+-- area.+replicationConfigurationTemplate_useDedicatedReplicationServer :: Lens.Lens' ReplicationConfigurationTemplate (Prelude.Maybe Prelude.Bool)+replicationConfigurationTemplate_useDedicatedReplicationServer = Lens.lens (\ReplicationConfigurationTemplate' {useDedicatedReplicationServer} -> useDedicatedReplicationServer) (\s@ReplicationConfigurationTemplate' {} a -> s {useDedicatedReplicationServer = a} :: ReplicationConfigurationTemplate)++-- | The Replication Configuration Template ID.+replicationConfigurationTemplate_replicationConfigurationTemplateID :: Lens.Lens' ReplicationConfigurationTemplate Prelude.Text+replicationConfigurationTemplate_replicationConfigurationTemplateID = Lens.lens (\ReplicationConfigurationTemplate' {replicationConfigurationTemplateID} -> replicationConfigurationTemplateID) (\s@ReplicationConfigurationTemplate' {} a -> s {replicationConfigurationTemplateID = a} :: ReplicationConfigurationTemplate)++instance+ Data.FromJSON+ ReplicationConfigurationTemplate+ where+ parseJSON =+ Data.withObject+ "ReplicationConfigurationTemplate"+ ( \x ->+ ReplicationConfigurationTemplate'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "associateDefaultSecurityGroup")+ Prelude.<*> (x Data..:? "bandwidthThrottling")+ Prelude.<*> (x Data..:? "createPublicIP")+ Prelude.<*> (x Data..:? "dataPlaneRouting")+ Prelude.<*> (x Data..:? "defaultLargeStagingDiskType")+ Prelude.<*> (x Data..:? "ebsEncryption")+ Prelude.<*> (x Data..:? "ebsEncryptionKeyArn")+ Prelude.<*> (x Data..:? "pitPolicy")+ Prelude.<*> (x Data..:? "replicationServerInstanceType")+ Prelude.<*> ( x+ Data..:? "replicationServersSecurityGroupsIDs"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "stagingAreaSubnetId")+ Prelude.<*> ( x+ Data..:? "stagingAreaTags"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "useDedicatedReplicationServer")+ Prelude.<*> (x Data..: "replicationConfigurationTemplateID")+ )++instance+ Prelude.Hashable+ ReplicationConfigurationTemplate+ where+ hashWithSalt+ _salt+ ReplicationConfigurationTemplate' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` associateDefaultSecurityGroup+ `Prelude.hashWithSalt` bandwidthThrottling+ `Prelude.hashWithSalt` createPublicIP+ `Prelude.hashWithSalt` dataPlaneRouting+ `Prelude.hashWithSalt` defaultLargeStagingDiskType+ `Prelude.hashWithSalt` ebsEncryption+ `Prelude.hashWithSalt` ebsEncryptionKeyArn+ `Prelude.hashWithSalt` pitPolicy+ `Prelude.hashWithSalt` replicationServerInstanceType+ `Prelude.hashWithSalt` replicationServersSecurityGroupsIDs+ `Prelude.hashWithSalt` stagingAreaSubnetId+ `Prelude.hashWithSalt` stagingAreaTags+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` useDedicatedReplicationServer+ `Prelude.hashWithSalt` replicationConfigurationTemplateID++instance+ Prelude.NFData+ ReplicationConfigurationTemplate+ where+ rnf ReplicationConfigurationTemplate' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf associateDefaultSecurityGroup+ `Prelude.seq` Prelude.rnf bandwidthThrottling+ `Prelude.seq` Prelude.rnf createPublicIP+ `Prelude.seq` Prelude.rnf dataPlaneRouting+ `Prelude.seq` Prelude.rnf defaultLargeStagingDiskType+ `Prelude.seq` Prelude.rnf ebsEncryption+ `Prelude.seq` Prelude.rnf ebsEncryptionKeyArn+ `Prelude.seq` Prelude.rnf pitPolicy+ `Prelude.seq` Prelude.rnf replicationServerInstanceType+ `Prelude.seq` Prelude.rnf replicationServersSecurityGroupsIDs+ `Prelude.seq` Prelude.rnf stagingAreaSubnetId+ `Prelude.seq` Prelude.rnf stagingAreaTags+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf+ useDedicatedReplicationServer+ `Prelude.seq` Prelude.rnf+ replicationConfigurationTemplateID
+ gen/Amazonka/DrS/Types/ReplicationDirection.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.ReplicationDirection+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.ReplicationDirection+ ( ReplicationDirection+ ( ..,+ ReplicationDirection_FAILBACK,+ ReplicationDirection_FAILOVER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Replication direction designates if this is a failover replication, or a+-- failback replication. When a DRS agent is installed on an instance, the+-- replication direction is failover. In cases where a recovery launch was+-- made in the recovery location and a new recovery instance was created,+-- and then a failback replication was initiated from that recovery+-- instance back to the origin location, then the replication direction+-- will be failback.+newtype ReplicationDirection = ReplicationDirection'+ { fromReplicationDirection ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ReplicationDirection_FAILBACK :: ReplicationDirection+pattern ReplicationDirection_FAILBACK = ReplicationDirection' "FAILBACK"++pattern ReplicationDirection_FAILOVER :: ReplicationDirection+pattern ReplicationDirection_FAILOVER = ReplicationDirection' "FAILOVER"++{-# COMPLETE+ ReplicationDirection_FAILBACK,+ ReplicationDirection_FAILOVER,+ ReplicationDirection'+ #-}
+ gen/Amazonka/DrS/Types/SourceCloudProperties.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.SourceCloudProperties+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.SourceCloudProperties where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Properties of the cloud environment where this Source Server originated+-- from.+--+-- /See:/ 'newSourceCloudProperties' smart constructor.+data SourceCloudProperties = SourceCloudProperties'+ { -- | AWS Account ID for an EC2-originated Source Server.+ originAccountID :: Prelude.Maybe Prelude.Text,+ -- | AWS Availability Zone for an EC2-originated Source Server.+ originAvailabilityZone :: Prelude.Maybe Prelude.Text,+ -- | AWS Region for an EC2-originated Source Server.+ originRegion :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceCloudProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'originAccountID', 'sourceCloudProperties_originAccountID' - AWS Account ID for an EC2-originated Source Server.+--+-- 'originAvailabilityZone', 'sourceCloudProperties_originAvailabilityZone' - AWS Availability Zone for an EC2-originated Source Server.+--+-- 'originRegion', 'sourceCloudProperties_originRegion' - AWS Region for an EC2-originated Source Server.+newSourceCloudProperties ::+ SourceCloudProperties+newSourceCloudProperties =+ SourceCloudProperties'+ { originAccountID =+ Prelude.Nothing,+ originAvailabilityZone = Prelude.Nothing,+ originRegion = Prelude.Nothing+ }++-- | AWS Account ID for an EC2-originated Source Server.+sourceCloudProperties_originAccountID :: Lens.Lens' SourceCloudProperties (Prelude.Maybe Prelude.Text)+sourceCloudProperties_originAccountID = Lens.lens (\SourceCloudProperties' {originAccountID} -> originAccountID) (\s@SourceCloudProperties' {} a -> s {originAccountID = a} :: SourceCloudProperties)++-- | AWS Availability Zone for an EC2-originated Source Server.+sourceCloudProperties_originAvailabilityZone :: Lens.Lens' SourceCloudProperties (Prelude.Maybe Prelude.Text)+sourceCloudProperties_originAvailabilityZone = Lens.lens (\SourceCloudProperties' {originAvailabilityZone} -> originAvailabilityZone) (\s@SourceCloudProperties' {} a -> s {originAvailabilityZone = a} :: SourceCloudProperties)++-- | AWS Region for an EC2-originated Source Server.+sourceCloudProperties_originRegion :: Lens.Lens' SourceCloudProperties (Prelude.Maybe Prelude.Text)+sourceCloudProperties_originRegion = Lens.lens (\SourceCloudProperties' {originRegion} -> originRegion) (\s@SourceCloudProperties' {} a -> s {originRegion = a} :: SourceCloudProperties)++instance Data.FromJSON SourceCloudProperties where+ parseJSON =+ Data.withObject+ "SourceCloudProperties"+ ( \x ->+ SourceCloudProperties'+ Prelude.<$> (x Data..:? "originAccountID")+ Prelude.<*> (x Data..:? "originAvailabilityZone")+ Prelude.<*> (x Data..:? "originRegion")+ )++instance Prelude.Hashable SourceCloudProperties where+ hashWithSalt _salt SourceCloudProperties' {..} =+ _salt+ `Prelude.hashWithSalt` originAccountID+ `Prelude.hashWithSalt` originAvailabilityZone+ `Prelude.hashWithSalt` originRegion++instance Prelude.NFData SourceCloudProperties where+ rnf SourceCloudProperties' {..} =+ Prelude.rnf originAccountID+ `Prelude.seq` Prelude.rnf originAvailabilityZone+ `Prelude.seq` Prelude.rnf originRegion
+ gen/Amazonka/DrS/Types/SourceProperties.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.SourceProperties+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.SourceProperties where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.CPU+import Amazonka.DrS.Types.Disk+import Amazonka.DrS.Types.IdentificationHints+import Amazonka.DrS.Types.NetworkInterface+import Amazonka.DrS.Types.OS+import qualified Amazonka.Prelude as Prelude++-- | Properties of the Source Server machine.+--+-- /See:/ 'newSourceProperties' smart constructor.+data SourceProperties = SourceProperties'+ { -- | An array of CPUs.+ cpus :: Prelude.Maybe [CPU],+ -- | An array of disks.+ disks :: Prelude.Maybe [Disk],+ -- | Hints used to uniquely identify a machine.+ identificationHints :: Prelude.Maybe IdentificationHints,+ -- | The date and time the Source Properties were last updated on.+ lastUpdatedDateTime :: Prelude.Maybe Prelude.Text,+ -- | An array of network interfaces.+ networkInterfaces :: Prelude.Maybe [NetworkInterface],+ -- | Operating system.+ os :: Prelude.Maybe OS,+ -- | The amount of RAM in bytes.+ ramBytes :: Prelude.Maybe Prelude.Natural,+ -- | The recommended EC2 instance type that will be used when recovering the+ -- Source Server.+ recommendedInstanceType :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cpus', 'sourceProperties_cpus' - An array of CPUs.+--+-- 'disks', 'sourceProperties_disks' - An array of disks.+--+-- 'identificationHints', 'sourceProperties_identificationHints' - Hints used to uniquely identify a machine.+--+-- 'lastUpdatedDateTime', 'sourceProperties_lastUpdatedDateTime' - The date and time the Source Properties were last updated on.+--+-- 'networkInterfaces', 'sourceProperties_networkInterfaces' - An array of network interfaces.+--+-- 'os', 'sourceProperties_os' - Operating system.+--+-- 'ramBytes', 'sourceProperties_ramBytes' - The amount of RAM in bytes.+--+-- 'recommendedInstanceType', 'sourceProperties_recommendedInstanceType' - The recommended EC2 instance type that will be used when recovering the+-- Source Server.+newSourceProperties ::+ SourceProperties+newSourceProperties =+ SourceProperties'+ { cpus = Prelude.Nothing,+ disks = Prelude.Nothing,+ identificationHints = Prelude.Nothing,+ lastUpdatedDateTime = Prelude.Nothing,+ networkInterfaces = Prelude.Nothing,+ os = Prelude.Nothing,+ ramBytes = Prelude.Nothing,+ recommendedInstanceType = Prelude.Nothing+ }++-- | An array of CPUs.+sourceProperties_cpus :: Lens.Lens' SourceProperties (Prelude.Maybe [CPU])+sourceProperties_cpus = Lens.lens (\SourceProperties' {cpus} -> cpus) (\s@SourceProperties' {} a -> s {cpus = a} :: SourceProperties) Prelude.. Lens.mapping Lens.coerced++-- | An array of disks.+sourceProperties_disks :: Lens.Lens' SourceProperties (Prelude.Maybe [Disk])+sourceProperties_disks = Lens.lens (\SourceProperties' {disks} -> disks) (\s@SourceProperties' {} a -> s {disks = a} :: SourceProperties) Prelude.. Lens.mapping Lens.coerced++-- | Hints used to uniquely identify a machine.+sourceProperties_identificationHints :: Lens.Lens' SourceProperties (Prelude.Maybe IdentificationHints)+sourceProperties_identificationHints = Lens.lens (\SourceProperties' {identificationHints} -> identificationHints) (\s@SourceProperties' {} a -> s {identificationHints = a} :: SourceProperties)++-- | The date and time the Source Properties were last updated on.+sourceProperties_lastUpdatedDateTime :: Lens.Lens' SourceProperties (Prelude.Maybe Prelude.Text)+sourceProperties_lastUpdatedDateTime = Lens.lens (\SourceProperties' {lastUpdatedDateTime} -> lastUpdatedDateTime) (\s@SourceProperties' {} a -> s {lastUpdatedDateTime = a} :: SourceProperties)++-- | An array of network interfaces.+sourceProperties_networkInterfaces :: Lens.Lens' SourceProperties (Prelude.Maybe [NetworkInterface])+sourceProperties_networkInterfaces = Lens.lens (\SourceProperties' {networkInterfaces} -> networkInterfaces) (\s@SourceProperties' {} a -> s {networkInterfaces = a} :: SourceProperties) Prelude.. Lens.mapping Lens.coerced++-- | Operating system.+sourceProperties_os :: Lens.Lens' SourceProperties (Prelude.Maybe OS)+sourceProperties_os = Lens.lens (\SourceProperties' {os} -> os) (\s@SourceProperties' {} a -> s {os = a} :: SourceProperties)++-- | The amount of RAM in bytes.+sourceProperties_ramBytes :: Lens.Lens' SourceProperties (Prelude.Maybe Prelude.Natural)+sourceProperties_ramBytes = Lens.lens (\SourceProperties' {ramBytes} -> ramBytes) (\s@SourceProperties' {} a -> s {ramBytes = a} :: SourceProperties)++-- | The recommended EC2 instance type that will be used when recovering the+-- Source Server.+sourceProperties_recommendedInstanceType :: Lens.Lens' SourceProperties (Prelude.Maybe Prelude.Text)+sourceProperties_recommendedInstanceType = Lens.lens (\SourceProperties' {recommendedInstanceType} -> recommendedInstanceType) (\s@SourceProperties' {} a -> s {recommendedInstanceType = a} :: SourceProperties)++instance Data.FromJSON SourceProperties where+ parseJSON =+ Data.withObject+ "SourceProperties"+ ( \x ->+ SourceProperties'+ Prelude.<$> (x Data..:? "cpus" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "disks" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "identificationHints")+ Prelude.<*> (x Data..:? "lastUpdatedDateTime")+ Prelude.<*> ( x+ Data..:? "networkInterfaces"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "os")+ Prelude.<*> (x Data..:? "ramBytes")+ Prelude.<*> (x Data..:? "recommendedInstanceType")+ )++instance Prelude.Hashable SourceProperties where+ hashWithSalt _salt SourceProperties' {..} =+ _salt+ `Prelude.hashWithSalt` cpus+ `Prelude.hashWithSalt` disks+ `Prelude.hashWithSalt` identificationHints+ `Prelude.hashWithSalt` lastUpdatedDateTime+ `Prelude.hashWithSalt` networkInterfaces+ `Prelude.hashWithSalt` os+ `Prelude.hashWithSalt` ramBytes+ `Prelude.hashWithSalt` recommendedInstanceType++instance Prelude.NFData SourceProperties where+ rnf SourceProperties' {..} =+ Prelude.rnf cpus+ `Prelude.seq` Prelude.rnf disks+ `Prelude.seq` Prelude.rnf identificationHints+ `Prelude.seq` Prelude.rnf lastUpdatedDateTime+ `Prelude.seq` Prelude.rnf networkInterfaces+ `Prelude.seq` Prelude.rnf os+ `Prelude.seq` Prelude.rnf ramBytes+ `Prelude.seq` Prelude.rnf recommendedInstanceType
+ gen/Amazonka/DrS/Types/SourceServer.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.SourceServer+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.SourceServer where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.DataReplicationInfo+import Amazonka.DrS.Types.LastLaunchResult+import Amazonka.DrS.Types.LifeCycle+import Amazonka.DrS.Types.ReplicationDirection+import Amazonka.DrS.Types.SourceCloudProperties+import Amazonka.DrS.Types.SourceProperties+import Amazonka.DrS.Types.StagingArea+import qualified Amazonka.Prelude as Prelude++-- | /See:/ 'newSourceServer' smart constructor.+data SourceServer = SourceServer'+ { -- | The ARN of the Source Server.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The Data Replication Info of the Source Server.+ dataReplicationInfo :: Prelude.Maybe DataReplicationInfo,+ -- | The status of the last recovery launch of this Source Server.+ lastLaunchResult :: Prelude.Maybe LastLaunchResult,+ -- | The lifecycle information of this Source Server.+ lifeCycle :: Prelude.Maybe LifeCycle,+ -- | The ID of the Recovery Instance associated with this Source Server.+ recoveryInstanceId :: Prelude.Maybe Prelude.Text,+ -- | Replication direction of the Source Server.+ replicationDirection :: Prelude.Maybe ReplicationDirection,+ -- | For EC2-originated Source Servers which have been failed over and then+ -- failed back, this value will mean the ARN of the Source Server on the+ -- opposite replication direction.+ reversedDirectionSourceServerArn :: Prelude.Maybe Prelude.Text,+ -- | Source cloud properties of the Source Server.+ sourceCloudProperties :: Prelude.Maybe SourceCloudProperties,+ -- | The source properties of the Source Server.+ sourceProperties :: Prelude.Maybe SourceProperties,+ -- | The ID of the Source Server.+ sourceServerID :: Prelude.Maybe Prelude.Text,+ -- | The staging area of the source server.+ stagingArea :: Prelude.Maybe StagingArea,+ -- | The tags associated with the Source Server.+ tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text))+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceServer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'sourceServer_arn' - The ARN of the Source Server.+--+-- 'dataReplicationInfo', 'sourceServer_dataReplicationInfo' - The Data Replication Info of the Source Server.+--+-- 'lastLaunchResult', 'sourceServer_lastLaunchResult' - The status of the last recovery launch of this Source Server.+--+-- 'lifeCycle', 'sourceServer_lifeCycle' - The lifecycle information of this Source Server.+--+-- 'recoveryInstanceId', 'sourceServer_recoveryInstanceId' - The ID of the Recovery Instance associated with this Source Server.+--+-- 'replicationDirection', 'sourceServer_replicationDirection' - Replication direction of the Source Server.+--+-- 'reversedDirectionSourceServerArn', 'sourceServer_reversedDirectionSourceServerArn' - For EC2-originated Source Servers which have been failed over and then+-- failed back, this value will mean the ARN of the Source Server on the+-- opposite replication direction.+--+-- 'sourceCloudProperties', 'sourceServer_sourceCloudProperties' - Source cloud properties of the Source Server.+--+-- 'sourceProperties', 'sourceServer_sourceProperties' - The source properties of the Source Server.+--+-- 'sourceServerID', 'sourceServer_sourceServerID' - The ID of the Source Server.+--+-- 'stagingArea', 'sourceServer_stagingArea' - The staging area of the source server.+--+-- 'tags', 'sourceServer_tags' - The tags associated with the Source Server.+newSourceServer ::+ SourceServer+newSourceServer =+ SourceServer'+ { arn = Prelude.Nothing,+ dataReplicationInfo = Prelude.Nothing,+ lastLaunchResult = Prelude.Nothing,+ lifeCycle = Prelude.Nothing,+ recoveryInstanceId = Prelude.Nothing,+ replicationDirection = Prelude.Nothing,+ reversedDirectionSourceServerArn = Prelude.Nothing,+ sourceCloudProperties = Prelude.Nothing,+ sourceProperties = Prelude.Nothing,+ sourceServerID = Prelude.Nothing,+ stagingArea = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The ARN of the Source Server.+sourceServer_arn :: Lens.Lens' SourceServer (Prelude.Maybe Prelude.Text)+sourceServer_arn = Lens.lens (\SourceServer' {arn} -> arn) (\s@SourceServer' {} a -> s {arn = a} :: SourceServer)++-- | The Data Replication Info of the Source Server.+sourceServer_dataReplicationInfo :: Lens.Lens' SourceServer (Prelude.Maybe DataReplicationInfo)+sourceServer_dataReplicationInfo = Lens.lens (\SourceServer' {dataReplicationInfo} -> dataReplicationInfo) (\s@SourceServer' {} a -> s {dataReplicationInfo = a} :: SourceServer)++-- | The status of the last recovery launch of this Source Server.+sourceServer_lastLaunchResult :: Lens.Lens' SourceServer (Prelude.Maybe LastLaunchResult)+sourceServer_lastLaunchResult = Lens.lens (\SourceServer' {lastLaunchResult} -> lastLaunchResult) (\s@SourceServer' {} a -> s {lastLaunchResult = a} :: SourceServer)++-- | The lifecycle information of this Source Server.+sourceServer_lifeCycle :: Lens.Lens' SourceServer (Prelude.Maybe LifeCycle)+sourceServer_lifeCycle = Lens.lens (\SourceServer' {lifeCycle} -> lifeCycle) (\s@SourceServer' {} a -> s {lifeCycle = a} :: SourceServer)++-- | The ID of the Recovery Instance associated with this Source Server.+sourceServer_recoveryInstanceId :: Lens.Lens' SourceServer (Prelude.Maybe Prelude.Text)+sourceServer_recoveryInstanceId = Lens.lens (\SourceServer' {recoveryInstanceId} -> recoveryInstanceId) (\s@SourceServer' {} a -> s {recoveryInstanceId = a} :: SourceServer)++-- | Replication direction of the Source Server.+sourceServer_replicationDirection :: Lens.Lens' SourceServer (Prelude.Maybe ReplicationDirection)+sourceServer_replicationDirection = Lens.lens (\SourceServer' {replicationDirection} -> replicationDirection) (\s@SourceServer' {} a -> s {replicationDirection = a} :: SourceServer)++-- | For EC2-originated Source Servers which have been failed over and then+-- failed back, this value will mean the ARN of the Source Server on the+-- opposite replication direction.+sourceServer_reversedDirectionSourceServerArn :: Lens.Lens' SourceServer (Prelude.Maybe Prelude.Text)+sourceServer_reversedDirectionSourceServerArn = Lens.lens (\SourceServer' {reversedDirectionSourceServerArn} -> reversedDirectionSourceServerArn) (\s@SourceServer' {} a -> s {reversedDirectionSourceServerArn = a} :: SourceServer)++-- | Source cloud properties of the Source Server.+sourceServer_sourceCloudProperties :: Lens.Lens' SourceServer (Prelude.Maybe SourceCloudProperties)+sourceServer_sourceCloudProperties = Lens.lens (\SourceServer' {sourceCloudProperties} -> sourceCloudProperties) (\s@SourceServer' {} a -> s {sourceCloudProperties = a} :: SourceServer)++-- | The source properties of the Source Server.+sourceServer_sourceProperties :: Lens.Lens' SourceServer (Prelude.Maybe SourceProperties)+sourceServer_sourceProperties = Lens.lens (\SourceServer' {sourceProperties} -> sourceProperties) (\s@SourceServer' {} a -> s {sourceProperties = a} :: SourceServer)++-- | The ID of the Source Server.+sourceServer_sourceServerID :: Lens.Lens' SourceServer (Prelude.Maybe Prelude.Text)+sourceServer_sourceServerID = Lens.lens (\SourceServer' {sourceServerID} -> sourceServerID) (\s@SourceServer' {} a -> s {sourceServerID = a} :: SourceServer)++-- | The staging area of the source server.+sourceServer_stagingArea :: Lens.Lens' SourceServer (Prelude.Maybe StagingArea)+sourceServer_stagingArea = Lens.lens (\SourceServer' {stagingArea} -> stagingArea) (\s@SourceServer' {} a -> s {stagingArea = a} :: SourceServer)++-- | The tags associated with the Source Server.+sourceServer_tags :: Lens.Lens' SourceServer (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+sourceServer_tags = Lens.lens (\SourceServer' {tags} -> tags) (\s@SourceServer' {} a -> s {tags = a} :: SourceServer) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++instance Data.FromJSON SourceServer where+ parseJSON =+ Data.withObject+ "SourceServer"+ ( \x ->+ SourceServer'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "dataReplicationInfo")+ Prelude.<*> (x Data..:? "lastLaunchResult")+ Prelude.<*> (x Data..:? "lifeCycle")+ Prelude.<*> (x Data..:? "recoveryInstanceId")+ Prelude.<*> (x Data..:? "replicationDirection")+ Prelude.<*> (x Data..:? "reversedDirectionSourceServerArn")+ Prelude.<*> (x Data..:? "sourceCloudProperties")+ Prelude.<*> (x Data..:? "sourceProperties")+ Prelude.<*> (x Data..:? "sourceServerID")+ Prelude.<*> (x Data..:? "stagingArea")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable SourceServer where+ hashWithSalt _salt SourceServer' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` dataReplicationInfo+ `Prelude.hashWithSalt` lastLaunchResult+ `Prelude.hashWithSalt` lifeCycle+ `Prelude.hashWithSalt` recoveryInstanceId+ `Prelude.hashWithSalt` replicationDirection+ `Prelude.hashWithSalt` reversedDirectionSourceServerArn+ `Prelude.hashWithSalt` sourceCloudProperties+ `Prelude.hashWithSalt` sourceProperties+ `Prelude.hashWithSalt` sourceServerID+ `Prelude.hashWithSalt` stagingArea+ `Prelude.hashWithSalt` tags++instance Prelude.NFData SourceServer where+ rnf SourceServer' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf dataReplicationInfo+ `Prelude.seq` Prelude.rnf lastLaunchResult+ `Prelude.seq` Prelude.rnf lifeCycle+ `Prelude.seq` Prelude.rnf recoveryInstanceId+ `Prelude.seq` Prelude.rnf replicationDirection+ `Prelude.seq` Prelude.rnf reversedDirectionSourceServerArn+ `Prelude.seq` Prelude.rnf sourceCloudProperties+ `Prelude.seq` Prelude.rnf sourceProperties+ `Prelude.seq` Prelude.rnf sourceServerID+ `Prelude.seq` Prelude.rnf stagingArea+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/DrS/Types/StagingArea.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.StagingArea+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.StagingArea where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types.ExtensionStatus+import qualified Amazonka.Prelude as Prelude++-- | Staging information related to source server.+--+-- /See:/ 'newStagingArea' smart constructor.+data StagingArea = StagingArea'+ { -- | Shows an error message that occurred when DRS tried to access the+ -- staging source server. In this case StagingArea$status will have value+ -- EXTENSION_ERROR+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | Account ID of the account to which source server belongs. If this source+ -- server is extended - shows Account ID of staging source server.+ stagingAccountID :: Prelude.Maybe Prelude.Text,+ -- | Arn of the staging source server if this source server is extended+ stagingSourceServerArn :: Prelude.Maybe Prelude.Text,+ -- | Status of Source server extension. Possible values: (a) NOT_EXTENDED -+ -- This is a source server that is replicating in the current account. (b)+ -- EXTENDED - Source server is extended from a staging source server. In+ -- this case, the value of stagingSourceServerArn is pointing to the Arn of+ -- the source server in the staging account. (c) EXTENSION_ERROR - Some+ -- issue occurred when accessing staging source server. In this case,+ -- errorMessage field will contain an error message that explains what+ -- happened.+ status :: Prelude.Maybe ExtensionStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StagingArea' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorMessage', 'stagingArea_errorMessage' - Shows an error message that occurred when DRS tried to access the+-- staging source server. In this case StagingArea$status will have value+-- EXTENSION_ERROR+--+-- 'stagingAccountID', 'stagingArea_stagingAccountID' - Account ID of the account to which source server belongs. If this source+-- server is extended - shows Account ID of staging source server.+--+-- 'stagingSourceServerArn', 'stagingArea_stagingSourceServerArn' - Arn of the staging source server if this source server is extended+--+-- 'status', 'stagingArea_status' - Status of Source server extension. Possible values: (a) NOT_EXTENDED -+-- This is a source server that is replicating in the current account. (b)+-- EXTENDED - Source server is extended from a staging source server. In+-- this case, the value of stagingSourceServerArn is pointing to the Arn of+-- the source server in the staging account. (c) EXTENSION_ERROR - Some+-- issue occurred when accessing staging source server. In this case,+-- errorMessage field will contain an error message that explains what+-- happened.+newStagingArea ::+ StagingArea+newStagingArea =+ StagingArea'+ { errorMessage = Prelude.Nothing,+ stagingAccountID = Prelude.Nothing,+ stagingSourceServerArn = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | Shows an error message that occurred when DRS tried to access the+-- staging source server. In this case StagingArea$status will have value+-- EXTENSION_ERROR+stagingArea_errorMessage :: Lens.Lens' StagingArea (Prelude.Maybe Prelude.Text)+stagingArea_errorMessage = Lens.lens (\StagingArea' {errorMessage} -> errorMessage) (\s@StagingArea' {} a -> s {errorMessage = a} :: StagingArea)++-- | Account ID of the account to which source server belongs. If this source+-- server is extended - shows Account ID of staging source server.+stagingArea_stagingAccountID :: Lens.Lens' StagingArea (Prelude.Maybe Prelude.Text)+stagingArea_stagingAccountID = Lens.lens (\StagingArea' {stagingAccountID} -> stagingAccountID) (\s@StagingArea' {} a -> s {stagingAccountID = a} :: StagingArea)++-- | Arn of the staging source server if this source server is extended+stagingArea_stagingSourceServerArn :: Lens.Lens' StagingArea (Prelude.Maybe Prelude.Text)+stagingArea_stagingSourceServerArn = Lens.lens (\StagingArea' {stagingSourceServerArn} -> stagingSourceServerArn) (\s@StagingArea' {} a -> s {stagingSourceServerArn = a} :: StagingArea)++-- | Status of Source server extension. Possible values: (a) NOT_EXTENDED -+-- This is a source server that is replicating in the current account. (b)+-- EXTENDED - Source server is extended from a staging source server. In+-- this case, the value of stagingSourceServerArn is pointing to the Arn of+-- the source server in the staging account. (c) EXTENSION_ERROR - Some+-- issue occurred when accessing staging source server. In this case,+-- errorMessage field will contain an error message that explains what+-- happened.+stagingArea_status :: Lens.Lens' StagingArea (Prelude.Maybe ExtensionStatus)+stagingArea_status = Lens.lens (\StagingArea' {status} -> status) (\s@StagingArea' {} a -> s {status = a} :: StagingArea)++instance Data.FromJSON StagingArea where+ parseJSON =+ Data.withObject+ "StagingArea"+ ( \x ->+ StagingArea'+ Prelude.<$> (x Data..:? "errorMessage")+ Prelude.<*> (x Data..:? "stagingAccountID")+ Prelude.<*> (x Data..:? "stagingSourceServerArn")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable StagingArea where+ hashWithSalt _salt StagingArea' {..} =+ _salt+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` stagingAccountID+ `Prelude.hashWithSalt` stagingSourceServerArn+ `Prelude.hashWithSalt` status++instance Prelude.NFData StagingArea where+ rnf StagingArea' {..} =+ Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf stagingAccountID+ `Prelude.seq` Prelude.rnf stagingSourceServerArn+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/DrS/Types/StagingSourceServer.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.StagingSourceServer+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.StagingSourceServer where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Source server in staging account that extended source server connected+-- to.+--+-- /See:/ 'newStagingSourceServer' smart constructor.+data StagingSourceServer = StagingSourceServer'+ { -- | The ARN of the source server.+ arn :: Prelude.Maybe Prelude.Text,+ -- | Hostname of staging source server.+ hostname :: Prelude.Maybe Prelude.Text,+ -- | A list of tags associated with the staging source server.+ tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text))+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StagingSourceServer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'stagingSourceServer_arn' - The ARN of the source server.+--+-- 'hostname', 'stagingSourceServer_hostname' - Hostname of staging source server.+--+-- 'tags', 'stagingSourceServer_tags' - A list of tags associated with the staging source server.+newStagingSourceServer ::+ StagingSourceServer+newStagingSourceServer =+ StagingSourceServer'+ { arn = Prelude.Nothing,+ hostname = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The ARN of the source server.+stagingSourceServer_arn :: Lens.Lens' StagingSourceServer (Prelude.Maybe Prelude.Text)+stagingSourceServer_arn = Lens.lens (\StagingSourceServer' {arn} -> arn) (\s@StagingSourceServer' {} a -> s {arn = a} :: StagingSourceServer)++-- | Hostname of staging source server.+stagingSourceServer_hostname :: Lens.Lens' StagingSourceServer (Prelude.Maybe Prelude.Text)+stagingSourceServer_hostname = Lens.lens (\StagingSourceServer' {hostname} -> hostname) (\s@StagingSourceServer' {} a -> s {hostname = a} :: StagingSourceServer)++-- | A list of tags associated with the staging source server.+stagingSourceServer_tags :: Lens.Lens' StagingSourceServer (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+stagingSourceServer_tags = Lens.lens (\StagingSourceServer' {tags} -> tags) (\s@StagingSourceServer' {} a -> s {tags = a} :: StagingSourceServer) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++instance Data.FromJSON StagingSourceServer where+ parseJSON =+ Data.withObject+ "StagingSourceServer"+ ( \x ->+ StagingSourceServer'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "hostname")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable StagingSourceServer where+ hashWithSalt _salt StagingSourceServer' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` hostname+ `Prelude.hashWithSalt` tags++instance Prelude.NFData StagingSourceServer where+ rnf StagingSourceServer' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf hostname+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/DrS/Types/StartRecoveryRequestSourceServer.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.StartRecoveryRequestSourceServer+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.StartRecoveryRequestSourceServer where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An object representing the Source Server to recover.+--+-- /See:/ 'newStartRecoveryRequestSourceServer' smart constructor.+data StartRecoveryRequestSourceServer = StartRecoveryRequestSourceServer'+ { -- | The ID of a Recovery Snapshot we want to recover from. Omit this field+ -- to launch from the latest data by taking an on-demand snapshot.+ recoverySnapshotID :: Prelude.Maybe Prelude.Text,+ -- | The ID of the Source Server you want to recover.+ sourceServerID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartRecoveryRequestSourceServer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'recoverySnapshotID', 'startRecoveryRequestSourceServer_recoverySnapshotID' - The ID of a Recovery Snapshot we want to recover from. Omit this field+-- to launch from the latest data by taking an on-demand snapshot.+--+-- 'sourceServerID', 'startRecoveryRequestSourceServer_sourceServerID' - The ID of the Source Server you want to recover.+newStartRecoveryRequestSourceServer ::+ -- | 'sourceServerID'+ Prelude.Text ->+ StartRecoveryRequestSourceServer+newStartRecoveryRequestSourceServer pSourceServerID_ =+ StartRecoveryRequestSourceServer'+ { recoverySnapshotID =+ Prelude.Nothing,+ sourceServerID = pSourceServerID_+ }++-- | The ID of a Recovery Snapshot we want to recover from. Omit this field+-- to launch from the latest data by taking an on-demand snapshot.+startRecoveryRequestSourceServer_recoverySnapshotID :: Lens.Lens' StartRecoveryRequestSourceServer (Prelude.Maybe Prelude.Text)+startRecoveryRequestSourceServer_recoverySnapshotID = Lens.lens (\StartRecoveryRequestSourceServer' {recoverySnapshotID} -> recoverySnapshotID) (\s@StartRecoveryRequestSourceServer' {} a -> s {recoverySnapshotID = a} :: StartRecoveryRequestSourceServer)++-- | The ID of the Source Server you want to recover.+startRecoveryRequestSourceServer_sourceServerID :: Lens.Lens' StartRecoveryRequestSourceServer Prelude.Text+startRecoveryRequestSourceServer_sourceServerID = Lens.lens (\StartRecoveryRequestSourceServer' {sourceServerID} -> sourceServerID) (\s@StartRecoveryRequestSourceServer' {} a -> s {sourceServerID = a} :: StartRecoveryRequestSourceServer)++instance+ Prelude.Hashable+ StartRecoveryRequestSourceServer+ where+ hashWithSalt+ _salt+ StartRecoveryRequestSourceServer' {..} =+ _salt+ `Prelude.hashWithSalt` recoverySnapshotID+ `Prelude.hashWithSalt` sourceServerID++instance+ Prelude.NFData+ StartRecoveryRequestSourceServer+ where+ rnf StartRecoveryRequestSourceServer' {..} =+ Prelude.rnf recoverySnapshotID+ `Prelude.seq` Prelude.rnf sourceServerID++instance Data.ToJSON StartRecoveryRequestSourceServer where+ toJSON StartRecoveryRequestSourceServer' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("recoverySnapshotID" Data..=)+ Prelude.<$> recoverySnapshotID,+ Prelude.Just+ ("sourceServerID" Data..= sourceServerID)+ ]+ )
+ gen/Amazonka/DrS/Types/TargetInstanceTypeRightSizingMethod.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Types.TargetInstanceTypeRightSizingMethod+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Types.TargetInstanceTypeRightSizingMethod+ ( TargetInstanceTypeRightSizingMethod+ ( ..,+ TargetInstanceTypeRightSizingMethod_BASIC,+ TargetInstanceTypeRightSizingMethod_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TargetInstanceTypeRightSizingMethod = TargetInstanceTypeRightSizingMethod'+ { fromTargetInstanceTypeRightSizingMethod ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern TargetInstanceTypeRightSizingMethod_BASIC :: TargetInstanceTypeRightSizingMethod+pattern TargetInstanceTypeRightSizingMethod_BASIC = TargetInstanceTypeRightSizingMethod' "BASIC"++pattern TargetInstanceTypeRightSizingMethod_NONE :: TargetInstanceTypeRightSizingMethod+pattern TargetInstanceTypeRightSizingMethod_NONE = TargetInstanceTypeRightSizingMethod' "NONE"++{-# COMPLETE+ TargetInstanceTypeRightSizingMethod_BASIC,+ TargetInstanceTypeRightSizingMethod_NONE,+ TargetInstanceTypeRightSizingMethod'+ #-}
+ gen/Amazonka/DrS/UntagResource.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified set of tags from the specified set of Elastic+-- Disaster Recovery resources.+module Amazonka.DrS.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | ARN of the resource for which tags are to be removed.+ resourceArn :: Prelude.Text,+ -- | Array of tags to be removed.+ tagKeys :: Data.Sensitive [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - ARN of the resource for which tags are to be removed.+--+-- 'tagKeys', 'untagResource_tagKeys' - Array of tags to be removed.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | ARN of the resource for which tags are to be removed.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | Array of tags to be removed.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Data._Sensitive Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull UntagResourceResponse'++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath UntagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newUntagResourceResponse ::+ UntagResourceResponse+newUntagResourceResponse = UntagResourceResponse'++instance Prelude.NFData UntagResourceResponse where+ rnf _ = ()
+ gen/Amazonka/DrS/UpdateFailbackReplicationConfiguration.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.UpdateFailbackReplicationConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Allows you to update the failback replication configuration of a+-- Recovery Instance by ID.+module Amazonka.DrS.UpdateFailbackReplicationConfiguration+ ( -- * Creating a Request+ UpdateFailbackReplicationConfiguration (..),+ newUpdateFailbackReplicationConfiguration,++ -- * Request Lenses+ updateFailbackReplicationConfiguration_bandwidthThrottling,+ updateFailbackReplicationConfiguration_name,+ updateFailbackReplicationConfiguration_usePrivateIP,+ updateFailbackReplicationConfiguration_recoveryInstanceID,++ -- * Destructuring the Response+ UpdateFailbackReplicationConfigurationResponse (..),+ newUpdateFailbackReplicationConfigurationResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateFailbackReplicationConfiguration' smart constructor.+data UpdateFailbackReplicationConfiguration = UpdateFailbackReplicationConfiguration'+ { -- | Configure bandwidth throttling for the outbound data transfer rate of+ -- the Recovery Instance in Mbps.+ bandwidthThrottling :: Prelude.Maybe Prelude.Natural,+ -- | The name of the Failback Replication Configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | Whether to use Private IP for the failback replication of the Recovery+ -- Instance.+ usePrivateIP :: Prelude.Maybe Prelude.Bool,+ -- | The ID of the Recovery Instance.+ recoveryInstanceID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFailbackReplicationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bandwidthThrottling', 'updateFailbackReplicationConfiguration_bandwidthThrottling' - Configure bandwidth throttling for the outbound data transfer rate of+-- the Recovery Instance in Mbps.+--+-- 'name', 'updateFailbackReplicationConfiguration_name' - The name of the Failback Replication Configuration.+--+-- 'usePrivateIP', 'updateFailbackReplicationConfiguration_usePrivateIP' - Whether to use Private IP for the failback replication of the Recovery+-- Instance.+--+-- 'recoveryInstanceID', 'updateFailbackReplicationConfiguration_recoveryInstanceID' - The ID of the Recovery Instance.+newUpdateFailbackReplicationConfiguration ::+ -- | 'recoveryInstanceID'+ Prelude.Text ->+ UpdateFailbackReplicationConfiguration+newUpdateFailbackReplicationConfiguration+ pRecoveryInstanceID_ =+ UpdateFailbackReplicationConfiguration'+ { bandwidthThrottling =+ Prelude.Nothing,+ name = Prelude.Nothing,+ usePrivateIP = Prelude.Nothing,+ recoveryInstanceID =+ pRecoveryInstanceID_+ }++-- | Configure bandwidth throttling for the outbound data transfer rate of+-- the Recovery Instance in Mbps.+updateFailbackReplicationConfiguration_bandwidthThrottling :: Lens.Lens' UpdateFailbackReplicationConfiguration (Prelude.Maybe Prelude.Natural)+updateFailbackReplicationConfiguration_bandwidthThrottling = Lens.lens (\UpdateFailbackReplicationConfiguration' {bandwidthThrottling} -> bandwidthThrottling) (\s@UpdateFailbackReplicationConfiguration' {} a -> s {bandwidthThrottling = a} :: UpdateFailbackReplicationConfiguration)++-- | The name of the Failback Replication Configuration.+updateFailbackReplicationConfiguration_name :: Lens.Lens' UpdateFailbackReplicationConfiguration (Prelude.Maybe Prelude.Text)+updateFailbackReplicationConfiguration_name = Lens.lens (\UpdateFailbackReplicationConfiguration' {name} -> name) (\s@UpdateFailbackReplicationConfiguration' {} a -> s {name = a} :: UpdateFailbackReplicationConfiguration)++-- | Whether to use Private IP for the failback replication of the Recovery+-- Instance.+updateFailbackReplicationConfiguration_usePrivateIP :: Lens.Lens' UpdateFailbackReplicationConfiguration (Prelude.Maybe Prelude.Bool)+updateFailbackReplicationConfiguration_usePrivateIP = Lens.lens (\UpdateFailbackReplicationConfiguration' {usePrivateIP} -> usePrivateIP) (\s@UpdateFailbackReplicationConfiguration' {} a -> s {usePrivateIP = a} :: UpdateFailbackReplicationConfiguration)++-- | The ID of the Recovery Instance.+updateFailbackReplicationConfiguration_recoveryInstanceID :: Lens.Lens' UpdateFailbackReplicationConfiguration Prelude.Text+updateFailbackReplicationConfiguration_recoveryInstanceID = Lens.lens (\UpdateFailbackReplicationConfiguration' {recoveryInstanceID} -> recoveryInstanceID) (\s@UpdateFailbackReplicationConfiguration' {} a -> s {recoveryInstanceID = a} :: UpdateFailbackReplicationConfiguration)++instance+ Core.AWSRequest+ UpdateFailbackReplicationConfiguration+ where+ type+ AWSResponse+ UpdateFailbackReplicationConfiguration =+ UpdateFailbackReplicationConfigurationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveNull+ UpdateFailbackReplicationConfigurationResponse'++instance+ Prelude.Hashable+ UpdateFailbackReplicationConfiguration+ where+ hashWithSalt+ _salt+ UpdateFailbackReplicationConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` bandwidthThrottling+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` usePrivateIP+ `Prelude.hashWithSalt` recoveryInstanceID++instance+ Prelude.NFData+ UpdateFailbackReplicationConfiguration+ where+ rnf UpdateFailbackReplicationConfiguration' {..} =+ Prelude.rnf bandwidthThrottling+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf usePrivateIP+ `Prelude.seq` Prelude.rnf recoveryInstanceID++instance+ Data.ToHeaders+ UpdateFailbackReplicationConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ UpdateFailbackReplicationConfiguration+ where+ toJSON UpdateFailbackReplicationConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("bandwidthThrottling" Data..=)+ Prelude.<$> bandwidthThrottling,+ ("name" Data..=) Prelude.<$> name,+ ("usePrivateIP" Data..=) Prelude.<$> usePrivateIP,+ Prelude.Just+ ("recoveryInstanceID" Data..= recoveryInstanceID)+ ]+ )++instance+ Data.ToPath+ UpdateFailbackReplicationConfiguration+ where+ toPath =+ Prelude.const+ "/UpdateFailbackReplicationConfiguration"++instance+ Data.ToQuery+ UpdateFailbackReplicationConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFailbackReplicationConfigurationResponse' smart constructor.+data UpdateFailbackReplicationConfigurationResponse = UpdateFailbackReplicationConfigurationResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFailbackReplicationConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newUpdateFailbackReplicationConfigurationResponse ::+ UpdateFailbackReplicationConfigurationResponse+newUpdateFailbackReplicationConfigurationResponse =+ UpdateFailbackReplicationConfigurationResponse'++instance+ Prelude.NFData+ UpdateFailbackReplicationConfigurationResponse+ where+ rnf _ = ()
+ gen/Amazonka/DrS/UpdateLaunchConfiguration.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.UpdateLaunchConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a LaunchConfiguration by Source Server ID.+module Amazonka.DrS.UpdateLaunchConfiguration+ ( -- * Creating a Request+ UpdateLaunchConfiguration (..),+ newUpdateLaunchConfiguration,++ -- * Request Lenses+ updateLaunchConfiguration_copyPrivateIp,+ updateLaunchConfiguration_copyTags,+ updateLaunchConfiguration_launchDisposition,+ updateLaunchConfiguration_licensing,+ updateLaunchConfiguration_name,+ updateLaunchConfiguration_targetInstanceTypeRightSizingMethod,+ updateLaunchConfiguration_sourceServerID,++ -- * Destructuring the Response+ LaunchConfiguration (..),+ newLaunchConfiguration,++ -- * Response Lenses+ launchConfiguration_copyPrivateIp,+ launchConfiguration_copyTags,+ launchConfiguration_ec2LaunchTemplateID,+ launchConfiguration_launchDisposition,+ launchConfiguration_licensing,+ launchConfiguration_name,+ launchConfiguration_sourceServerID,+ launchConfiguration_targetInstanceTypeRightSizingMethod,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLaunchConfiguration' smart constructor.+data UpdateLaunchConfiguration = UpdateLaunchConfiguration'+ { -- | Whether we should copy the Private IP of the Source Server to the+ -- Recovery Instance.+ copyPrivateIp :: Prelude.Maybe Prelude.Bool,+ -- | Whether we want to copy the tags of the Source Server to the EC2 machine+ -- of the Recovery Instance.+ copyTags :: Prelude.Maybe Prelude.Bool,+ -- | The state of the Recovery Instance in EC2 after the recovery operation.+ launchDisposition :: Prelude.Maybe LaunchDisposition,+ -- | The licensing configuration to be used for this launch configuration.+ licensing :: Prelude.Maybe Licensing,+ -- | The name of the launch configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | Whether Elastic Disaster Recovery should try to automatically choose the+ -- instance type that best matches the OS, CPU, and RAM of your Source+ -- Server.+ targetInstanceTypeRightSizingMethod :: Prelude.Maybe TargetInstanceTypeRightSizingMethod,+ -- | The ID of the Source Server that we want to retrieve a Launch+ -- Configuration for.+ sourceServerID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLaunchConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copyPrivateIp', 'updateLaunchConfiguration_copyPrivateIp' - Whether we should copy the Private IP of the Source Server to the+-- Recovery Instance.+--+-- 'copyTags', 'updateLaunchConfiguration_copyTags' - Whether we want to copy the tags of the Source Server to the EC2 machine+-- of the Recovery Instance.+--+-- 'launchDisposition', 'updateLaunchConfiguration_launchDisposition' - The state of the Recovery Instance in EC2 after the recovery operation.+--+-- 'licensing', 'updateLaunchConfiguration_licensing' - The licensing configuration to be used for this launch configuration.+--+-- 'name', 'updateLaunchConfiguration_name' - The name of the launch configuration.+--+-- 'targetInstanceTypeRightSizingMethod', 'updateLaunchConfiguration_targetInstanceTypeRightSizingMethod' - Whether Elastic Disaster Recovery should try to automatically choose the+-- instance type that best matches the OS, CPU, and RAM of your Source+-- Server.+--+-- 'sourceServerID', 'updateLaunchConfiguration_sourceServerID' - The ID of the Source Server that we want to retrieve a Launch+-- Configuration for.+newUpdateLaunchConfiguration ::+ -- | 'sourceServerID'+ Prelude.Text ->+ UpdateLaunchConfiguration+newUpdateLaunchConfiguration pSourceServerID_ =+ UpdateLaunchConfiguration'+ { copyPrivateIp =+ Prelude.Nothing,+ copyTags = Prelude.Nothing,+ launchDisposition = Prelude.Nothing,+ licensing = Prelude.Nothing,+ name = Prelude.Nothing,+ targetInstanceTypeRightSizingMethod =+ Prelude.Nothing,+ sourceServerID = pSourceServerID_+ }++-- | Whether we should copy the Private IP of the Source Server to the+-- Recovery Instance.+updateLaunchConfiguration_copyPrivateIp :: Lens.Lens' UpdateLaunchConfiguration (Prelude.Maybe Prelude.Bool)+updateLaunchConfiguration_copyPrivateIp = Lens.lens (\UpdateLaunchConfiguration' {copyPrivateIp} -> copyPrivateIp) (\s@UpdateLaunchConfiguration' {} a -> s {copyPrivateIp = a} :: UpdateLaunchConfiguration)++-- | Whether we want to copy the tags of the Source Server to the EC2 machine+-- of the Recovery Instance.+updateLaunchConfiguration_copyTags :: Lens.Lens' UpdateLaunchConfiguration (Prelude.Maybe Prelude.Bool)+updateLaunchConfiguration_copyTags = Lens.lens (\UpdateLaunchConfiguration' {copyTags} -> copyTags) (\s@UpdateLaunchConfiguration' {} a -> s {copyTags = a} :: UpdateLaunchConfiguration)++-- | The state of the Recovery Instance in EC2 after the recovery operation.+updateLaunchConfiguration_launchDisposition :: Lens.Lens' UpdateLaunchConfiguration (Prelude.Maybe LaunchDisposition)+updateLaunchConfiguration_launchDisposition = Lens.lens (\UpdateLaunchConfiguration' {launchDisposition} -> launchDisposition) (\s@UpdateLaunchConfiguration' {} a -> s {launchDisposition = a} :: UpdateLaunchConfiguration)++-- | The licensing configuration to be used for this launch configuration.+updateLaunchConfiguration_licensing :: Lens.Lens' UpdateLaunchConfiguration (Prelude.Maybe Licensing)+updateLaunchConfiguration_licensing = Lens.lens (\UpdateLaunchConfiguration' {licensing} -> licensing) (\s@UpdateLaunchConfiguration' {} a -> s {licensing = a} :: UpdateLaunchConfiguration)++-- | The name of the launch configuration.+updateLaunchConfiguration_name :: Lens.Lens' UpdateLaunchConfiguration (Prelude.Maybe Prelude.Text)+updateLaunchConfiguration_name = Lens.lens (\UpdateLaunchConfiguration' {name} -> name) (\s@UpdateLaunchConfiguration' {} a -> s {name = a} :: UpdateLaunchConfiguration)++-- | Whether Elastic Disaster Recovery should try to automatically choose the+-- instance type that best matches the OS, CPU, and RAM of your Source+-- Server.+updateLaunchConfiguration_targetInstanceTypeRightSizingMethod :: Lens.Lens' UpdateLaunchConfiguration (Prelude.Maybe TargetInstanceTypeRightSizingMethod)+updateLaunchConfiguration_targetInstanceTypeRightSizingMethod = Lens.lens (\UpdateLaunchConfiguration' {targetInstanceTypeRightSizingMethod} -> targetInstanceTypeRightSizingMethod) (\s@UpdateLaunchConfiguration' {} a -> s {targetInstanceTypeRightSizingMethod = a} :: UpdateLaunchConfiguration)++-- | The ID of the Source Server that we want to retrieve a Launch+-- Configuration for.+updateLaunchConfiguration_sourceServerID :: Lens.Lens' UpdateLaunchConfiguration Prelude.Text+updateLaunchConfiguration_sourceServerID = Lens.lens (\UpdateLaunchConfiguration' {sourceServerID} -> sourceServerID) (\s@UpdateLaunchConfiguration' {} a -> s {sourceServerID = a} :: UpdateLaunchConfiguration)++instance Core.AWSRequest UpdateLaunchConfiguration where+ type+ AWSResponse UpdateLaunchConfiguration =+ LaunchConfiguration+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable UpdateLaunchConfiguration where+ hashWithSalt _salt UpdateLaunchConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` copyPrivateIp+ `Prelude.hashWithSalt` copyTags+ `Prelude.hashWithSalt` launchDisposition+ `Prelude.hashWithSalt` licensing+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` targetInstanceTypeRightSizingMethod+ `Prelude.hashWithSalt` sourceServerID++instance Prelude.NFData UpdateLaunchConfiguration where+ rnf UpdateLaunchConfiguration' {..} =+ Prelude.rnf copyPrivateIp+ `Prelude.seq` Prelude.rnf copyTags+ `Prelude.seq` Prelude.rnf launchDisposition+ `Prelude.seq` Prelude.rnf licensing+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf targetInstanceTypeRightSizingMethod+ `Prelude.seq` Prelude.rnf sourceServerID++instance Data.ToHeaders UpdateLaunchConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateLaunchConfiguration where+ toJSON UpdateLaunchConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("copyPrivateIp" Data..=) Prelude.<$> copyPrivateIp,+ ("copyTags" Data..=) Prelude.<$> copyTags,+ ("launchDisposition" Data..=)+ Prelude.<$> launchDisposition,+ ("licensing" Data..=) Prelude.<$> licensing,+ ("name" Data..=) Prelude.<$> name,+ ("targetInstanceTypeRightSizingMethod" Data..=)+ Prelude.<$> targetInstanceTypeRightSizingMethod,+ Prelude.Just+ ("sourceServerID" Data..= sourceServerID)+ ]+ )++instance Data.ToPath UpdateLaunchConfiguration where+ toPath = Prelude.const "/UpdateLaunchConfiguration"++instance Data.ToQuery UpdateLaunchConfiguration where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/DrS/UpdateReplicationConfiguration.hs view
@@ -0,0 +1,383 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.UpdateReplicationConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Allows you to update a ReplicationConfiguration by Source Server ID.+module Amazonka.DrS.UpdateReplicationConfiguration+ ( -- * Creating a Request+ UpdateReplicationConfiguration (..),+ newUpdateReplicationConfiguration,++ -- * Request Lenses+ updateReplicationConfiguration_associateDefaultSecurityGroup,+ updateReplicationConfiguration_bandwidthThrottling,+ updateReplicationConfiguration_createPublicIP,+ updateReplicationConfiguration_dataPlaneRouting,+ updateReplicationConfiguration_defaultLargeStagingDiskType,+ updateReplicationConfiguration_ebsEncryption,+ updateReplicationConfiguration_ebsEncryptionKeyArn,+ updateReplicationConfiguration_name,+ updateReplicationConfiguration_pitPolicy,+ updateReplicationConfiguration_replicatedDisks,+ updateReplicationConfiguration_replicationServerInstanceType,+ updateReplicationConfiguration_replicationServersSecurityGroupsIDs,+ updateReplicationConfiguration_stagingAreaSubnetId,+ updateReplicationConfiguration_stagingAreaTags,+ updateReplicationConfiguration_useDedicatedReplicationServer,+ updateReplicationConfiguration_sourceServerID,++ -- * Destructuring the Response+ ReplicationConfiguration (..),+ newReplicationConfiguration,++ -- * Response Lenses+ replicationConfiguration_associateDefaultSecurityGroup,+ replicationConfiguration_bandwidthThrottling,+ replicationConfiguration_createPublicIP,+ replicationConfiguration_dataPlaneRouting,+ replicationConfiguration_defaultLargeStagingDiskType,+ replicationConfiguration_ebsEncryption,+ replicationConfiguration_ebsEncryptionKeyArn,+ replicationConfiguration_name,+ replicationConfiguration_pitPolicy,+ replicationConfiguration_replicatedDisks,+ replicationConfiguration_replicationServerInstanceType,+ replicationConfiguration_replicationServersSecurityGroupsIDs,+ replicationConfiguration_sourceServerID,+ replicationConfiguration_stagingAreaSubnetId,+ replicationConfiguration_stagingAreaTags,+ replicationConfiguration_useDedicatedReplicationServer,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateReplicationConfiguration' smart constructor.+data UpdateReplicationConfiguration = UpdateReplicationConfiguration'+ { -- | Whether to associate the default Elastic Disaster Recovery Security+ -- group with the Replication Configuration.+ associateDefaultSecurityGroup :: Prelude.Maybe Prelude.Bool,+ -- | Configure bandwidth throttling for the outbound data transfer rate of+ -- the Source Server in Mbps.+ bandwidthThrottling :: Prelude.Maybe Prelude.Natural,+ -- | Whether to create a Public IP for the Recovery Instance by default.+ createPublicIP :: Prelude.Maybe Prelude.Bool,+ -- | The data plane routing mechanism that will be used for replication.+ dataPlaneRouting :: Prelude.Maybe ReplicationConfigurationDataPlaneRouting,+ -- | The Staging Disk EBS volume type to be used during replication.+ defaultLargeStagingDiskType :: Prelude.Maybe ReplicationConfigurationDefaultLargeStagingDiskType,+ -- | The type of EBS encryption to be used during replication.+ ebsEncryption :: Prelude.Maybe ReplicationConfigurationEbsEncryption,+ -- | The ARN of the EBS encryption key to be used during replication.+ ebsEncryptionKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the Replication Configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | The Point in time (PIT) policy to manage snapshots taken during+ -- replication.+ pitPolicy :: Prelude.Maybe (Prelude.NonEmpty PITPolicyRule),+ -- | The configuration of the disks of the Source Server to be replicated.+ replicatedDisks :: Prelude.Maybe [ReplicationConfigurationReplicatedDisk],+ -- | The instance type to be used for the replication server.+ replicationServerInstanceType :: Prelude.Maybe Prelude.Text,+ -- | The security group IDs that will be used by the replication server.+ replicationServersSecurityGroupsIDs :: Prelude.Maybe [Prelude.Text],+ -- | The subnet to be used by the replication staging area.+ stagingAreaSubnetId :: Prelude.Maybe Prelude.Text,+ -- | A set of tags to be associated with all resources created in the+ -- replication staging area: EC2 replication server, EBS volumes, EBS+ -- snapshots, etc.+ stagingAreaTags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | Whether to use a dedicated Replication Server in the replication staging+ -- area.+ useDedicatedReplicationServer :: Prelude.Maybe Prelude.Bool,+ -- | The ID of the Source Server for this Replication Configuration.+ sourceServerID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateReplicationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'associateDefaultSecurityGroup', 'updateReplicationConfiguration_associateDefaultSecurityGroup' - Whether to associate the default Elastic Disaster Recovery Security+-- group with the Replication Configuration.+--+-- 'bandwidthThrottling', 'updateReplicationConfiguration_bandwidthThrottling' - Configure bandwidth throttling for the outbound data transfer rate of+-- the Source Server in Mbps.+--+-- 'createPublicIP', 'updateReplicationConfiguration_createPublicIP' - Whether to create a Public IP for the Recovery Instance by default.+--+-- 'dataPlaneRouting', 'updateReplicationConfiguration_dataPlaneRouting' - The data plane routing mechanism that will be used for replication.+--+-- 'defaultLargeStagingDiskType', 'updateReplicationConfiguration_defaultLargeStagingDiskType' - The Staging Disk EBS volume type to be used during replication.+--+-- 'ebsEncryption', 'updateReplicationConfiguration_ebsEncryption' - The type of EBS encryption to be used during replication.+--+-- 'ebsEncryptionKeyArn', 'updateReplicationConfiguration_ebsEncryptionKeyArn' - The ARN of the EBS encryption key to be used during replication.+--+-- 'name', 'updateReplicationConfiguration_name' - The name of the Replication Configuration.+--+-- 'pitPolicy', 'updateReplicationConfiguration_pitPolicy' - The Point in time (PIT) policy to manage snapshots taken during+-- replication.+--+-- 'replicatedDisks', 'updateReplicationConfiguration_replicatedDisks' - The configuration of the disks of the Source Server to be replicated.+--+-- 'replicationServerInstanceType', 'updateReplicationConfiguration_replicationServerInstanceType' - The instance type to be used for the replication server.+--+-- 'replicationServersSecurityGroupsIDs', 'updateReplicationConfiguration_replicationServersSecurityGroupsIDs' - The security group IDs that will be used by the replication server.+--+-- 'stagingAreaSubnetId', 'updateReplicationConfiguration_stagingAreaSubnetId' - The subnet to be used by the replication staging area.+--+-- 'stagingAreaTags', 'updateReplicationConfiguration_stagingAreaTags' - A set of tags to be associated with all resources created in the+-- replication staging area: EC2 replication server, EBS volumes, EBS+-- snapshots, etc.+--+-- 'useDedicatedReplicationServer', 'updateReplicationConfiguration_useDedicatedReplicationServer' - Whether to use a dedicated Replication Server in the replication staging+-- area.+--+-- 'sourceServerID', 'updateReplicationConfiguration_sourceServerID' - The ID of the Source Server for this Replication Configuration.+newUpdateReplicationConfiguration ::+ -- | 'sourceServerID'+ Prelude.Text ->+ UpdateReplicationConfiguration+newUpdateReplicationConfiguration pSourceServerID_ =+ UpdateReplicationConfiguration'+ { associateDefaultSecurityGroup =+ Prelude.Nothing,+ bandwidthThrottling = Prelude.Nothing,+ createPublicIP = Prelude.Nothing,+ dataPlaneRouting = Prelude.Nothing,+ defaultLargeStagingDiskType =+ Prelude.Nothing,+ ebsEncryption = Prelude.Nothing,+ ebsEncryptionKeyArn = Prelude.Nothing,+ name = Prelude.Nothing,+ pitPolicy = Prelude.Nothing,+ replicatedDisks = Prelude.Nothing,+ replicationServerInstanceType =+ Prelude.Nothing,+ replicationServersSecurityGroupsIDs =+ Prelude.Nothing,+ stagingAreaSubnetId = Prelude.Nothing,+ stagingAreaTags = Prelude.Nothing,+ useDedicatedReplicationServer =+ Prelude.Nothing,+ sourceServerID = pSourceServerID_+ }++-- | Whether to associate the default Elastic Disaster Recovery Security+-- group with the Replication Configuration.+updateReplicationConfiguration_associateDefaultSecurityGroup :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe Prelude.Bool)+updateReplicationConfiguration_associateDefaultSecurityGroup = Lens.lens (\UpdateReplicationConfiguration' {associateDefaultSecurityGroup} -> associateDefaultSecurityGroup) (\s@UpdateReplicationConfiguration' {} a -> s {associateDefaultSecurityGroup = a} :: UpdateReplicationConfiguration)++-- | Configure bandwidth throttling for the outbound data transfer rate of+-- the Source Server in Mbps.+updateReplicationConfiguration_bandwidthThrottling :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe Prelude.Natural)+updateReplicationConfiguration_bandwidthThrottling = Lens.lens (\UpdateReplicationConfiguration' {bandwidthThrottling} -> bandwidthThrottling) (\s@UpdateReplicationConfiguration' {} a -> s {bandwidthThrottling = a} :: UpdateReplicationConfiguration)++-- | Whether to create a Public IP for the Recovery Instance by default.+updateReplicationConfiguration_createPublicIP :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe Prelude.Bool)+updateReplicationConfiguration_createPublicIP = Lens.lens (\UpdateReplicationConfiguration' {createPublicIP} -> createPublicIP) (\s@UpdateReplicationConfiguration' {} a -> s {createPublicIP = a} :: UpdateReplicationConfiguration)++-- | The data plane routing mechanism that will be used for replication.+updateReplicationConfiguration_dataPlaneRouting :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe ReplicationConfigurationDataPlaneRouting)+updateReplicationConfiguration_dataPlaneRouting = Lens.lens (\UpdateReplicationConfiguration' {dataPlaneRouting} -> dataPlaneRouting) (\s@UpdateReplicationConfiguration' {} a -> s {dataPlaneRouting = a} :: UpdateReplicationConfiguration)++-- | The Staging Disk EBS volume type to be used during replication.+updateReplicationConfiguration_defaultLargeStagingDiskType :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe ReplicationConfigurationDefaultLargeStagingDiskType)+updateReplicationConfiguration_defaultLargeStagingDiskType = Lens.lens (\UpdateReplicationConfiguration' {defaultLargeStagingDiskType} -> defaultLargeStagingDiskType) (\s@UpdateReplicationConfiguration' {} a -> s {defaultLargeStagingDiskType = a} :: UpdateReplicationConfiguration)++-- | The type of EBS encryption to be used during replication.+updateReplicationConfiguration_ebsEncryption :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe ReplicationConfigurationEbsEncryption)+updateReplicationConfiguration_ebsEncryption = Lens.lens (\UpdateReplicationConfiguration' {ebsEncryption} -> ebsEncryption) (\s@UpdateReplicationConfiguration' {} a -> s {ebsEncryption = a} :: UpdateReplicationConfiguration)++-- | The ARN of the EBS encryption key to be used during replication.+updateReplicationConfiguration_ebsEncryptionKeyArn :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe Prelude.Text)+updateReplicationConfiguration_ebsEncryptionKeyArn = Lens.lens (\UpdateReplicationConfiguration' {ebsEncryptionKeyArn} -> ebsEncryptionKeyArn) (\s@UpdateReplicationConfiguration' {} a -> s {ebsEncryptionKeyArn = a} :: UpdateReplicationConfiguration)++-- | The name of the Replication Configuration.+updateReplicationConfiguration_name :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe Prelude.Text)+updateReplicationConfiguration_name = Lens.lens (\UpdateReplicationConfiguration' {name} -> name) (\s@UpdateReplicationConfiguration' {} a -> s {name = a} :: UpdateReplicationConfiguration)++-- | The Point in time (PIT) policy to manage snapshots taken during+-- replication.+updateReplicationConfiguration_pitPolicy :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe (Prelude.NonEmpty PITPolicyRule))+updateReplicationConfiguration_pitPolicy = Lens.lens (\UpdateReplicationConfiguration' {pitPolicy} -> pitPolicy) (\s@UpdateReplicationConfiguration' {} a -> s {pitPolicy = a} :: UpdateReplicationConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The configuration of the disks of the Source Server to be replicated.+updateReplicationConfiguration_replicatedDisks :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe [ReplicationConfigurationReplicatedDisk])+updateReplicationConfiguration_replicatedDisks = Lens.lens (\UpdateReplicationConfiguration' {replicatedDisks} -> replicatedDisks) (\s@UpdateReplicationConfiguration' {} a -> s {replicatedDisks = a} :: UpdateReplicationConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The instance type to be used for the replication server.+updateReplicationConfiguration_replicationServerInstanceType :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe Prelude.Text)+updateReplicationConfiguration_replicationServerInstanceType = Lens.lens (\UpdateReplicationConfiguration' {replicationServerInstanceType} -> replicationServerInstanceType) (\s@UpdateReplicationConfiguration' {} a -> s {replicationServerInstanceType = a} :: UpdateReplicationConfiguration)++-- | The security group IDs that will be used by the replication server.+updateReplicationConfiguration_replicationServersSecurityGroupsIDs :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe [Prelude.Text])+updateReplicationConfiguration_replicationServersSecurityGroupsIDs = Lens.lens (\UpdateReplicationConfiguration' {replicationServersSecurityGroupsIDs} -> replicationServersSecurityGroupsIDs) (\s@UpdateReplicationConfiguration' {} a -> s {replicationServersSecurityGroupsIDs = a} :: UpdateReplicationConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The subnet to be used by the replication staging area.+updateReplicationConfiguration_stagingAreaSubnetId :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe Prelude.Text)+updateReplicationConfiguration_stagingAreaSubnetId = Lens.lens (\UpdateReplicationConfiguration' {stagingAreaSubnetId} -> stagingAreaSubnetId) (\s@UpdateReplicationConfiguration' {} a -> s {stagingAreaSubnetId = a} :: UpdateReplicationConfiguration)++-- | A set of tags to be associated with all resources created in the+-- replication staging area: EC2 replication server, EBS volumes, EBS+-- snapshots, etc.+updateReplicationConfiguration_stagingAreaTags :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateReplicationConfiguration_stagingAreaTags = Lens.lens (\UpdateReplicationConfiguration' {stagingAreaTags} -> stagingAreaTags) (\s@UpdateReplicationConfiguration' {} a -> s {stagingAreaTags = a} :: UpdateReplicationConfiguration) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Whether to use a dedicated Replication Server in the replication staging+-- area.+updateReplicationConfiguration_useDedicatedReplicationServer :: Lens.Lens' UpdateReplicationConfiguration (Prelude.Maybe Prelude.Bool)+updateReplicationConfiguration_useDedicatedReplicationServer = Lens.lens (\UpdateReplicationConfiguration' {useDedicatedReplicationServer} -> useDedicatedReplicationServer) (\s@UpdateReplicationConfiguration' {} a -> s {useDedicatedReplicationServer = a} :: UpdateReplicationConfiguration)++-- | The ID of the Source Server for this Replication Configuration.+updateReplicationConfiguration_sourceServerID :: Lens.Lens' UpdateReplicationConfiguration Prelude.Text+updateReplicationConfiguration_sourceServerID = Lens.lens (\UpdateReplicationConfiguration' {sourceServerID} -> sourceServerID) (\s@UpdateReplicationConfiguration' {} a -> s {sourceServerID = a} :: UpdateReplicationConfiguration)++instance+ Core.AWSRequest+ UpdateReplicationConfiguration+ where+ type+ AWSResponse UpdateReplicationConfiguration =+ ReplicationConfiguration+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance+ Prelude.Hashable+ UpdateReplicationConfiguration+ where+ hashWithSalt+ _salt+ UpdateReplicationConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` associateDefaultSecurityGroup+ `Prelude.hashWithSalt` bandwidthThrottling+ `Prelude.hashWithSalt` createPublicIP+ `Prelude.hashWithSalt` dataPlaneRouting+ `Prelude.hashWithSalt` defaultLargeStagingDiskType+ `Prelude.hashWithSalt` ebsEncryption+ `Prelude.hashWithSalt` ebsEncryptionKeyArn+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` pitPolicy+ `Prelude.hashWithSalt` replicatedDisks+ `Prelude.hashWithSalt` replicationServerInstanceType+ `Prelude.hashWithSalt` replicationServersSecurityGroupsIDs+ `Prelude.hashWithSalt` stagingAreaSubnetId+ `Prelude.hashWithSalt` stagingAreaTags+ `Prelude.hashWithSalt` useDedicatedReplicationServer+ `Prelude.hashWithSalt` sourceServerID++instance+ Prelude.NFData+ UpdateReplicationConfiguration+ where+ rnf UpdateReplicationConfiguration' {..} =+ Prelude.rnf associateDefaultSecurityGroup+ `Prelude.seq` Prelude.rnf bandwidthThrottling+ `Prelude.seq` Prelude.rnf createPublicIP+ `Prelude.seq` Prelude.rnf dataPlaneRouting+ `Prelude.seq` Prelude.rnf defaultLargeStagingDiskType+ `Prelude.seq` Prelude.rnf ebsEncryption+ `Prelude.seq` Prelude.rnf ebsEncryptionKeyArn+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf pitPolicy+ `Prelude.seq` Prelude.rnf replicatedDisks+ `Prelude.seq` Prelude.rnf replicationServerInstanceType+ `Prelude.seq` Prelude.rnf+ replicationServersSecurityGroupsIDs+ `Prelude.seq` Prelude.rnf stagingAreaSubnetId+ `Prelude.seq` Prelude.rnf stagingAreaTags+ `Prelude.seq` Prelude.rnf+ useDedicatedReplicationServer+ `Prelude.seq` Prelude.rnf sourceServerID++instance+ Data.ToHeaders+ UpdateReplicationConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateReplicationConfiguration where+ toJSON UpdateReplicationConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("associateDefaultSecurityGroup" Data..=)+ Prelude.<$> associateDefaultSecurityGroup,+ ("bandwidthThrottling" Data..=)+ Prelude.<$> bandwidthThrottling,+ ("createPublicIP" Data..=)+ Prelude.<$> createPublicIP,+ ("dataPlaneRouting" Data..=)+ Prelude.<$> dataPlaneRouting,+ ("defaultLargeStagingDiskType" Data..=)+ Prelude.<$> defaultLargeStagingDiskType,+ ("ebsEncryption" Data..=) Prelude.<$> ebsEncryption,+ ("ebsEncryptionKeyArn" Data..=)+ Prelude.<$> ebsEncryptionKeyArn,+ ("name" Data..=) Prelude.<$> name,+ ("pitPolicy" Data..=) Prelude.<$> pitPolicy,+ ("replicatedDisks" Data..=)+ Prelude.<$> replicatedDisks,+ ("replicationServerInstanceType" Data..=)+ Prelude.<$> replicationServerInstanceType,+ ("replicationServersSecurityGroupsIDs" Data..=)+ Prelude.<$> replicationServersSecurityGroupsIDs,+ ("stagingAreaSubnetId" Data..=)+ Prelude.<$> stagingAreaSubnetId,+ ("stagingAreaTags" Data..=)+ Prelude.<$> stagingAreaTags,+ ("useDedicatedReplicationServer" Data..=)+ Prelude.<$> useDedicatedReplicationServer,+ Prelude.Just+ ("sourceServerID" Data..= sourceServerID)+ ]+ )++instance Data.ToPath UpdateReplicationConfiguration where+ toPath =+ Prelude.const "/UpdateReplicationConfiguration"++instance Data.ToQuery UpdateReplicationConfiguration where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/DrS/UpdateReplicationConfigurationTemplate.hs view
@@ -0,0 +1,387 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.UpdateReplicationConfigurationTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a ReplicationConfigurationTemplate by ID.+module Amazonka.DrS.UpdateReplicationConfigurationTemplate+ ( -- * Creating a Request+ UpdateReplicationConfigurationTemplate (..),+ newUpdateReplicationConfigurationTemplate,++ -- * Request Lenses+ updateReplicationConfigurationTemplate_arn,+ updateReplicationConfigurationTemplate_associateDefaultSecurityGroup,+ updateReplicationConfigurationTemplate_bandwidthThrottling,+ updateReplicationConfigurationTemplate_createPublicIP,+ updateReplicationConfigurationTemplate_dataPlaneRouting,+ updateReplicationConfigurationTemplate_defaultLargeStagingDiskType,+ updateReplicationConfigurationTemplate_ebsEncryption,+ updateReplicationConfigurationTemplate_ebsEncryptionKeyArn,+ updateReplicationConfigurationTemplate_pitPolicy,+ updateReplicationConfigurationTemplate_replicationServerInstanceType,+ updateReplicationConfigurationTemplate_replicationServersSecurityGroupsIDs,+ updateReplicationConfigurationTemplate_stagingAreaSubnetId,+ updateReplicationConfigurationTemplate_stagingAreaTags,+ updateReplicationConfigurationTemplate_useDedicatedReplicationServer,+ updateReplicationConfigurationTemplate_replicationConfigurationTemplateID,++ -- * Destructuring the Response+ ReplicationConfigurationTemplate (..),+ newReplicationConfigurationTemplate,++ -- * Response Lenses+ replicationConfigurationTemplate_arn,+ replicationConfigurationTemplate_associateDefaultSecurityGroup,+ replicationConfigurationTemplate_bandwidthThrottling,+ replicationConfigurationTemplate_createPublicIP,+ replicationConfigurationTemplate_dataPlaneRouting,+ replicationConfigurationTemplate_defaultLargeStagingDiskType,+ replicationConfigurationTemplate_ebsEncryption,+ replicationConfigurationTemplate_ebsEncryptionKeyArn,+ replicationConfigurationTemplate_pitPolicy,+ replicationConfigurationTemplate_replicationServerInstanceType,+ replicationConfigurationTemplate_replicationServersSecurityGroupsIDs,+ replicationConfigurationTemplate_stagingAreaSubnetId,+ replicationConfigurationTemplate_stagingAreaTags,+ replicationConfigurationTemplate_tags,+ replicationConfigurationTemplate_useDedicatedReplicationServer,+ replicationConfigurationTemplate_replicationConfigurationTemplateID,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateReplicationConfigurationTemplate' smart constructor.+data UpdateReplicationConfigurationTemplate = UpdateReplicationConfigurationTemplate'+ { -- | The Replication Configuration Template ARN.+ arn :: Prelude.Maybe Prelude.Text,+ -- | Whether to associate the default Elastic Disaster Recovery Security+ -- group with the Replication Configuration Template.+ associateDefaultSecurityGroup :: Prelude.Maybe Prelude.Bool,+ -- | Configure bandwidth throttling for the outbound data transfer rate of+ -- the Source Server in Mbps.+ bandwidthThrottling :: Prelude.Maybe Prelude.Natural,+ -- | Whether to create a Public IP for the Recovery Instance by default.+ createPublicIP :: Prelude.Maybe Prelude.Bool,+ -- | The data plane routing mechanism that will be used for replication.+ dataPlaneRouting :: Prelude.Maybe ReplicationConfigurationDataPlaneRouting,+ -- | The Staging Disk EBS volume type to be used during replication.+ defaultLargeStagingDiskType :: Prelude.Maybe ReplicationConfigurationDefaultLargeStagingDiskType,+ -- | The type of EBS encryption to be used during replication.+ ebsEncryption :: Prelude.Maybe ReplicationConfigurationEbsEncryption,+ -- | The ARN of the EBS encryption key to be used during replication.+ ebsEncryptionKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The Point in time (PIT) policy to manage snapshots taken during+ -- replication.+ pitPolicy :: Prelude.Maybe (Prelude.NonEmpty PITPolicyRule),+ -- | The instance type to be used for the replication server.+ replicationServerInstanceType :: Prelude.Maybe Prelude.Text,+ -- | The security group IDs that will be used by the replication server.+ replicationServersSecurityGroupsIDs :: Prelude.Maybe [Prelude.Text],+ -- | The subnet to be used by the replication staging area.+ stagingAreaSubnetId :: Prelude.Maybe Prelude.Text,+ -- | A set of tags to be associated with all resources created in the+ -- replication staging area: EC2 replication server, EBS volumes, EBS+ -- snapshots, etc.+ stagingAreaTags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | Whether to use a dedicated Replication Server in the replication staging+ -- area.+ useDedicatedReplicationServer :: Prelude.Maybe Prelude.Bool,+ -- | The Replication Configuration Template ID.+ replicationConfigurationTemplateID :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateReplicationConfigurationTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateReplicationConfigurationTemplate_arn' - The Replication Configuration Template ARN.+--+-- 'associateDefaultSecurityGroup', 'updateReplicationConfigurationTemplate_associateDefaultSecurityGroup' - Whether to associate the default Elastic Disaster Recovery Security+-- group with the Replication Configuration Template.+--+-- 'bandwidthThrottling', 'updateReplicationConfigurationTemplate_bandwidthThrottling' - Configure bandwidth throttling for the outbound data transfer rate of+-- the Source Server in Mbps.+--+-- 'createPublicIP', 'updateReplicationConfigurationTemplate_createPublicIP' - Whether to create a Public IP for the Recovery Instance by default.+--+-- 'dataPlaneRouting', 'updateReplicationConfigurationTemplate_dataPlaneRouting' - The data plane routing mechanism that will be used for replication.+--+-- 'defaultLargeStagingDiskType', 'updateReplicationConfigurationTemplate_defaultLargeStagingDiskType' - The Staging Disk EBS volume type to be used during replication.+--+-- 'ebsEncryption', 'updateReplicationConfigurationTemplate_ebsEncryption' - The type of EBS encryption to be used during replication.+--+-- 'ebsEncryptionKeyArn', 'updateReplicationConfigurationTemplate_ebsEncryptionKeyArn' - The ARN of the EBS encryption key to be used during replication.+--+-- 'pitPolicy', 'updateReplicationConfigurationTemplate_pitPolicy' - The Point in time (PIT) policy to manage snapshots taken during+-- replication.+--+-- 'replicationServerInstanceType', 'updateReplicationConfigurationTemplate_replicationServerInstanceType' - The instance type to be used for the replication server.+--+-- 'replicationServersSecurityGroupsIDs', 'updateReplicationConfigurationTemplate_replicationServersSecurityGroupsIDs' - The security group IDs that will be used by the replication server.+--+-- 'stagingAreaSubnetId', 'updateReplicationConfigurationTemplate_stagingAreaSubnetId' - The subnet to be used by the replication staging area.+--+-- 'stagingAreaTags', 'updateReplicationConfigurationTemplate_stagingAreaTags' - A set of tags to be associated with all resources created in the+-- replication staging area: EC2 replication server, EBS volumes, EBS+-- snapshots, etc.+--+-- 'useDedicatedReplicationServer', 'updateReplicationConfigurationTemplate_useDedicatedReplicationServer' - Whether to use a dedicated Replication Server in the replication staging+-- area.+--+-- 'replicationConfigurationTemplateID', 'updateReplicationConfigurationTemplate_replicationConfigurationTemplateID' - The Replication Configuration Template ID.+newUpdateReplicationConfigurationTemplate ::+ -- | 'replicationConfigurationTemplateID'+ Prelude.Text ->+ UpdateReplicationConfigurationTemplate+newUpdateReplicationConfigurationTemplate+ pReplicationConfigurationTemplateID_ =+ UpdateReplicationConfigurationTemplate'+ { arn =+ Prelude.Nothing,+ associateDefaultSecurityGroup =+ Prelude.Nothing,+ bandwidthThrottling =+ Prelude.Nothing,+ createPublicIP = Prelude.Nothing,+ dataPlaneRouting = Prelude.Nothing,+ defaultLargeStagingDiskType =+ Prelude.Nothing,+ ebsEncryption = Prelude.Nothing,+ ebsEncryptionKeyArn =+ Prelude.Nothing,+ pitPolicy = Prelude.Nothing,+ replicationServerInstanceType =+ Prelude.Nothing,+ replicationServersSecurityGroupsIDs =+ Prelude.Nothing,+ stagingAreaSubnetId =+ Prelude.Nothing,+ stagingAreaTags = Prelude.Nothing,+ useDedicatedReplicationServer =+ Prelude.Nothing,+ replicationConfigurationTemplateID =+ pReplicationConfigurationTemplateID_+ }++-- | The Replication Configuration Template ARN.+updateReplicationConfigurationTemplate_arn :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe Prelude.Text)+updateReplicationConfigurationTemplate_arn = Lens.lens (\UpdateReplicationConfigurationTemplate' {arn} -> arn) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {arn = a} :: UpdateReplicationConfigurationTemplate)++-- | Whether to associate the default Elastic Disaster Recovery Security+-- group with the Replication Configuration Template.+updateReplicationConfigurationTemplate_associateDefaultSecurityGroup :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe Prelude.Bool)+updateReplicationConfigurationTemplate_associateDefaultSecurityGroup = Lens.lens (\UpdateReplicationConfigurationTemplate' {associateDefaultSecurityGroup} -> associateDefaultSecurityGroup) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {associateDefaultSecurityGroup = a} :: UpdateReplicationConfigurationTemplate)++-- | Configure bandwidth throttling for the outbound data transfer rate of+-- the Source Server in Mbps.+updateReplicationConfigurationTemplate_bandwidthThrottling :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe Prelude.Natural)+updateReplicationConfigurationTemplate_bandwidthThrottling = Lens.lens (\UpdateReplicationConfigurationTemplate' {bandwidthThrottling} -> bandwidthThrottling) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {bandwidthThrottling = a} :: UpdateReplicationConfigurationTemplate)++-- | Whether to create a Public IP for the Recovery Instance by default.+updateReplicationConfigurationTemplate_createPublicIP :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe Prelude.Bool)+updateReplicationConfigurationTemplate_createPublicIP = Lens.lens (\UpdateReplicationConfigurationTemplate' {createPublicIP} -> createPublicIP) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {createPublicIP = a} :: UpdateReplicationConfigurationTemplate)++-- | The data plane routing mechanism that will be used for replication.+updateReplicationConfigurationTemplate_dataPlaneRouting :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe ReplicationConfigurationDataPlaneRouting)+updateReplicationConfigurationTemplate_dataPlaneRouting = Lens.lens (\UpdateReplicationConfigurationTemplate' {dataPlaneRouting} -> dataPlaneRouting) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {dataPlaneRouting = a} :: UpdateReplicationConfigurationTemplate)++-- | The Staging Disk EBS volume type to be used during replication.+updateReplicationConfigurationTemplate_defaultLargeStagingDiskType :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe ReplicationConfigurationDefaultLargeStagingDiskType)+updateReplicationConfigurationTemplate_defaultLargeStagingDiskType = Lens.lens (\UpdateReplicationConfigurationTemplate' {defaultLargeStagingDiskType} -> defaultLargeStagingDiskType) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {defaultLargeStagingDiskType = a} :: UpdateReplicationConfigurationTemplate)++-- | The type of EBS encryption to be used during replication.+updateReplicationConfigurationTemplate_ebsEncryption :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe ReplicationConfigurationEbsEncryption)+updateReplicationConfigurationTemplate_ebsEncryption = Lens.lens (\UpdateReplicationConfigurationTemplate' {ebsEncryption} -> ebsEncryption) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {ebsEncryption = a} :: UpdateReplicationConfigurationTemplate)++-- | The ARN of the EBS encryption key to be used during replication.+updateReplicationConfigurationTemplate_ebsEncryptionKeyArn :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe Prelude.Text)+updateReplicationConfigurationTemplate_ebsEncryptionKeyArn = Lens.lens (\UpdateReplicationConfigurationTemplate' {ebsEncryptionKeyArn} -> ebsEncryptionKeyArn) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {ebsEncryptionKeyArn = a} :: UpdateReplicationConfigurationTemplate)++-- | The Point in time (PIT) policy to manage snapshots taken during+-- replication.+updateReplicationConfigurationTemplate_pitPolicy :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe (Prelude.NonEmpty PITPolicyRule))+updateReplicationConfigurationTemplate_pitPolicy = Lens.lens (\UpdateReplicationConfigurationTemplate' {pitPolicy} -> pitPolicy) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {pitPolicy = a} :: UpdateReplicationConfigurationTemplate) Prelude.. Lens.mapping Lens.coerced++-- | The instance type to be used for the replication server.+updateReplicationConfigurationTemplate_replicationServerInstanceType :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe Prelude.Text)+updateReplicationConfigurationTemplate_replicationServerInstanceType = Lens.lens (\UpdateReplicationConfigurationTemplate' {replicationServerInstanceType} -> replicationServerInstanceType) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {replicationServerInstanceType = a} :: UpdateReplicationConfigurationTemplate)++-- | The security group IDs that will be used by the replication server.+updateReplicationConfigurationTemplate_replicationServersSecurityGroupsIDs :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe [Prelude.Text])+updateReplicationConfigurationTemplate_replicationServersSecurityGroupsIDs = Lens.lens (\UpdateReplicationConfigurationTemplate' {replicationServersSecurityGroupsIDs} -> replicationServersSecurityGroupsIDs) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {replicationServersSecurityGroupsIDs = a} :: UpdateReplicationConfigurationTemplate) Prelude.. Lens.mapping Lens.coerced++-- | The subnet to be used by the replication staging area.+updateReplicationConfigurationTemplate_stagingAreaSubnetId :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe Prelude.Text)+updateReplicationConfigurationTemplate_stagingAreaSubnetId = Lens.lens (\UpdateReplicationConfigurationTemplate' {stagingAreaSubnetId} -> stagingAreaSubnetId) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {stagingAreaSubnetId = a} :: UpdateReplicationConfigurationTemplate)++-- | A set of tags to be associated with all resources created in the+-- replication staging area: EC2 replication server, EBS volumes, EBS+-- snapshots, etc.+updateReplicationConfigurationTemplate_stagingAreaTags :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateReplicationConfigurationTemplate_stagingAreaTags = Lens.lens (\UpdateReplicationConfigurationTemplate' {stagingAreaTags} -> stagingAreaTags) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {stagingAreaTags = a} :: UpdateReplicationConfigurationTemplate) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Whether to use a dedicated Replication Server in the replication staging+-- area.+updateReplicationConfigurationTemplate_useDedicatedReplicationServer :: Lens.Lens' UpdateReplicationConfigurationTemplate (Prelude.Maybe Prelude.Bool)+updateReplicationConfigurationTemplate_useDedicatedReplicationServer = Lens.lens (\UpdateReplicationConfigurationTemplate' {useDedicatedReplicationServer} -> useDedicatedReplicationServer) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {useDedicatedReplicationServer = a} :: UpdateReplicationConfigurationTemplate)++-- | The Replication Configuration Template ID.+updateReplicationConfigurationTemplate_replicationConfigurationTemplateID :: Lens.Lens' UpdateReplicationConfigurationTemplate Prelude.Text+updateReplicationConfigurationTemplate_replicationConfigurationTemplateID = Lens.lens (\UpdateReplicationConfigurationTemplate' {replicationConfigurationTemplateID} -> replicationConfigurationTemplateID) (\s@UpdateReplicationConfigurationTemplate' {} a -> s {replicationConfigurationTemplateID = a} :: UpdateReplicationConfigurationTemplate)++instance+ Core.AWSRequest+ UpdateReplicationConfigurationTemplate+ where+ type+ AWSResponse+ UpdateReplicationConfigurationTemplate =+ ReplicationConfigurationTemplate+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ (\s h x -> Data.eitherParseJSON x)++instance+ Prelude.Hashable+ UpdateReplicationConfigurationTemplate+ where+ hashWithSalt+ _salt+ UpdateReplicationConfigurationTemplate' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` associateDefaultSecurityGroup+ `Prelude.hashWithSalt` bandwidthThrottling+ `Prelude.hashWithSalt` createPublicIP+ `Prelude.hashWithSalt` dataPlaneRouting+ `Prelude.hashWithSalt` defaultLargeStagingDiskType+ `Prelude.hashWithSalt` ebsEncryption+ `Prelude.hashWithSalt` ebsEncryptionKeyArn+ `Prelude.hashWithSalt` pitPolicy+ `Prelude.hashWithSalt` replicationServerInstanceType+ `Prelude.hashWithSalt` replicationServersSecurityGroupsIDs+ `Prelude.hashWithSalt` stagingAreaSubnetId+ `Prelude.hashWithSalt` stagingAreaTags+ `Prelude.hashWithSalt` useDedicatedReplicationServer+ `Prelude.hashWithSalt` replicationConfigurationTemplateID++instance+ Prelude.NFData+ UpdateReplicationConfigurationTemplate+ where+ rnf UpdateReplicationConfigurationTemplate' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf associateDefaultSecurityGroup+ `Prelude.seq` Prelude.rnf bandwidthThrottling+ `Prelude.seq` Prelude.rnf createPublicIP+ `Prelude.seq` Prelude.rnf dataPlaneRouting+ `Prelude.seq` Prelude.rnf defaultLargeStagingDiskType+ `Prelude.seq` Prelude.rnf ebsEncryption+ `Prelude.seq` Prelude.rnf ebsEncryptionKeyArn+ `Prelude.seq` Prelude.rnf pitPolicy+ `Prelude.seq` Prelude.rnf replicationServerInstanceType+ `Prelude.seq` Prelude.rnf replicationServersSecurityGroupsIDs+ `Prelude.seq` Prelude.rnf stagingAreaSubnetId+ `Prelude.seq` Prelude.rnf stagingAreaTags+ `Prelude.seq` Prelude.rnf useDedicatedReplicationServer+ `Prelude.seq` Prelude.rnf+ replicationConfigurationTemplateID++instance+ Data.ToHeaders+ UpdateReplicationConfigurationTemplate+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ UpdateReplicationConfigurationTemplate+ where+ toJSON UpdateReplicationConfigurationTemplate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("arn" Data..=) Prelude.<$> arn,+ ("associateDefaultSecurityGroup" Data..=)+ Prelude.<$> associateDefaultSecurityGroup,+ ("bandwidthThrottling" Data..=)+ Prelude.<$> bandwidthThrottling,+ ("createPublicIP" Data..=)+ Prelude.<$> createPublicIP,+ ("dataPlaneRouting" Data..=)+ Prelude.<$> dataPlaneRouting,+ ("defaultLargeStagingDiskType" Data..=)+ Prelude.<$> defaultLargeStagingDiskType,+ ("ebsEncryption" Data..=) Prelude.<$> ebsEncryption,+ ("ebsEncryptionKeyArn" Data..=)+ Prelude.<$> ebsEncryptionKeyArn,+ ("pitPolicy" Data..=) Prelude.<$> pitPolicy,+ ("replicationServerInstanceType" Data..=)+ Prelude.<$> replicationServerInstanceType,+ ("replicationServersSecurityGroupsIDs" Data..=)+ Prelude.<$> replicationServersSecurityGroupsIDs,+ ("stagingAreaSubnetId" Data..=)+ Prelude.<$> stagingAreaSubnetId,+ ("stagingAreaTags" Data..=)+ Prelude.<$> stagingAreaTags,+ ("useDedicatedReplicationServer" Data..=)+ Prelude.<$> useDedicatedReplicationServer,+ Prelude.Just+ ( "replicationConfigurationTemplateID"+ Data..= replicationConfigurationTemplateID+ )+ ]+ )++instance+ Data.ToPath+ UpdateReplicationConfigurationTemplate+ where+ toPath =+ Prelude.const+ "/UpdateReplicationConfigurationTemplate"++instance+ Data.ToQuery+ UpdateReplicationConfigurationTemplate+ where+ toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/DrS/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.DrS.Waiters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.DrS.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.DrS.Lens+import Amazonka.DrS.Types+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.DrS+import Test.Amazonka.DrS.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "DrS"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/DrS.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.DrS+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.DrS+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/DrS/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.DrS.Internal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.DrS.Internal where
+ test/Test/Amazonka/Gen/DrS.hs view
@@ -0,0 +1,738 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.Amazonka.Gen.DrS+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.DrS where++import Amazonka.DrS+import qualified Data.Proxy as Proxy+import Test.Amazonka.DrS.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestCreateExtendedSourceServer $+-- newCreateExtendedSourceServer+--+-- , requestCreateReplicationConfigurationTemplate $+-- newCreateReplicationConfigurationTemplate+--+-- , requestDeleteJob $+-- newDeleteJob+--+-- , requestDeleteRecoveryInstance $+-- newDeleteRecoveryInstance+--+-- , requestDeleteReplicationConfigurationTemplate $+-- newDeleteReplicationConfigurationTemplate+--+-- , requestDeleteSourceServer $+-- newDeleteSourceServer+--+-- , requestDescribeJobLogItems $+-- newDescribeJobLogItems+--+-- , requestDescribeJobs $+-- newDescribeJobs+--+-- , requestDescribeRecoveryInstances $+-- newDescribeRecoveryInstances+--+-- , requestDescribeRecoverySnapshots $+-- newDescribeRecoverySnapshots+--+-- , requestDescribeReplicationConfigurationTemplates $+-- newDescribeReplicationConfigurationTemplates+--+-- , requestDescribeSourceServers $+-- newDescribeSourceServers+--+-- , requestDisconnectRecoveryInstance $+-- newDisconnectRecoveryInstance+--+-- , requestDisconnectSourceServer $+-- newDisconnectSourceServer+--+-- , requestGetFailbackReplicationConfiguration $+-- newGetFailbackReplicationConfiguration+--+-- , requestGetLaunchConfiguration $+-- newGetLaunchConfiguration+--+-- , requestGetReplicationConfiguration $+-- newGetReplicationConfiguration+--+-- , requestInitializeService $+-- newInitializeService+--+-- , requestListExtensibleSourceServers $+-- newListExtensibleSourceServers+--+-- , requestListStagingAccounts $+-- newListStagingAccounts+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestRetryDataReplication $+-- newRetryDataReplication+--+-- , requestReverseReplication $+-- newReverseReplication+--+-- , requestStartFailbackLaunch $+-- newStartFailbackLaunch+--+-- , requestStartRecovery $+-- newStartRecovery+--+-- , requestStartReplication $+-- newStartReplication+--+-- , requestStopFailback $+-- newStopFailback+--+-- , requestStopReplication $+-- newStopReplication+--+-- , requestTagResource $+-- newTagResource+--+-- , requestTerminateRecoveryInstances $+-- newTerminateRecoveryInstances+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateFailbackReplicationConfiguration $+-- newUpdateFailbackReplicationConfiguration+--+-- , requestUpdateLaunchConfiguration $+-- newUpdateLaunchConfiguration+--+-- , requestUpdateReplicationConfiguration $+-- newUpdateReplicationConfiguration+--+-- , requestUpdateReplicationConfigurationTemplate $+-- newUpdateReplicationConfigurationTemplate+--+-- ]++-- , testGroup "response"+-- [ responseCreateExtendedSourceServer $+-- newCreateExtendedSourceServerResponse+--+-- , responseCreateReplicationConfigurationTemplate $+-- newReplicationConfigurationTemplate+--+-- , responseDeleteJob $+-- newDeleteJobResponse+--+-- , responseDeleteRecoveryInstance $+-- newDeleteRecoveryInstanceResponse+--+-- , responseDeleteReplicationConfigurationTemplate $+-- newDeleteReplicationConfigurationTemplateResponse+--+-- , responseDeleteSourceServer $+-- newDeleteSourceServerResponse+--+-- , responseDescribeJobLogItems $+-- newDescribeJobLogItemsResponse+--+-- , responseDescribeJobs $+-- newDescribeJobsResponse+--+-- , responseDescribeRecoveryInstances $+-- newDescribeRecoveryInstancesResponse+--+-- , responseDescribeRecoverySnapshots $+-- newDescribeRecoverySnapshotsResponse+--+-- , responseDescribeReplicationConfigurationTemplates $+-- newDescribeReplicationConfigurationTemplatesResponse+--+-- , responseDescribeSourceServers $+-- newDescribeSourceServersResponse+--+-- , responseDisconnectRecoveryInstance $+-- newDisconnectRecoveryInstanceResponse+--+-- , responseDisconnectSourceServer $+-- newSourceServer+--+-- , responseGetFailbackReplicationConfiguration $+-- newGetFailbackReplicationConfigurationResponse+--+-- , responseGetLaunchConfiguration $+-- newLaunchConfiguration+--+-- , responseGetReplicationConfiguration $+-- newReplicationConfiguration+--+-- , responseInitializeService $+-- newInitializeServiceResponse+--+-- , responseListExtensibleSourceServers $+-- newListExtensibleSourceServersResponse+--+-- , responseListStagingAccounts $+-- newListStagingAccountsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseRetryDataReplication $+-- newSourceServer+--+-- , responseReverseReplication $+-- newReverseReplicationResponse+--+-- , responseStartFailbackLaunch $+-- newStartFailbackLaunchResponse+--+-- , responseStartRecovery $+-- newStartRecoveryResponse+--+-- , responseStartReplication $+-- newStartReplicationResponse+--+-- , responseStopFailback $+-- newStopFailbackResponse+--+-- , responseStopReplication $+-- newStopReplicationResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseTerminateRecoveryInstances $+-- newTerminateRecoveryInstancesResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateFailbackReplicationConfiguration $+-- newUpdateFailbackReplicationConfigurationResponse+--+-- , responseUpdateLaunchConfiguration $+-- newLaunchConfiguration+--+-- , responseUpdateReplicationConfiguration $+-- newReplicationConfiguration+--+-- , responseUpdateReplicationConfigurationTemplate $+-- newReplicationConfigurationTemplate+--+-- ]+-- ]++-- Requests++requestCreateExtendedSourceServer :: CreateExtendedSourceServer -> TestTree+requestCreateExtendedSourceServer =+ req+ "CreateExtendedSourceServer"+ "fixture/CreateExtendedSourceServer.yaml"++requestCreateReplicationConfigurationTemplate :: CreateReplicationConfigurationTemplate -> TestTree+requestCreateReplicationConfigurationTemplate =+ req+ "CreateReplicationConfigurationTemplate"+ "fixture/CreateReplicationConfigurationTemplate.yaml"++requestDeleteJob :: DeleteJob -> TestTree+requestDeleteJob =+ req+ "DeleteJob"+ "fixture/DeleteJob.yaml"++requestDeleteRecoveryInstance :: DeleteRecoveryInstance -> TestTree+requestDeleteRecoveryInstance =+ req+ "DeleteRecoveryInstance"+ "fixture/DeleteRecoveryInstance.yaml"++requestDeleteReplicationConfigurationTemplate :: DeleteReplicationConfigurationTemplate -> TestTree+requestDeleteReplicationConfigurationTemplate =+ req+ "DeleteReplicationConfigurationTemplate"+ "fixture/DeleteReplicationConfigurationTemplate.yaml"++requestDeleteSourceServer :: DeleteSourceServer -> TestTree+requestDeleteSourceServer =+ req+ "DeleteSourceServer"+ "fixture/DeleteSourceServer.yaml"++requestDescribeJobLogItems :: DescribeJobLogItems -> TestTree+requestDescribeJobLogItems =+ req+ "DescribeJobLogItems"+ "fixture/DescribeJobLogItems.yaml"++requestDescribeJobs :: DescribeJobs -> TestTree+requestDescribeJobs =+ req+ "DescribeJobs"+ "fixture/DescribeJobs.yaml"++requestDescribeRecoveryInstances :: DescribeRecoveryInstances -> TestTree+requestDescribeRecoveryInstances =+ req+ "DescribeRecoveryInstances"+ "fixture/DescribeRecoveryInstances.yaml"++requestDescribeRecoverySnapshots :: DescribeRecoverySnapshots -> TestTree+requestDescribeRecoverySnapshots =+ req+ "DescribeRecoverySnapshots"+ "fixture/DescribeRecoverySnapshots.yaml"++requestDescribeReplicationConfigurationTemplates :: DescribeReplicationConfigurationTemplates -> TestTree+requestDescribeReplicationConfigurationTemplates =+ req+ "DescribeReplicationConfigurationTemplates"+ "fixture/DescribeReplicationConfigurationTemplates.yaml"++requestDescribeSourceServers :: DescribeSourceServers -> TestTree+requestDescribeSourceServers =+ req+ "DescribeSourceServers"+ "fixture/DescribeSourceServers.yaml"++requestDisconnectRecoveryInstance :: DisconnectRecoveryInstance -> TestTree+requestDisconnectRecoveryInstance =+ req+ "DisconnectRecoveryInstance"+ "fixture/DisconnectRecoveryInstance.yaml"++requestDisconnectSourceServer :: DisconnectSourceServer -> TestTree+requestDisconnectSourceServer =+ req+ "DisconnectSourceServer"+ "fixture/DisconnectSourceServer.yaml"++requestGetFailbackReplicationConfiguration :: GetFailbackReplicationConfiguration -> TestTree+requestGetFailbackReplicationConfiguration =+ req+ "GetFailbackReplicationConfiguration"+ "fixture/GetFailbackReplicationConfiguration.yaml"++requestGetLaunchConfiguration :: GetLaunchConfiguration -> TestTree+requestGetLaunchConfiguration =+ req+ "GetLaunchConfiguration"+ "fixture/GetLaunchConfiguration.yaml"++requestGetReplicationConfiguration :: GetReplicationConfiguration -> TestTree+requestGetReplicationConfiguration =+ req+ "GetReplicationConfiguration"+ "fixture/GetReplicationConfiguration.yaml"++requestInitializeService :: InitializeService -> TestTree+requestInitializeService =+ req+ "InitializeService"+ "fixture/InitializeService.yaml"++requestListExtensibleSourceServers :: ListExtensibleSourceServers -> TestTree+requestListExtensibleSourceServers =+ req+ "ListExtensibleSourceServers"+ "fixture/ListExtensibleSourceServers.yaml"++requestListStagingAccounts :: ListStagingAccounts -> TestTree+requestListStagingAccounts =+ req+ "ListStagingAccounts"+ "fixture/ListStagingAccounts.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestRetryDataReplication :: RetryDataReplication -> TestTree+requestRetryDataReplication =+ req+ "RetryDataReplication"+ "fixture/RetryDataReplication.yaml"++requestReverseReplication :: ReverseReplication -> TestTree+requestReverseReplication =+ req+ "ReverseReplication"+ "fixture/ReverseReplication.yaml"++requestStartFailbackLaunch :: StartFailbackLaunch -> TestTree+requestStartFailbackLaunch =+ req+ "StartFailbackLaunch"+ "fixture/StartFailbackLaunch.yaml"++requestStartRecovery :: StartRecovery -> TestTree+requestStartRecovery =+ req+ "StartRecovery"+ "fixture/StartRecovery.yaml"++requestStartReplication :: StartReplication -> TestTree+requestStartReplication =+ req+ "StartReplication"+ "fixture/StartReplication.yaml"++requestStopFailback :: StopFailback -> TestTree+requestStopFailback =+ req+ "StopFailback"+ "fixture/StopFailback.yaml"++requestStopReplication :: StopReplication -> TestTree+requestStopReplication =+ req+ "StopReplication"+ "fixture/StopReplication.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestTerminateRecoveryInstances :: TerminateRecoveryInstances -> TestTree+requestTerminateRecoveryInstances =+ req+ "TerminateRecoveryInstances"+ "fixture/TerminateRecoveryInstances.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateFailbackReplicationConfiguration :: UpdateFailbackReplicationConfiguration -> TestTree+requestUpdateFailbackReplicationConfiguration =+ req+ "UpdateFailbackReplicationConfiguration"+ "fixture/UpdateFailbackReplicationConfiguration.yaml"++requestUpdateLaunchConfiguration :: UpdateLaunchConfiguration -> TestTree+requestUpdateLaunchConfiguration =+ req+ "UpdateLaunchConfiguration"+ "fixture/UpdateLaunchConfiguration.yaml"++requestUpdateReplicationConfiguration :: UpdateReplicationConfiguration -> TestTree+requestUpdateReplicationConfiguration =+ req+ "UpdateReplicationConfiguration"+ "fixture/UpdateReplicationConfiguration.yaml"++requestUpdateReplicationConfigurationTemplate :: UpdateReplicationConfigurationTemplate -> TestTree+requestUpdateReplicationConfigurationTemplate =+ req+ "UpdateReplicationConfigurationTemplate"+ "fixture/UpdateReplicationConfigurationTemplate.yaml"++-- Responses++responseCreateExtendedSourceServer :: CreateExtendedSourceServerResponse -> TestTree+responseCreateExtendedSourceServer =+ res+ "CreateExtendedSourceServerResponse"+ "fixture/CreateExtendedSourceServerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateExtendedSourceServer)++responseCreateReplicationConfigurationTemplate :: ReplicationConfigurationTemplate -> TestTree+responseCreateReplicationConfigurationTemplate =+ res+ "CreateReplicationConfigurationTemplateResponse"+ "fixture/CreateReplicationConfigurationTemplateResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateReplicationConfigurationTemplate)++responseDeleteJob :: DeleteJobResponse -> TestTree+responseDeleteJob =+ res+ "DeleteJobResponse"+ "fixture/DeleteJobResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteJob)++responseDeleteRecoveryInstance :: DeleteRecoveryInstanceResponse -> TestTree+responseDeleteRecoveryInstance =+ res+ "DeleteRecoveryInstanceResponse"+ "fixture/DeleteRecoveryInstanceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteRecoveryInstance)++responseDeleteReplicationConfigurationTemplate :: DeleteReplicationConfigurationTemplateResponse -> TestTree+responseDeleteReplicationConfigurationTemplate =+ res+ "DeleteReplicationConfigurationTemplateResponse"+ "fixture/DeleteReplicationConfigurationTemplateResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteReplicationConfigurationTemplate)++responseDeleteSourceServer :: DeleteSourceServerResponse -> TestTree+responseDeleteSourceServer =+ res+ "DeleteSourceServerResponse"+ "fixture/DeleteSourceServerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteSourceServer)++responseDescribeJobLogItems :: DescribeJobLogItemsResponse -> TestTree+responseDescribeJobLogItems =+ res+ "DescribeJobLogItemsResponse"+ "fixture/DescribeJobLogItemsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeJobLogItems)++responseDescribeJobs :: DescribeJobsResponse -> TestTree+responseDescribeJobs =+ res+ "DescribeJobsResponse"+ "fixture/DescribeJobsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeJobs)++responseDescribeRecoveryInstances :: DescribeRecoveryInstancesResponse -> TestTree+responseDescribeRecoveryInstances =+ res+ "DescribeRecoveryInstancesResponse"+ "fixture/DescribeRecoveryInstancesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeRecoveryInstances)++responseDescribeRecoverySnapshots :: DescribeRecoverySnapshotsResponse -> TestTree+responseDescribeRecoverySnapshots =+ res+ "DescribeRecoverySnapshotsResponse"+ "fixture/DescribeRecoverySnapshotsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeRecoverySnapshots)++responseDescribeReplicationConfigurationTemplates :: DescribeReplicationConfigurationTemplatesResponse -> TestTree+responseDescribeReplicationConfigurationTemplates =+ res+ "DescribeReplicationConfigurationTemplatesResponse"+ "fixture/DescribeReplicationConfigurationTemplatesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeReplicationConfigurationTemplates)++responseDescribeSourceServers :: DescribeSourceServersResponse -> TestTree+responseDescribeSourceServers =+ res+ "DescribeSourceServersResponse"+ "fixture/DescribeSourceServersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeSourceServers)++responseDisconnectRecoveryInstance :: DisconnectRecoveryInstanceResponse -> TestTree+responseDisconnectRecoveryInstance =+ res+ "DisconnectRecoveryInstanceResponse"+ "fixture/DisconnectRecoveryInstanceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisconnectRecoveryInstance)++responseDisconnectSourceServer :: SourceServer -> TestTree+responseDisconnectSourceServer =+ res+ "DisconnectSourceServerResponse"+ "fixture/DisconnectSourceServerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisconnectSourceServer)++responseGetFailbackReplicationConfiguration :: GetFailbackReplicationConfigurationResponse -> TestTree+responseGetFailbackReplicationConfiguration =+ res+ "GetFailbackReplicationConfigurationResponse"+ "fixture/GetFailbackReplicationConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetFailbackReplicationConfiguration)++responseGetLaunchConfiguration :: LaunchConfiguration -> TestTree+responseGetLaunchConfiguration =+ res+ "GetLaunchConfigurationResponse"+ "fixture/GetLaunchConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetLaunchConfiguration)++responseGetReplicationConfiguration :: ReplicationConfiguration -> TestTree+responseGetReplicationConfiguration =+ res+ "GetReplicationConfigurationResponse"+ "fixture/GetReplicationConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetReplicationConfiguration)++responseInitializeService :: InitializeServiceResponse -> TestTree+responseInitializeService =+ res+ "InitializeServiceResponse"+ "fixture/InitializeServiceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy InitializeService)++responseListExtensibleSourceServers :: ListExtensibleSourceServersResponse -> TestTree+responseListExtensibleSourceServers =+ res+ "ListExtensibleSourceServersResponse"+ "fixture/ListExtensibleSourceServersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListExtensibleSourceServers)++responseListStagingAccounts :: ListStagingAccountsResponse -> TestTree+responseListStagingAccounts =+ res+ "ListStagingAccountsResponse"+ "fixture/ListStagingAccountsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListStagingAccounts)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseRetryDataReplication :: SourceServer -> TestTree+responseRetryDataReplication =+ res+ "RetryDataReplicationResponse"+ "fixture/RetryDataReplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy RetryDataReplication)++responseReverseReplication :: ReverseReplicationResponse -> TestTree+responseReverseReplication =+ res+ "ReverseReplicationResponse"+ "fixture/ReverseReplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ReverseReplication)++responseStartFailbackLaunch :: StartFailbackLaunchResponse -> TestTree+responseStartFailbackLaunch =+ res+ "StartFailbackLaunchResponse"+ "fixture/StartFailbackLaunchResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartFailbackLaunch)++responseStartRecovery :: StartRecoveryResponse -> TestTree+responseStartRecovery =+ res+ "StartRecoveryResponse"+ "fixture/StartRecoveryResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartRecovery)++responseStartReplication :: StartReplicationResponse -> TestTree+responseStartReplication =+ res+ "StartReplicationResponse"+ "fixture/StartReplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartReplication)++responseStopFailback :: StopFailbackResponse -> TestTree+responseStopFailback =+ res+ "StopFailbackResponse"+ "fixture/StopFailbackResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StopFailback)++responseStopReplication :: StopReplicationResponse -> TestTree+responseStopReplication =+ res+ "StopReplicationResponse"+ "fixture/StopReplicationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StopReplication)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseTerminateRecoveryInstances :: TerminateRecoveryInstancesResponse -> TestTree+responseTerminateRecoveryInstances =+ res+ "TerminateRecoveryInstancesResponse"+ "fixture/TerminateRecoveryInstancesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TerminateRecoveryInstances)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateFailbackReplicationConfiguration :: UpdateFailbackReplicationConfigurationResponse -> TestTree+responseUpdateFailbackReplicationConfiguration =+ res+ "UpdateFailbackReplicationConfigurationResponse"+ "fixture/UpdateFailbackReplicationConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFailbackReplicationConfiguration)++responseUpdateLaunchConfiguration :: LaunchConfiguration -> TestTree+responseUpdateLaunchConfiguration =+ res+ "UpdateLaunchConfigurationResponse"+ "fixture/UpdateLaunchConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateLaunchConfiguration)++responseUpdateReplicationConfiguration :: ReplicationConfiguration -> TestTree+responseUpdateReplicationConfiguration =+ res+ "UpdateReplicationConfigurationResponse"+ "fixture/UpdateReplicationConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateReplicationConfiguration)++responseUpdateReplicationConfigurationTemplate :: ReplicationConfigurationTemplate -> TestTree+responseUpdateReplicationConfigurationTemplate =+ res+ "UpdateReplicationConfigurationTemplateResponse"+ "fixture/UpdateReplicationConfigurationTemplateResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateReplicationConfigurationTemplate)