packages feed

amazonka-route53-recovery-readiness (empty) → 2.0

raw patch · 124 files changed

+11222/−0 lines, 124 filesdep +amazonka-coredep +amazonka-route53-recovery-readinessdep +amazonka-test

Dependencies added: amazonka-core, amazonka-route53-recovery-readiness, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers

Files

+ 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 Route53 Recovery Readiness SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2019-12-02@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-route53-recovery-readiness)+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.Route53RecoveryReadiness](http://hackage.haskell.org/package/amazonka-route53-recovery-readiness/docs/Amazonka-Route53RecoveryReadiness.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-route53-recovery-readiness` 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-route53-recovery-readiness.cabal view
@@ -0,0 +1,131 @@+cabal-version:      2.2+name:               amazonka-route53-recovery-readiness+version:            2.0+synopsis:           Amazon Route53 Recovery Readiness SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2019-12-02@ 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.Route53RecoveryReadiness.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.Route53RecoveryReadiness" 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-route53-recovery-readiness++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.Route53RecoveryReadiness+    Amazonka.Route53RecoveryReadiness.CreateCell+    Amazonka.Route53RecoveryReadiness.CreateCrossAccountAuthorization+    Amazonka.Route53RecoveryReadiness.CreateReadinessCheck+    Amazonka.Route53RecoveryReadiness.CreateRecoveryGroup+    Amazonka.Route53RecoveryReadiness.CreateResourceSet+    Amazonka.Route53RecoveryReadiness.DeleteCell+    Amazonka.Route53RecoveryReadiness.DeleteCrossAccountAuthorization+    Amazonka.Route53RecoveryReadiness.DeleteReadinessCheck+    Amazonka.Route53RecoveryReadiness.DeleteRecoveryGroup+    Amazonka.Route53RecoveryReadiness.DeleteResourceSet+    Amazonka.Route53RecoveryReadiness.GetArchitectureRecommendations+    Amazonka.Route53RecoveryReadiness.GetCell+    Amazonka.Route53RecoveryReadiness.GetCellReadinessSummary+    Amazonka.Route53RecoveryReadiness.GetReadinessCheck+    Amazonka.Route53RecoveryReadiness.GetReadinessCheckResourceStatus+    Amazonka.Route53RecoveryReadiness.GetReadinessCheckStatus+    Amazonka.Route53RecoveryReadiness.GetRecoveryGroup+    Amazonka.Route53RecoveryReadiness.GetRecoveryGroupReadinessSummary+    Amazonka.Route53RecoveryReadiness.GetResourceSet+    Amazonka.Route53RecoveryReadiness.Lens+    Amazonka.Route53RecoveryReadiness.ListCells+    Amazonka.Route53RecoveryReadiness.ListCrossAccountAuthorizations+    Amazonka.Route53RecoveryReadiness.ListReadinessChecks+    Amazonka.Route53RecoveryReadiness.ListRecoveryGroups+    Amazonka.Route53RecoveryReadiness.ListResourceSets+    Amazonka.Route53RecoveryReadiness.ListRules+    Amazonka.Route53RecoveryReadiness.ListTagsForResources+    Amazonka.Route53RecoveryReadiness.TagResource+    Amazonka.Route53RecoveryReadiness.Types+    Amazonka.Route53RecoveryReadiness.Types.CellOutput+    Amazonka.Route53RecoveryReadiness.Types.DNSTargetResource+    Amazonka.Route53RecoveryReadiness.Types.ListRulesOutput+    Amazonka.Route53RecoveryReadiness.Types.Message+    Amazonka.Route53RecoveryReadiness.Types.NLBResource+    Amazonka.Route53RecoveryReadiness.Types.R53ResourceRecord+    Amazonka.Route53RecoveryReadiness.Types.Readiness+    Amazonka.Route53RecoveryReadiness.Types.ReadinessCheckOutput+    Amazonka.Route53RecoveryReadiness.Types.ReadinessCheckSummary+    Amazonka.Route53RecoveryReadiness.Types.Recommendation+    Amazonka.Route53RecoveryReadiness.Types.RecoveryGroupOutput+    Amazonka.Route53RecoveryReadiness.Types.Resource+    Amazonka.Route53RecoveryReadiness.Types.ResourceResult+    Amazonka.Route53RecoveryReadiness.Types.ResourceSetOutput+    Amazonka.Route53RecoveryReadiness.Types.RuleResult+    Amazonka.Route53RecoveryReadiness.Types.TargetResource+    Amazonka.Route53RecoveryReadiness.UntagResource+    Amazonka.Route53RecoveryReadiness.UpdateCell+    Amazonka.Route53RecoveryReadiness.UpdateReadinessCheck+    Amazonka.Route53RecoveryReadiness.UpdateRecoveryGroup+    Amazonka.Route53RecoveryReadiness.UpdateResourceSet+    Amazonka.Route53RecoveryReadiness.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-route53-recovery-readiness-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.Gen.Route53RecoveryReadiness+    Test.Amazonka.Route53RecoveryReadiness+    Test.Amazonka.Route53RecoveryReadiness.Internal++  build-depends:+    , amazonka-core                        >=2.0 && <2.1+    , amazonka-route53-recovery-readiness+    , amazonka-test                        >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateCell.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/CreateCellResponse.proto view
+ fixture/CreateCrossAccountAuthorization.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/CreateCrossAccountAuthorizationResponse.proto view
+ fixture/CreateReadinessCheck.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/CreateReadinessCheckResponse.proto view
+ fixture/CreateRecoveryGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/CreateRecoveryGroupResponse.proto view
+ fixture/CreateResourceSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/CreateResourceSetResponse.proto view
+ fixture/DeleteCell.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/DeleteCellResponse.proto view
+ fixture/DeleteCrossAccountAuthorization.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/DeleteCrossAccountAuthorizationResponse.proto view
+ fixture/DeleteReadinessCheck.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/DeleteReadinessCheckResponse.proto view
+ fixture/DeleteRecoveryGroup.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/DeleteRecoveryGroupResponse.proto view
+ fixture/DeleteResourceSet.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/DeleteResourceSetResponse.proto view
+ fixture/GetArchitectureRecommendations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/GetArchitectureRecommendationsResponse.proto view
+ fixture/GetCell.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/GetCellReadinessSummary.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/GetCellReadinessSummaryResponse.proto view
+ fixture/GetCellResponse.proto view
+ fixture/GetReadinessCheck.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/GetReadinessCheckResourceStatus.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/GetReadinessCheckResourceStatusResponse.proto view
+ fixture/GetReadinessCheckResponse.proto view
+ fixture/GetReadinessCheckStatus.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/GetReadinessCheckStatusResponse.proto view
+ fixture/GetRecoveryGroup.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/GetRecoveryGroupReadinessSummary.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/GetRecoveryGroupReadinessSummaryResponse.proto view
+ fixture/GetRecoveryGroupResponse.proto view
+ fixture/GetResourceSet.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/GetResourceSetResponse.proto view
+ fixture/ListCells.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/ListCellsResponse.proto view
+ fixture/ListCrossAccountAuthorizations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/ListCrossAccountAuthorizationsResponse.proto view
+ fixture/ListReadinessChecks.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/ListReadinessChecksResponse.proto view
+ fixture/ListRecoveryGroups.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/ListRecoveryGroupsResponse.proto view
+ fixture/ListResourceSets.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/ListResourceSetsResponse.proto view
+ fixture/ListRules.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/ListRulesResponse.proto view
+ fixture/ListTagsForResources.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/ListTagsForResourcesResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/UpdateCell.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/UpdateCellResponse.proto view
+ fixture/UpdateReadinessCheck.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/UpdateReadinessCheckResponse.proto view
+ fixture/UpdateRecoveryGroup.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/UpdateRecoveryGroupResponse.proto view
+ fixture/UpdateResourceSet.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/route53-recovery-readiness/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  route53-recovery-readiness.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/UpdateResourceSetResponse.proto view
+ gen/Amazonka/Route53RecoveryReadiness.hs view
@@ -0,0 +1,366 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.Route53RecoveryReadiness+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2019-12-02@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Recovery readiness+module Amazonka.Route53RecoveryReadiness+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateCell+    CreateCell (CreateCell'),+    newCreateCell,+    CreateCellResponse (CreateCellResponse'),+    newCreateCellResponse,++    -- ** CreateCrossAccountAuthorization+    CreateCrossAccountAuthorization (CreateCrossAccountAuthorization'),+    newCreateCrossAccountAuthorization,+    CreateCrossAccountAuthorizationResponse (CreateCrossAccountAuthorizationResponse'),+    newCreateCrossAccountAuthorizationResponse,++    -- ** CreateReadinessCheck+    CreateReadinessCheck (CreateReadinessCheck'),+    newCreateReadinessCheck,+    CreateReadinessCheckResponse (CreateReadinessCheckResponse'),+    newCreateReadinessCheckResponse,++    -- ** CreateRecoveryGroup+    CreateRecoveryGroup (CreateRecoveryGroup'),+    newCreateRecoveryGroup,+    CreateRecoveryGroupResponse (CreateRecoveryGroupResponse'),+    newCreateRecoveryGroupResponse,++    -- ** CreateResourceSet+    CreateResourceSet (CreateResourceSet'),+    newCreateResourceSet,+    CreateResourceSetResponse (CreateResourceSetResponse'),+    newCreateResourceSetResponse,++    -- ** DeleteCell+    DeleteCell (DeleteCell'),+    newDeleteCell,+    DeleteCellResponse (DeleteCellResponse'),+    newDeleteCellResponse,++    -- ** DeleteCrossAccountAuthorization+    DeleteCrossAccountAuthorization (DeleteCrossAccountAuthorization'),+    newDeleteCrossAccountAuthorization,+    DeleteCrossAccountAuthorizationResponse (DeleteCrossAccountAuthorizationResponse'),+    newDeleteCrossAccountAuthorizationResponse,++    -- ** DeleteReadinessCheck+    DeleteReadinessCheck (DeleteReadinessCheck'),+    newDeleteReadinessCheck,+    DeleteReadinessCheckResponse (DeleteReadinessCheckResponse'),+    newDeleteReadinessCheckResponse,++    -- ** DeleteRecoveryGroup+    DeleteRecoveryGroup (DeleteRecoveryGroup'),+    newDeleteRecoveryGroup,+    DeleteRecoveryGroupResponse (DeleteRecoveryGroupResponse'),+    newDeleteRecoveryGroupResponse,++    -- ** DeleteResourceSet+    DeleteResourceSet (DeleteResourceSet'),+    newDeleteResourceSet,+    DeleteResourceSetResponse (DeleteResourceSetResponse'),+    newDeleteResourceSetResponse,++    -- ** GetArchitectureRecommendations+    GetArchitectureRecommendations (GetArchitectureRecommendations'),+    newGetArchitectureRecommendations,+    GetArchitectureRecommendationsResponse (GetArchitectureRecommendationsResponse'),+    newGetArchitectureRecommendationsResponse,++    -- ** GetCell+    GetCell (GetCell'),+    newGetCell,+    GetCellResponse (GetCellResponse'),+    newGetCellResponse,++    -- ** GetCellReadinessSummary (Paginated)+    GetCellReadinessSummary (GetCellReadinessSummary'),+    newGetCellReadinessSummary,+    GetCellReadinessSummaryResponse (GetCellReadinessSummaryResponse'),+    newGetCellReadinessSummaryResponse,++    -- ** GetReadinessCheck+    GetReadinessCheck (GetReadinessCheck'),+    newGetReadinessCheck,+    GetReadinessCheckResponse (GetReadinessCheckResponse'),+    newGetReadinessCheckResponse,++    -- ** GetReadinessCheckResourceStatus (Paginated)+    GetReadinessCheckResourceStatus (GetReadinessCheckResourceStatus'),+    newGetReadinessCheckResourceStatus,+    GetReadinessCheckResourceStatusResponse (GetReadinessCheckResourceStatusResponse'),+    newGetReadinessCheckResourceStatusResponse,++    -- ** GetReadinessCheckStatus (Paginated)+    GetReadinessCheckStatus (GetReadinessCheckStatus'),+    newGetReadinessCheckStatus,+    GetReadinessCheckStatusResponse (GetReadinessCheckStatusResponse'),+    newGetReadinessCheckStatusResponse,++    -- ** GetRecoveryGroup+    GetRecoveryGroup (GetRecoveryGroup'),+    newGetRecoveryGroup,+    GetRecoveryGroupResponse (GetRecoveryGroupResponse'),+    newGetRecoveryGroupResponse,++    -- ** GetRecoveryGroupReadinessSummary (Paginated)+    GetRecoveryGroupReadinessSummary (GetRecoveryGroupReadinessSummary'),+    newGetRecoveryGroupReadinessSummary,+    GetRecoveryGroupReadinessSummaryResponse (GetRecoveryGroupReadinessSummaryResponse'),+    newGetRecoveryGroupReadinessSummaryResponse,++    -- ** GetResourceSet+    GetResourceSet (GetResourceSet'),+    newGetResourceSet,+    GetResourceSetResponse (GetResourceSetResponse'),+    newGetResourceSetResponse,++    -- ** ListCells (Paginated)+    ListCells (ListCells'),+    newListCells,+    ListCellsResponse (ListCellsResponse'),+    newListCellsResponse,++    -- ** ListCrossAccountAuthorizations (Paginated)+    ListCrossAccountAuthorizations (ListCrossAccountAuthorizations'),+    newListCrossAccountAuthorizations,+    ListCrossAccountAuthorizationsResponse (ListCrossAccountAuthorizationsResponse'),+    newListCrossAccountAuthorizationsResponse,++    -- ** ListReadinessChecks (Paginated)+    ListReadinessChecks (ListReadinessChecks'),+    newListReadinessChecks,+    ListReadinessChecksResponse (ListReadinessChecksResponse'),+    newListReadinessChecksResponse,++    -- ** ListRecoveryGroups (Paginated)+    ListRecoveryGroups (ListRecoveryGroups'),+    newListRecoveryGroups,+    ListRecoveryGroupsResponse (ListRecoveryGroupsResponse'),+    newListRecoveryGroupsResponse,++    -- ** ListResourceSets (Paginated)+    ListResourceSets (ListResourceSets'),+    newListResourceSets,+    ListResourceSetsResponse (ListResourceSetsResponse'),+    newListResourceSetsResponse,++    -- ** ListRules (Paginated)+    ListRules (ListRules'),+    newListRules,+    ListRulesResponse (ListRulesResponse'),+    newListRulesResponse,++    -- ** ListTagsForResources+    ListTagsForResources (ListTagsForResources'),+    newListTagsForResources,+    ListTagsForResourcesResponse (ListTagsForResourcesResponse'),+    newListTagsForResourcesResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateCell+    UpdateCell (UpdateCell'),+    newUpdateCell,+    UpdateCellResponse (UpdateCellResponse'),+    newUpdateCellResponse,++    -- ** UpdateReadinessCheck+    UpdateReadinessCheck (UpdateReadinessCheck'),+    newUpdateReadinessCheck,+    UpdateReadinessCheckResponse (UpdateReadinessCheckResponse'),+    newUpdateReadinessCheckResponse,++    -- ** UpdateRecoveryGroup+    UpdateRecoveryGroup (UpdateRecoveryGroup'),+    newUpdateRecoveryGroup,+    UpdateRecoveryGroupResponse (UpdateRecoveryGroupResponse'),+    newUpdateRecoveryGroupResponse,++    -- ** UpdateResourceSet+    UpdateResourceSet (UpdateResourceSet'),+    newUpdateResourceSet,+    UpdateResourceSetResponse (UpdateResourceSetResponse'),+    newUpdateResourceSetResponse,++    -- * Types++    -- ** Readiness+    Readiness (..),++    -- ** CellOutput+    CellOutput (CellOutput'),+    newCellOutput,++    -- ** DNSTargetResource+    DNSTargetResource (DNSTargetResource'),+    newDNSTargetResource,++    -- ** ListRulesOutput+    ListRulesOutput (ListRulesOutput'),+    newListRulesOutput,++    -- ** Message+    Message (Message'),+    newMessage,++    -- ** NLBResource+    NLBResource (NLBResource'),+    newNLBResource,++    -- ** R53ResourceRecord+    R53ResourceRecord (R53ResourceRecord'),+    newR53ResourceRecord,++    -- ** ReadinessCheckOutput+    ReadinessCheckOutput (ReadinessCheckOutput'),+    newReadinessCheckOutput,++    -- ** ReadinessCheckSummary+    ReadinessCheckSummary (ReadinessCheckSummary'),+    newReadinessCheckSummary,++    -- ** Recommendation+    Recommendation (Recommendation'),+    newRecommendation,++    -- ** RecoveryGroupOutput+    RecoveryGroupOutput (RecoveryGroupOutput'),+    newRecoveryGroupOutput,++    -- ** Resource+    Resource (Resource'),+    newResource,++    -- ** ResourceResult+    ResourceResult (ResourceResult'),+    newResourceResult,++    -- ** ResourceSetOutput+    ResourceSetOutput (ResourceSetOutput'),+    newResourceSetOutput,++    -- ** RuleResult+    RuleResult (RuleResult'),+    newRuleResult,++    -- ** TargetResource+    TargetResource (TargetResource'),+    newTargetResource,+  )+where++import Amazonka.Route53RecoveryReadiness.CreateCell+import Amazonka.Route53RecoveryReadiness.CreateCrossAccountAuthorization+import Amazonka.Route53RecoveryReadiness.CreateReadinessCheck+import Amazonka.Route53RecoveryReadiness.CreateRecoveryGroup+import Amazonka.Route53RecoveryReadiness.CreateResourceSet+import Amazonka.Route53RecoveryReadiness.DeleteCell+import Amazonka.Route53RecoveryReadiness.DeleteCrossAccountAuthorization+import Amazonka.Route53RecoveryReadiness.DeleteReadinessCheck+import Amazonka.Route53RecoveryReadiness.DeleteRecoveryGroup+import Amazonka.Route53RecoveryReadiness.DeleteResourceSet+import Amazonka.Route53RecoveryReadiness.GetArchitectureRecommendations+import Amazonka.Route53RecoveryReadiness.GetCell+import Amazonka.Route53RecoveryReadiness.GetCellReadinessSummary+import Amazonka.Route53RecoveryReadiness.GetReadinessCheck+import Amazonka.Route53RecoveryReadiness.GetReadinessCheckResourceStatus+import Amazonka.Route53RecoveryReadiness.GetReadinessCheckStatus+import Amazonka.Route53RecoveryReadiness.GetRecoveryGroup+import Amazonka.Route53RecoveryReadiness.GetRecoveryGroupReadinessSummary+import Amazonka.Route53RecoveryReadiness.GetResourceSet+import Amazonka.Route53RecoveryReadiness.Lens+import Amazonka.Route53RecoveryReadiness.ListCells+import Amazonka.Route53RecoveryReadiness.ListCrossAccountAuthorizations+import Amazonka.Route53RecoveryReadiness.ListReadinessChecks+import Amazonka.Route53RecoveryReadiness.ListRecoveryGroups+import Amazonka.Route53RecoveryReadiness.ListResourceSets+import Amazonka.Route53RecoveryReadiness.ListRules+import Amazonka.Route53RecoveryReadiness.ListTagsForResources+import Amazonka.Route53RecoveryReadiness.TagResource+import Amazonka.Route53RecoveryReadiness.Types+import Amazonka.Route53RecoveryReadiness.UntagResource+import Amazonka.Route53RecoveryReadiness.UpdateCell+import Amazonka.Route53RecoveryReadiness.UpdateReadinessCheck+import Amazonka.Route53RecoveryReadiness.UpdateRecoveryGroup+import Amazonka.Route53RecoveryReadiness.UpdateResourceSet+import Amazonka.Route53RecoveryReadiness.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 'Route53RecoveryReadiness'.++-- $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/Route53RecoveryReadiness/CreateCell.hs view
@@ -0,0 +1,254 @@+{-# 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.Route53RecoveryReadiness.CreateCell+-- 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 cell in an account.+module Amazonka.Route53RecoveryReadiness.CreateCell+  ( -- * Creating a Request+    CreateCell (..),+    newCreateCell,++    -- * Request Lenses+    createCell_cells,+    createCell_tags,+    createCell_cellName,++    -- * Destructuring the Response+    CreateCellResponse (..),+    newCreateCellResponse,++    -- * Response Lenses+    createCellResponse_cellArn,+    createCellResponse_cellName,+    createCellResponse_cells,+    createCellResponse_parentReadinessScopes,+    createCellResponse_tags,+    createCellResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newCreateCell' smart constructor.+data CreateCell = CreateCell'+  { -- | A list of cell Amazon Resource Names (ARNs) contained within this cell,+    -- for use in nested cells. For example, Availability Zones within specific+    -- Amazon Web Services Regions.+    cells :: Prelude.Maybe [Prelude.Text],+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the cell to create.+    cellName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCell' 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:+--+-- 'cells', 'createCell_cells' - A list of cell Amazon Resource Names (ARNs) contained within this cell,+-- for use in nested cells. For example, Availability Zones within specific+-- Amazon Web Services Regions.+--+-- 'tags', 'createCell_tags' - Undocumented member.+--+-- 'cellName', 'createCell_cellName' - The name of the cell to create.+newCreateCell ::+  -- | 'cellName'+  Prelude.Text ->+  CreateCell+newCreateCell pCellName_ =+  CreateCell'+    { cells = Prelude.Nothing,+      tags = Prelude.Nothing,+      cellName = pCellName_+    }++-- | A list of cell Amazon Resource Names (ARNs) contained within this cell,+-- for use in nested cells. For example, Availability Zones within specific+-- Amazon Web Services Regions.+createCell_cells :: Lens.Lens' CreateCell (Prelude.Maybe [Prelude.Text])+createCell_cells = Lens.lens (\CreateCell' {cells} -> cells) (\s@CreateCell' {} a -> s {cells = a} :: CreateCell) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createCell_tags :: Lens.Lens' CreateCell (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createCell_tags = Lens.lens (\CreateCell' {tags} -> tags) (\s@CreateCell' {} a -> s {tags = a} :: CreateCell) Prelude.. Lens.mapping Lens.coerced++-- | The name of the cell to create.+createCell_cellName :: Lens.Lens' CreateCell Prelude.Text+createCell_cellName = Lens.lens (\CreateCell' {cellName} -> cellName) (\s@CreateCell' {} a -> s {cellName = a} :: CreateCell)++instance Core.AWSRequest CreateCell where+  type AWSResponse CreateCell = CreateCellResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateCellResponse'+            Prelude.<$> (x Data..?> "cellArn")+            Prelude.<*> (x Data..?> "cellName")+            Prelude.<*> (x Data..?> "cells" Core..!@ Prelude.mempty)+            Prelude.<*> ( x+                            Data..?> "parentReadinessScopes"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateCell where+  hashWithSalt _salt CreateCell' {..} =+    _salt+      `Prelude.hashWithSalt` cells+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` cellName++instance Prelude.NFData CreateCell where+  rnf CreateCell' {..} =+    Prelude.rnf cells+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf cellName++instance Data.ToHeaders CreateCell where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateCell where+  toJSON CreateCell' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("cells" Data..=) Prelude.<$> cells,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("cellName" Data..= cellName)+          ]+      )++instance Data.ToPath CreateCell where+  toPath = Prelude.const "/cells"++instance Data.ToQuery CreateCell where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateCellResponse' smart constructor.+data CreateCellResponse = CreateCellResponse'+  { -- | The Amazon Resource Name (ARN) for the cell.+    cellArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the cell.+    cellName :: Prelude.Maybe Prelude.Text,+    -- | A list of cell ARNs.+    cells :: Prelude.Maybe [Prelude.Text],+    -- | The readiness scope for the cell, which can be a cell Amazon Resource+    -- Name (ARN) or a recovery group ARN. This is a list but currently can+    -- have only one element.+    parentReadinessScopes :: Prelude.Maybe [Prelude.Text],+    -- | Tags on the resources.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCellResponse' 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:+--+-- 'cellArn', 'createCellResponse_cellArn' - The Amazon Resource Name (ARN) for the cell.+--+-- 'cellName', 'createCellResponse_cellName' - The name of the cell.+--+-- 'cells', 'createCellResponse_cells' - A list of cell ARNs.+--+-- 'parentReadinessScopes', 'createCellResponse_parentReadinessScopes' - The readiness scope for the cell, which can be a cell Amazon Resource+-- Name (ARN) or a recovery group ARN. This is a list but currently can+-- have only one element.+--+-- 'tags', 'createCellResponse_tags' - Tags on the resources.+--+-- 'httpStatus', 'createCellResponse_httpStatus' - The response's http status code.+newCreateCellResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateCellResponse+newCreateCellResponse pHttpStatus_ =+  CreateCellResponse'+    { cellArn = Prelude.Nothing,+      cellName = Prelude.Nothing,+      cells = Prelude.Nothing,+      parentReadinessScopes = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) for the cell.+createCellResponse_cellArn :: Lens.Lens' CreateCellResponse (Prelude.Maybe Prelude.Text)+createCellResponse_cellArn = Lens.lens (\CreateCellResponse' {cellArn} -> cellArn) (\s@CreateCellResponse' {} a -> s {cellArn = a} :: CreateCellResponse)++-- | The name of the cell.+createCellResponse_cellName :: Lens.Lens' CreateCellResponse (Prelude.Maybe Prelude.Text)+createCellResponse_cellName = Lens.lens (\CreateCellResponse' {cellName} -> cellName) (\s@CreateCellResponse' {} a -> s {cellName = a} :: CreateCellResponse)++-- | A list of cell ARNs.+createCellResponse_cells :: Lens.Lens' CreateCellResponse (Prelude.Maybe [Prelude.Text])+createCellResponse_cells = Lens.lens (\CreateCellResponse' {cells} -> cells) (\s@CreateCellResponse' {} a -> s {cells = a} :: CreateCellResponse) Prelude.. Lens.mapping Lens.coerced++-- | The readiness scope for the cell, which can be a cell Amazon Resource+-- Name (ARN) or a recovery group ARN. This is a list but currently can+-- have only one element.+createCellResponse_parentReadinessScopes :: Lens.Lens' CreateCellResponse (Prelude.Maybe [Prelude.Text])+createCellResponse_parentReadinessScopes = Lens.lens (\CreateCellResponse' {parentReadinessScopes} -> parentReadinessScopes) (\s@CreateCellResponse' {} a -> s {parentReadinessScopes = a} :: CreateCellResponse) Prelude.. Lens.mapping Lens.coerced++-- | Tags on the resources.+createCellResponse_tags :: Lens.Lens' CreateCellResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createCellResponse_tags = Lens.lens (\CreateCellResponse' {tags} -> tags) (\s@CreateCellResponse' {} a -> s {tags = a} :: CreateCellResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+createCellResponse_httpStatus :: Lens.Lens' CreateCellResponse Prelude.Int+createCellResponse_httpStatus = Lens.lens (\CreateCellResponse' {httpStatus} -> httpStatus) (\s@CreateCellResponse' {} a -> s {httpStatus = a} :: CreateCellResponse)++instance Prelude.NFData CreateCellResponse where+  rnf CreateCellResponse' {..} =+    Prelude.rnf cellArn+      `Prelude.seq` Prelude.rnf cellName+      `Prelude.seq` Prelude.rnf cells+      `Prelude.seq` Prelude.rnf parentReadinessScopes+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/CreateCrossAccountAuthorization.hs view
@@ -0,0 +1,195 @@+{-# 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.Route53RecoveryReadiness.CreateCrossAccountAuthorization+-- 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 cross-account readiness authorization. This lets you authorize+-- another account to work with Route 53 Application Recovery Controller,+-- for example, to check the readiness status of resources in a separate+-- account.+module Amazonka.Route53RecoveryReadiness.CreateCrossAccountAuthorization+  ( -- * Creating a Request+    CreateCrossAccountAuthorization (..),+    newCreateCrossAccountAuthorization,++    -- * Request Lenses+    createCrossAccountAuthorization_crossAccountAuthorization,++    -- * Destructuring the Response+    CreateCrossAccountAuthorizationResponse (..),+    newCreateCrossAccountAuthorizationResponse,++    -- * Response Lenses+    createCrossAccountAuthorizationResponse_crossAccountAuthorization,+    createCrossAccountAuthorizationResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newCreateCrossAccountAuthorization' smart constructor.+data CreateCrossAccountAuthorization = CreateCrossAccountAuthorization'+  { -- | The cross-account authorization.+    crossAccountAuthorization :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCrossAccountAuthorization' 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:+--+-- 'crossAccountAuthorization', 'createCrossAccountAuthorization_crossAccountAuthorization' - The cross-account authorization.+newCreateCrossAccountAuthorization ::+  -- | 'crossAccountAuthorization'+  Prelude.Text ->+  CreateCrossAccountAuthorization+newCreateCrossAccountAuthorization+  pCrossAccountAuthorization_ =+    CreateCrossAccountAuthorization'+      { crossAccountAuthorization =+          pCrossAccountAuthorization_+      }++-- | The cross-account authorization.+createCrossAccountAuthorization_crossAccountAuthorization :: Lens.Lens' CreateCrossAccountAuthorization Prelude.Text+createCrossAccountAuthorization_crossAccountAuthorization = Lens.lens (\CreateCrossAccountAuthorization' {crossAccountAuthorization} -> crossAccountAuthorization) (\s@CreateCrossAccountAuthorization' {} a -> s {crossAccountAuthorization = a} :: CreateCrossAccountAuthorization)++instance+  Core.AWSRequest+    CreateCrossAccountAuthorization+  where+  type+    AWSResponse CreateCrossAccountAuthorization =+      CreateCrossAccountAuthorizationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateCrossAccountAuthorizationResponse'+            Prelude.<$> (x Data..?> "crossAccountAuthorization")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    CreateCrossAccountAuthorization+  where+  hashWithSalt+    _salt+    CreateCrossAccountAuthorization' {..} =+      _salt+        `Prelude.hashWithSalt` crossAccountAuthorization++instance+  Prelude.NFData+    CreateCrossAccountAuthorization+  where+  rnf CreateCrossAccountAuthorization' {..} =+    Prelude.rnf crossAccountAuthorization++instance+  Data.ToHeaders+    CreateCrossAccountAuthorization+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateCrossAccountAuthorization where+  toJSON CreateCrossAccountAuthorization' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "crossAccountAuthorization"+                  Data..= crossAccountAuthorization+              )+          ]+      )++instance Data.ToPath CreateCrossAccountAuthorization where+  toPath = Prelude.const "/crossaccountauthorizations"++instance Data.ToQuery CreateCrossAccountAuthorization where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateCrossAccountAuthorizationResponse' smart constructor.+data CreateCrossAccountAuthorizationResponse = CreateCrossAccountAuthorizationResponse'+  { -- | The cross-account authorization.+    crossAccountAuthorization :: 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 'CreateCrossAccountAuthorizationResponse' 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:+--+-- 'crossAccountAuthorization', 'createCrossAccountAuthorizationResponse_crossAccountAuthorization' - The cross-account authorization.+--+-- 'httpStatus', 'createCrossAccountAuthorizationResponse_httpStatus' - The response's http status code.+newCreateCrossAccountAuthorizationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateCrossAccountAuthorizationResponse+newCreateCrossAccountAuthorizationResponse+  pHttpStatus_ =+    CreateCrossAccountAuthorizationResponse'+      { crossAccountAuthorization =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The cross-account authorization.+createCrossAccountAuthorizationResponse_crossAccountAuthorization :: Lens.Lens' CreateCrossAccountAuthorizationResponse (Prelude.Maybe Prelude.Text)+createCrossAccountAuthorizationResponse_crossAccountAuthorization = Lens.lens (\CreateCrossAccountAuthorizationResponse' {crossAccountAuthorization} -> crossAccountAuthorization) (\s@CreateCrossAccountAuthorizationResponse' {} a -> s {crossAccountAuthorization = a} :: CreateCrossAccountAuthorizationResponse)++-- | The response's http status code.+createCrossAccountAuthorizationResponse_httpStatus :: Lens.Lens' CreateCrossAccountAuthorizationResponse Prelude.Int+createCrossAccountAuthorizationResponse_httpStatus = Lens.lens (\CreateCrossAccountAuthorizationResponse' {httpStatus} -> httpStatus) (\s@CreateCrossAccountAuthorizationResponse' {} a -> s {httpStatus = a} :: CreateCrossAccountAuthorizationResponse)++instance+  Prelude.NFData+    CreateCrossAccountAuthorizationResponse+  where+  rnf CreateCrossAccountAuthorizationResponse' {..} =+    Prelude.rnf crossAccountAuthorization+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/CreateReadinessCheck.hs view
@@ -0,0 +1,239 @@+{-# 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.Route53RecoveryReadiness.CreateReadinessCheck+-- 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 readiness check in an account. A readiness check monitors a+-- resource set in your application, such as a set of Amazon Aurora+-- instances, that Application Recovery Controller is auditing recovery+-- readiness for. The audits run once every minute on every resource+-- that\'s associated with a readiness check.+module Amazonka.Route53RecoveryReadiness.CreateReadinessCheck+  ( -- * Creating a Request+    CreateReadinessCheck (..),+    newCreateReadinessCheck,++    -- * Request Lenses+    createReadinessCheck_tags,+    createReadinessCheck_resourceSetName,+    createReadinessCheck_readinessCheckName,++    -- * Destructuring the Response+    CreateReadinessCheckResponse (..),+    newCreateReadinessCheckResponse,++    -- * Response Lenses+    createReadinessCheckResponse_readinessCheckArn,+    createReadinessCheckResponse_readinessCheckName,+    createReadinessCheckResponse_resourceSet,+    createReadinessCheckResponse_tags,+    createReadinessCheckResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newCreateReadinessCheck' smart constructor.+data CreateReadinessCheck = CreateReadinessCheck'+  { tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the resource set to check.+    resourceSetName :: Prelude.Text,+    -- | The name of the readiness check to create.+    readinessCheckName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateReadinessCheck' 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', 'createReadinessCheck_tags' - Undocumented member.+--+-- 'resourceSetName', 'createReadinessCheck_resourceSetName' - The name of the resource set to check.+--+-- 'readinessCheckName', 'createReadinessCheck_readinessCheckName' - The name of the readiness check to create.+newCreateReadinessCheck ::+  -- | 'resourceSetName'+  Prelude.Text ->+  -- | 'readinessCheckName'+  Prelude.Text ->+  CreateReadinessCheck+newCreateReadinessCheck+  pResourceSetName_+  pReadinessCheckName_ =+    CreateReadinessCheck'+      { tags = Prelude.Nothing,+        resourceSetName = pResourceSetName_,+        readinessCheckName = pReadinessCheckName_+      }++-- | Undocumented member.+createReadinessCheck_tags :: Lens.Lens' CreateReadinessCheck (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createReadinessCheck_tags = Lens.lens (\CreateReadinessCheck' {tags} -> tags) (\s@CreateReadinessCheck' {} a -> s {tags = a} :: CreateReadinessCheck) Prelude.. Lens.mapping Lens.coerced++-- | The name of the resource set to check.+createReadinessCheck_resourceSetName :: Lens.Lens' CreateReadinessCheck Prelude.Text+createReadinessCheck_resourceSetName = Lens.lens (\CreateReadinessCheck' {resourceSetName} -> resourceSetName) (\s@CreateReadinessCheck' {} a -> s {resourceSetName = a} :: CreateReadinessCheck)++-- | The name of the readiness check to create.+createReadinessCheck_readinessCheckName :: Lens.Lens' CreateReadinessCheck Prelude.Text+createReadinessCheck_readinessCheckName = Lens.lens (\CreateReadinessCheck' {readinessCheckName} -> readinessCheckName) (\s@CreateReadinessCheck' {} a -> s {readinessCheckName = a} :: CreateReadinessCheck)++instance Core.AWSRequest CreateReadinessCheck where+  type+    AWSResponse CreateReadinessCheck =+      CreateReadinessCheckResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateReadinessCheckResponse'+            Prelude.<$> (x Data..?> "readinessCheckArn")+            Prelude.<*> (x Data..?> "readinessCheckName")+            Prelude.<*> (x Data..?> "resourceSet")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateReadinessCheck where+  hashWithSalt _salt CreateReadinessCheck' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` resourceSetName+      `Prelude.hashWithSalt` readinessCheckName++instance Prelude.NFData CreateReadinessCheck where+  rnf CreateReadinessCheck' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf resourceSetName+      `Prelude.seq` Prelude.rnf readinessCheckName++instance Data.ToHeaders CreateReadinessCheck where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateReadinessCheck where+  toJSON CreateReadinessCheck' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("resourceSetName" Data..= resourceSetName),+            Prelude.Just+              ("readinessCheckName" Data..= readinessCheckName)+          ]+      )++instance Data.ToPath CreateReadinessCheck where+  toPath = Prelude.const "/readinesschecks"++instance Data.ToQuery CreateReadinessCheck where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateReadinessCheckResponse' smart constructor.+data CreateReadinessCheckResponse = CreateReadinessCheckResponse'+  { -- | The Amazon Resource Name (ARN) associated with a readiness check.+    readinessCheckArn :: Prelude.Maybe Prelude.Text,+    -- | Name of a readiness check.+    readinessCheckName :: Prelude.Maybe Prelude.Text,+    -- | Name of the resource set to be checked.+    resourceSet :: Prelude.Maybe Prelude.Text,+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateReadinessCheckResponse' 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:+--+-- 'readinessCheckArn', 'createReadinessCheckResponse_readinessCheckArn' - The Amazon Resource Name (ARN) associated with a readiness check.+--+-- 'readinessCheckName', 'createReadinessCheckResponse_readinessCheckName' - Name of a readiness check.+--+-- 'resourceSet', 'createReadinessCheckResponse_resourceSet' - Name of the resource set to be checked.+--+-- 'tags', 'createReadinessCheckResponse_tags' - Undocumented member.+--+-- 'httpStatus', 'createReadinessCheckResponse_httpStatus' - The response's http status code.+newCreateReadinessCheckResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateReadinessCheckResponse+newCreateReadinessCheckResponse pHttpStatus_ =+  CreateReadinessCheckResponse'+    { readinessCheckArn =+        Prelude.Nothing,+      readinessCheckName = Prelude.Nothing,+      resourceSet = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) associated with a readiness check.+createReadinessCheckResponse_readinessCheckArn :: Lens.Lens' CreateReadinessCheckResponse (Prelude.Maybe Prelude.Text)+createReadinessCheckResponse_readinessCheckArn = Lens.lens (\CreateReadinessCheckResponse' {readinessCheckArn} -> readinessCheckArn) (\s@CreateReadinessCheckResponse' {} a -> s {readinessCheckArn = a} :: CreateReadinessCheckResponse)++-- | Name of a readiness check.+createReadinessCheckResponse_readinessCheckName :: Lens.Lens' CreateReadinessCheckResponse (Prelude.Maybe Prelude.Text)+createReadinessCheckResponse_readinessCheckName = Lens.lens (\CreateReadinessCheckResponse' {readinessCheckName} -> readinessCheckName) (\s@CreateReadinessCheckResponse' {} a -> s {readinessCheckName = a} :: CreateReadinessCheckResponse)++-- | Name of the resource set to be checked.+createReadinessCheckResponse_resourceSet :: Lens.Lens' CreateReadinessCheckResponse (Prelude.Maybe Prelude.Text)+createReadinessCheckResponse_resourceSet = Lens.lens (\CreateReadinessCheckResponse' {resourceSet} -> resourceSet) (\s@CreateReadinessCheckResponse' {} a -> s {resourceSet = a} :: CreateReadinessCheckResponse)++-- | Undocumented member.+createReadinessCheckResponse_tags :: Lens.Lens' CreateReadinessCheckResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createReadinessCheckResponse_tags = Lens.lens (\CreateReadinessCheckResponse' {tags} -> tags) (\s@CreateReadinessCheckResponse' {} a -> s {tags = a} :: CreateReadinessCheckResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+createReadinessCheckResponse_httpStatus :: Lens.Lens' CreateReadinessCheckResponse Prelude.Int+createReadinessCheckResponse_httpStatus = Lens.lens (\CreateReadinessCheckResponse' {httpStatus} -> httpStatus) (\s@CreateReadinessCheckResponse' {} a -> s {httpStatus = a} :: CreateReadinessCheckResponse)++instance Prelude.NFData CreateReadinessCheckResponse where+  rnf CreateReadinessCheckResponse' {..} =+    Prelude.rnf readinessCheckArn+      `Prelude.seq` Prelude.rnf readinessCheckName+      `Prelude.seq` Prelude.rnf resourceSet+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/CreateRecoveryGroup.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.Route53RecoveryReadiness.CreateRecoveryGroup+-- 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 recovery group in an account. A recovery group corresponds to+-- an application and includes a list of the cells that make up the+-- application.+module Amazonka.Route53RecoveryReadiness.CreateRecoveryGroup+  ( -- * Creating a Request+    CreateRecoveryGroup (..),+    newCreateRecoveryGroup,++    -- * Request Lenses+    createRecoveryGroup_cells,+    createRecoveryGroup_tags,+    createRecoveryGroup_recoveryGroupName,++    -- * Destructuring the Response+    CreateRecoveryGroupResponse (..),+    newCreateRecoveryGroupResponse,++    -- * Response Lenses+    createRecoveryGroupResponse_cells,+    createRecoveryGroupResponse_recoveryGroupArn,+    createRecoveryGroupResponse_recoveryGroupName,+    createRecoveryGroupResponse_tags,+    createRecoveryGroupResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newCreateRecoveryGroup' smart constructor.+data CreateRecoveryGroup = CreateRecoveryGroup'+  { -- | A list of the cell Amazon Resource Names (ARNs) in the recovery group.+    cells :: Prelude.Maybe [Prelude.Text],+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the recovery group to create.+    recoveryGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRecoveryGroup' 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:+--+-- 'cells', 'createRecoveryGroup_cells' - A list of the cell Amazon Resource Names (ARNs) in the recovery group.+--+-- 'tags', 'createRecoveryGroup_tags' - Undocumented member.+--+-- 'recoveryGroupName', 'createRecoveryGroup_recoveryGroupName' - The name of the recovery group to create.+newCreateRecoveryGroup ::+  -- | 'recoveryGroupName'+  Prelude.Text ->+  CreateRecoveryGroup+newCreateRecoveryGroup pRecoveryGroupName_ =+  CreateRecoveryGroup'+    { cells = Prelude.Nothing,+      tags = Prelude.Nothing,+      recoveryGroupName = pRecoveryGroupName_+    }++-- | A list of the cell Amazon Resource Names (ARNs) in the recovery group.+createRecoveryGroup_cells :: Lens.Lens' CreateRecoveryGroup (Prelude.Maybe [Prelude.Text])+createRecoveryGroup_cells = Lens.lens (\CreateRecoveryGroup' {cells} -> cells) (\s@CreateRecoveryGroup' {} a -> s {cells = a} :: CreateRecoveryGroup) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createRecoveryGroup_tags :: Lens.Lens' CreateRecoveryGroup (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createRecoveryGroup_tags = Lens.lens (\CreateRecoveryGroup' {tags} -> tags) (\s@CreateRecoveryGroup' {} a -> s {tags = a} :: CreateRecoveryGroup) Prelude.. Lens.mapping Lens.coerced++-- | The name of the recovery group to create.+createRecoveryGroup_recoveryGroupName :: Lens.Lens' CreateRecoveryGroup Prelude.Text+createRecoveryGroup_recoveryGroupName = Lens.lens (\CreateRecoveryGroup' {recoveryGroupName} -> recoveryGroupName) (\s@CreateRecoveryGroup' {} a -> s {recoveryGroupName = a} :: CreateRecoveryGroup)++instance Core.AWSRequest CreateRecoveryGroup where+  type+    AWSResponse CreateRecoveryGroup =+      CreateRecoveryGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateRecoveryGroupResponse'+            Prelude.<$> (x Data..?> "cells" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "recoveryGroupArn")+            Prelude.<*> (x Data..?> "recoveryGroupName")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateRecoveryGroup where+  hashWithSalt _salt CreateRecoveryGroup' {..} =+    _salt+      `Prelude.hashWithSalt` cells+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` recoveryGroupName++instance Prelude.NFData CreateRecoveryGroup where+  rnf CreateRecoveryGroup' {..} =+    Prelude.rnf cells+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf recoveryGroupName++instance Data.ToHeaders CreateRecoveryGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateRecoveryGroup where+  toJSON CreateRecoveryGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("cells" Data..=) Prelude.<$> cells,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("recoveryGroupName" Data..= recoveryGroupName)+          ]+      )++instance Data.ToPath CreateRecoveryGroup where+  toPath = Prelude.const "/recoverygroups"++instance Data.ToQuery CreateRecoveryGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateRecoveryGroupResponse' smart constructor.+data CreateRecoveryGroupResponse = CreateRecoveryGroupResponse'+  { -- | A list of a cell\'s Amazon Resource Names (ARNs).+    cells :: Prelude.Maybe [Prelude.Text],+    -- | The Amazon Resource Name (ARN) for the recovery group.+    recoveryGroupArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the recovery group.+    recoveryGroupName :: Prelude.Maybe Prelude.Text,+    -- | The tags associated with the recovery group.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRecoveryGroupResponse' 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:+--+-- 'cells', 'createRecoveryGroupResponse_cells' - A list of a cell\'s Amazon Resource Names (ARNs).+--+-- 'recoveryGroupArn', 'createRecoveryGroupResponse_recoveryGroupArn' - The Amazon Resource Name (ARN) for the recovery group.+--+-- 'recoveryGroupName', 'createRecoveryGroupResponse_recoveryGroupName' - The name of the recovery group.+--+-- 'tags', 'createRecoveryGroupResponse_tags' - The tags associated with the recovery group.+--+-- 'httpStatus', 'createRecoveryGroupResponse_httpStatus' - The response's http status code.+newCreateRecoveryGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateRecoveryGroupResponse+newCreateRecoveryGroupResponse pHttpStatus_ =+  CreateRecoveryGroupResponse'+    { cells =+        Prelude.Nothing,+      recoveryGroupArn = Prelude.Nothing,+      recoveryGroupName = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of a cell\'s Amazon Resource Names (ARNs).+createRecoveryGroupResponse_cells :: Lens.Lens' CreateRecoveryGroupResponse (Prelude.Maybe [Prelude.Text])+createRecoveryGroupResponse_cells = Lens.lens (\CreateRecoveryGroupResponse' {cells} -> cells) (\s@CreateRecoveryGroupResponse' {} a -> s {cells = a} :: CreateRecoveryGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) for the recovery group.+createRecoveryGroupResponse_recoveryGroupArn :: Lens.Lens' CreateRecoveryGroupResponse (Prelude.Maybe Prelude.Text)+createRecoveryGroupResponse_recoveryGroupArn = Lens.lens (\CreateRecoveryGroupResponse' {recoveryGroupArn} -> recoveryGroupArn) (\s@CreateRecoveryGroupResponse' {} a -> s {recoveryGroupArn = a} :: CreateRecoveryGroupResponse)++-- | The name of the recovery group.+createRecoveryGroupResponse_recoveryGroupName :: Lens.Lens' CreateRecoveryGroupResponse (Prelude.Maybe Prelude.Text)+createRecoveryGroupResponse_recoveryGroupName = Lens.lens (\CreateRecoveryGroupResponse' {recoveryGroupName} -> recoveryGroupName) (\s@CreateRecoveryGroupResponse' {} a -> s {recoveryGroupName = a} :: CreateRecoveryGroupResponse)++-- | The tags associated with the recovery group.+createRecoveryGroupResponse_tags :: Lens.Lens' CreateRecoveryGroupResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createRecoveryGroupResponse_tags = Lens.lens (\CreateRecoveryGroupResponse' {tags} -> tags) (\s@CreateRecoveryGroupResponse' {} a -> s {tags = a} :: CreateRecoveryGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+createRecoveryGroupResponse_httpStatus :: Lens.Lens' CreateRecoveryGroupResponse Prelude.Int+createRecoveryGroupResponse_httpStatus = Lens.lens (\CreateRecoveryGroupResponse' {httpStatus} -> httpStatus) (\s@CreateRecoveryGroupResponse' {} a -> s {httpStatus = a} :: CreateRecoveryGroupResponse)++instance Prelude.NFData CreateRecoveryGroupResponse where+  rnf CreateRecoveryGroupResponse' {..} =+    Prelude.rnf cells+      `Prelude.seq` Prelude.rnf recoveryGroupArn+      `Prelude.seq` Prelude.rnf recoveryGroupName+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/CreateResourceSet.hs view
@@ -0,0 +1,329 @@+{-# 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.Route53RecoveryReadiness.CreateResourceSet+-- 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 resource set. A resource set is a set of resources of one type+-- that span multiple cells. You can associate a resource set with a+-- readiness check to monitor the resources for failover readiness.+module Amazonka.Route53RecoveryReadiness.CreateResourceSet+  ( -- * Creating a Request+    CreateResourceSet (..),+    newCreateResourceSet,++    -- * Request Lenses+    createResourceSet_tags,+    createResourceSet_resourceSetType,+    createResourceSet_resourceSetName,+    createResourceSet_resources,++    -- * Destructuring the Response+    CreateResourceSetResponse (..),+    newCreateResourceSetResponse,++    -- * Response Lenses+    createResourceSetResponse_resourceSetArn,+    createResourceSetResponse_resourceSetName,+    createResourceSetResponse_resourceSetType,+    createResourceSetResponse_resources,+    createResourceSetResponse_tags,+    createResourceSetResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newCreateResourceSet' smart constructor.+data CreateResourceSet = CreateResourceSet'+  { -- | A tag to associate with the parameters for a resource set.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The resource type of the resources in the resource set. Enter one of the+    -- following values for resource type:+    --+    -- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+    -- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+    -- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+    -- AWS::ElasticLoadBalancing::LoadBalancer,+    -- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+    -- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+    -- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+    -- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+    -- AWS::Route53RecoveryReadiness::DNSTargetResource+    resourceSetType :: Prelude.Text,+    -- | The name of the resource set to create.+    resourceSetName :: Prelude.Text,+    -- | A list of resource objects in the resource set.+    resources :: [Resource]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateResourceSet' 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', 'createResourceSet_tags' - A tag to associate with the parameters for a resource set.+--+-- 'resourceSetType', 'createResourceSet_resourceSetType' - The resource type of the resources in the resource set. Enter one of the+-- following values for resource type:+--+-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+-- AWS::ElasticLoadBalancing::LoadBalancer,+-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+-- AWS::Route53RecoveryReadiness::DNSTargetResource+--+-- 'resourceSetName', 'createResourceSet_resourceSetName' - The name of the resource set to create.+--+-- 'resources', 'createResourceSet_resources' - A list of resource objects in the resource set.+newCreateResourceSet ::+  -- | 'resourceSetType'+  Prelude.Text ->+  -- | 'resourceSetName'+  Prelude.Text ->+  CreateResourceSet+newCreateResourceSet+  pResourceSetType_+  pResourceSetName_ =+    CreateResourceSet'+      { tags = Prelude.Nothing,+        resourceSetType = pResourceSetType_,+        resourceSetName = pResourceSetName_,+        resources = Prelude.mempty+      }++-- | A tag to associate with the parameters for a resource set.+createResourceSet_tags :: Lens.Lens' CreateResourceSet (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createResourceSet_tags = Lens.lens (\CreateResourceSet' {tags} -> tags) (\s@CreateResourceSet' {} a -> s {tags = a} :: CreateResourceSet) Prelude.. Lens.mapping Lens.coerced++-- | The resource type of the resources in the resource set. Enter one of the+-- following values for resource type:+--+-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+-- AWS::ElasticLoadBalancing::LoadBalancer,+-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+-- AWS::Route53RecoveryReadiness::DNSTargetResource+createResourceSet_resourceSetType :: Lens.Lens' CreateResourceSet Prelude.Text+createResourceSet_resourceSetType = Lens.lens (\CreateResourceSet' {resourceSetType} -> resourceSetType) (\s@CreateResourceSet' {} a -> s {resourceSetType = a} :: CreateResourceSet)++-- | The name of the resource set to create.+createResourceSet_resourceSetName :: Lens.Lens' CreateResourceSet Prelude.Text+createResourceSet_resourceSetName = Lens.lens (\CreateResourceSet' {resourceSetName} -> resourceSetName) (\s@CreateResourceSet' {} a -> s {resourceSetName = a} :: CreateResourceSet)++-- | A list of resource objects in the resource set.+createResourceSet_resources :: Lens.Lens' CreateResourceSet [Resource]+createResourceSet_resources = Lens.lens (\CreateResourceSet' {resources} -> resources) (\s@CreateResourceSet' {} a -> s {resources = a} :: CreateResourceSet) Prelude.. Lens.coerced++instance Core.AWSRequest CreateResourceSet where+  type+    AWSResponse CreateResourceSet =+      CreateResourceSetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateResourceSetResponse'+            Prelude.<$> (x Data..?> "resourceSetArn")+            Prelude.<*> (x Data..?> "resourceSetName")+            Prelude.<*> (x Data..?> "resourceSetType")+            Prelude.<*> (x Data..?> "resources" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateResourceSet where+  hashWithSalt _salt CreateResourceSet' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` resourceSetType+      `Prelude.hashWithSalt` resourceSetName+      `Prelude.hashWithSalt` resources++instance Prelude.NFData CreateResourceSet where+  rnf CreateResourceSet' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf resourceSetType+      `Prelude.seq` Prelude.rnf resourceSetName+      `Prelude.seq` Prelude.rnf resources++instance Data.ToHeaders CreateResourceSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateResourceSet where+  toJSON CreateResourceSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("resourceSetType" Data..= resourceSetType),+            Prelude.Just+              ("resourceSetName" Data..= resourceSetName),+            Prelude.Just ("resources" Data..= resources)+          ]+      )++instance Data.ToPath CreateResourceSet where+  toPath = Prelude.const "/resourcesets"++instance Data.ToQuery CreateResourceSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateResourceSetResponse' smart constructor.+data CreateResourceSetResponse = CreateResourceSetResponse'+  { -- | The Amazon Resource Name (ARN) for the resource set.+    resourceSetArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource set.+    resourceSetName :: Prelude.Maybe Prelude.Text,+    -- | The resource type of the resources in the resource set. Enter one of the+    -- following values for resource type:+    --+    -- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+    -- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+    -- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+    -- AWS::ElasticLoadBalancing::LoadBalancer,+    -- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+    -- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+    -- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+    -- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+    -- AWS::Route53RecoveryReadiness::DNSTargetResource+    resourceSetType :: Prelude.Maybe Prelude.Text,+    -- | A list of resource objects.+    resources :: Prelude.Maybe [Resource],+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateResourceSetResponse' 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:+--+-- 'resourceSetArn', 'createResourceSetResponse_resourceSetArn' - The Amazon Resource Name (ARN) for the resource set.+--+-- 'resourceSetName', 'createResourceSetResponse_resourceSetName' - The name of the resource set.+--+-- 'resourceSetType', 'createResourceSetResponse_resourceSetType' - The resource type of the resources in the resource set. Enter one of the+-- following values for resource type:+--+-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+-- AWS::ElasticLoadBalancing::LoadBalancer,+-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+-- AWS::Route53RecoveryReadiness::DNSTargetResource+--+-- 'resources', 'createResourceSetResponse_resources' - A list of resource objects.+--+-- 'tags', 'createResourceSetResponse_tags' - Undocumented member.+--+-- 'httpStatus', 'createResourceSetResponse_httpStatus' - The response's http status code.+newCreateResourceSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateResourceSetResponse+newCreateResourceSetResponse pHttpStatus_ =+  CreateResourceSetResponse'+    { resourceSetArn =+        Prelude.Nothing,+      resourceSetName = Prelude.Nothing,+      resourceSetType = Prelude.Nothing,+      resources = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) for the resource set.+createResourceSetResponse_resourceSetArn :: Lens.Lens' CreateResourceSetResponse (Prelude.Maybe Prelude.Text)+createResourceSetResponse_resourceSetArn = Lens.lens (\CreateResourceSetResponse' {resourceSetArn} -> resourceSetArn) (\s@CreateResourceSetResponse' {} a -> s {resourceSetArn = a} :: CreateResourceSetResponse)++-- | The name of the resource set.+createResourceSetResponse_resourceSetName :: Lens.Lens' CreateResourceSetResponse (Prelude.Maybe Prelude.Text)+createResourceSetResponse_resourceSetName = Lens.lens (\CreateResourceSetResponse' {resourceSetName} -> resourceSetName) (\s@CreateResourceSetResponse' {} a -> s {resourceSetName = a} :: CreateResourceSetResponse)++-- | The resource type of the resources in the resource set. Enter one of the+-- following values for resource type:+--+-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+-- AWS::ElasticLoadBalancing::LoadBalancer,+-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+-- AWS::Route53RecoveryReadiness::DNSTargetResource+createResourceSetResponse_resourceSetType :: Lens.Lens' CreateResourceSetResponse (Prelude.Maybe Prelude.Text)+createResourceSetResponse_resourceSetType = Lens.lens (\CreateResourceSetResponse' {resourceSetType} -> resourceSetType) (\s@CreateResourceSetResponse' {} a -> s {resourceSetType = a} :: CreateResourceSetResponse)++-- | A list of resource objects.+createResourceSetResponse_resources :: Lens.Lens' CreateResourceSetResponse (Prelude.Maybe [Resource])+createResourceSetResponse_resources = Lens.lens (\CreateResourceSetResponse' {resources} -> resources) (\s@CreateResourceSetResponse' {} a -> s {resources = a} :: CreateResourceSetResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createResourceSetResponse_tags :: Lens.Lens' CreateResourceSetResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createResourceSetResponse_tags = Lens.lens (\CreateResourceSetResponse' {tags} -> tags) (\s@CreateResourceSetResponse' {} a -> s {tags = a} :: CreateResourceSetResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+createResourceSetResponse_httpStatus :: Lens.Lens' CreateResourceSetResponse Prelude.Int+createResourceSetResponse_httpStatus = Lens.lens (\CreateResourceSetResponse' {httpStatus} -> httpStatus) (\s@CreateResourceSetResponse' {} a -> s {httpStatus = a} :: CreateResourceSetResponse)++instance Prelude.NFData CreateResourceSetResponse where+  rnf CreateResourceSetResponse' {..} =+    Prelude.rnf resourceSetArn+      `Prelude.seq` Prelude.rnf resourceSetName+      `Prelude.seq` Prelude.rnf resourceSetType+      `Prelude.seq` Prelude.rnf resources+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/DeleteCell.hs view
@@ -0,0 +1,120 @@+{-# 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.Route53RecoveryReadiness.DeleteCell+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete a cell. When successful, the response code is 204, with no+-- response body.+module Amazonka.Route53RecoveryReadiness.DeleteCell+  ( -- * Creating a Request+    DeleteCell (..),+    newDeleteCell,++    -- * Request Lenses+    deleteCell_cellName,++    -- * Destructuring the Response+    DeleteCellResponse (..),+    newDeleteCellResponse,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newDeleteCell' smart constructor.+data DeleteCell = DeleteCell'+  { -- | The name of the cell.+    cellName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCell' 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:+--+-- 'cellName', 'deleteCell_cellName' - The name of the cell.+newDeleteCell ::+  -- | 'cellName'+  Prelude.Text ->+  DeleteCell+newDeleteCell pCellName_ =+  DeleteCell' {cellName = pCellName_}++-- | The name of the cell.+deleteCell_cellName :: Lens.Lens' DeleteCell Prelude.Text+deleteCell_cellName = Lens.lens (\DeleteCell' {cellName} -> cellName) (\s@DeleteCell' {} a -> s {cellName = a} :: DeleteCell)++instance Core.AWSRequest DeleteCell where+  type AWSResponse DeleteCell = DeleteCellResponse+  request overrides =+    Request.delete (overrides defaultService)+  response = Response.receiveNull DeleteCellResponse'++instance Prelude.Hashable DeleteCell where+  hashWithSalt _salt DeleteCell' {..} =+    _salt `Prelude.hashWithSalt` cellName++instance Prelude.NFData DeleteCell where+  rnf DeleteCell' {..} = Prelude.rnf cellName++instance Data.ToHeaders DeleteCell where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteCell where+  toPath DeleteCell' {..} =+    Prelude.mconcat ["/cells/", Data.toBS cellName]++instance Data.ToQuery DeleteCell where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteCellResponse' smart constructor.+data DeleteCellResponse = DeleteCellResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCellResponse' 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.+newDeleteCellResponse ::+  DeleteCellResponse+newDeleteCellResponse = DeleteCellResponse'++instance Prelude.NFData DeleteCellResponse where+  rnf _ = ()
+ gen/Amazonka/Route53RecoveryReadiness/DeleteCrossAccountAuthorization.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Route53RecoveryReadiness.DeleteCrossAccountAuthorization+-- 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 cross account readiness authorization.+module Amazonka.Route53RecoveryReadiness.DeleteCrossAccountAuthorization+  ( -- * Creating a Request+    DeleteCrossAccountAuthorization (..),+    newDeleteCrossAccountAuthorization,++    -- * Request Lenses+    deleteCrossAccountAuthorization_crossAccountAuthorization,++    -- * Destructuring the Response+    DeleteCrossAccountAuthorizationResponse (..),+    newDeleteCrossAccountAuthorizationResponse,++    -- * Response Lenses+    deleteCrossAccountAuthorizationResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newDeleteCrossAccountAuthorization' smart constructor.+data DeleteCrossAccountAuthorization = DeleteCrossAccountAuthorization'+  { -- | The cross-account authorization.+    crossAccountAuthorization :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCrossAccountAuthorization' 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:+--+-- 'crossAccountAuthorization', 'deleteCrossAccountAuthorization_crossAccountAuthorization' - The cross-account authorization.+newDeleteCrossAccountAuthorization ::+  -- | 'crossAccountAuthorization'+  Prelude.Text ->+  DeleteCrossAccountAuthorization+newDeleteCrossAccountAuthorization+  pCrossAccountAuthorization_ =+    DeleteCrossAccountAuthorization'+      { crossAccountAuthorization =+          pCrossAccountAuthorization_+      }++-- | The cross-account authorization.+deleteCrossAccountAuthorization_crossAccountAuthorization :: Lens.Lens' DeleteCrossAccountAuthorization Prelude.Text+deleteCrossAccountAuthorization_crossAccountAuthorization = Lens.lens (\DeleteCrossAccountAuthorization' {crossAccountAuthorization} -> crossAccountAuthorization) (\s@DeleteCrossAccountAuthorization' {} a -> s {crossAccountAuthorization = a} :: DeleteCrossAccountAuthorization)++instance+  Core.AWSRequest+    DeleteCrossAccountAuthorization+  where+  type+    AWSResponse DeleteCrossAccountAuthorization =+      DeleteCrossAccountAuthorizationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteCrossAccountAuthorizationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DeleteCrossAccountAuthorization+  where+  hashWithSalt+    _salt+    DeleteCrossAccountAuthorization' {..} =+      _salt+        `Prelude.hashWithSalt` crossAccountAuthorization++instance+  Prelude.NFData+    DeleteCrossAccountAuthorization+  where+  rnf DeleteCrossAccountAuthorization' {..} =+    Prelude.rnf crossAccountAuthorization++instance+  Data.ToHeaders+    DeleteCrossAccountAuthorization+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteCrossAccountAuthorization where+  toPath DeleteCrossAccountAuthorization' {..} =+    Prelude.mconcat+      [ "/crossaccountauthorizations/",+        Data.toBS crossAccountAuthorization+      ]++instance Data.ToQuery DeleteCrossAccountAuthorization where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteCrossAccountAuthorizationResponse' smart constructor.+data DeleteCrossAccountAuthorizationResponse = DeleteCrossAccountAuthorizationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCrossAccountAuthorizationResponse' 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', 'deleteCrossAccountAuthorizationResponse_httpStatus' - The response's http status code.+newDeleteCrossAccountAuthorizationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteCrossAccountAuthorizationResponse+newDeleteCrossAccountAuthorizationResponse+  pHttpStatus_ =+    DeleteCrossAccountAuthorizationResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+deleteCrossAccountAuthorizationResponse_httpStatus :: Lens.Lens' DeleteCrossAccountAuthorizationResponse Prelude.Int+deleteCrossAccountAuthorizationResponse_httpStatus = Lens.lens (\DeleteCrossAccountAuthorizationResponse' {httpStatus} -> httpStatus) (\s@DeleteCrossAccountAuthorizationResponse' {} a -> s {httpStatus = a} :: DeleteCrossAccountAuthorizationResponse)++instance+  Prelude.NFData+    DeleteCrossAccountAuthorizationResponse+  where+  rnf DeleteCrossAccountAuthorizationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/DeleteReadinessCheck.hs view
@@ -0,0 +1,128 @@+{-# 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.Route53RecoveryReadiness.DeleteReadinessCheck+-- 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 readiness check.+module Amazonka.Route53RecoveryReadiness.DeleteReadinessCheck+  ( -- * Creating a Request+    DeleteReadinessCheck (..),+    newDeleteReadinessCheck,++    -- * Request Lenses+    deleteReadinessCheck_readinessCheckName,++    -- * Destructuring the Response+    DeleteReadinessCheckResponse (..),+    newDeleteReadinessCheckResponse,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newDeleteReadinessCheck' smart constructor.+data DeleteReadinessCheck = DeleteReadinessCheck'+  { -- | Name of a readiness check.+    readinessCheckName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteReadinessCheck' 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:+--+-- 'readinessCheckName', 'deleteReadinessCheck_readinessCheckName' - Name of a readiness check.+newDeleteReadinessCheck ::+  -- | 'readinessCheckName'+  Prelude.Text ->+  DeleteReadinessCheck+newDeleteReadinessCheck pReadinessCheckName_ =+  DeleteReadinessCheck'+    { readinessCheckName =+        pReadinessCheckName_+    }++-- | Name of a readiness check.+deleteReadinessCheck_readinessCheckName :: Lens.Lens' DeleteReadinessCheck Prelude.Text+deleteReadinessCheck_readinessCheckName = Lens.lens (\DeleteReadinessCheck' {readinessCheckName} -> readinessCheckName) (\s@DeleteReadinessCheck' {} a -> s {readinessCheckName = a} :: DeleteReadinessCheck)++instance Core.AWSRequest DeleteReadinessCheck where+  type+    AWSResponse DeleteReadinessCheck =+      DeleteReadinessCheckResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteReadinessCheckResponse'++instance Prelude.Hashable DeleteReadinessCheck where+  hashWithSalt _salt DeleteReadinessCheck' {..} =+    _salt `Prelude.hashWithSalt` readinessCheckName++instance Prelude.NFData DeleteReadinessCheck where+  rnf DeleteReadinessCheck' {..} =+    Prelude.rnf readinessCheckName++instance Data.ToHeaders DeleteReadinessCheck where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteReadinessCheck where+  toPath DeleteReadinessCheck' {..} =+    Prelude.mconcat+      ["/readinesschecks/", Data.toBS readinessCheckName]++instance Data.ToQuery DeleteReadinessCheck where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteReadinessCheckResponse' smart constructor.+data DeleteReadinessCheckResponse = DeleteReadinessCheckResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteReadinessCheckResponse' 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.+newDeleteReadinessCheckResponse ::+  DeleteReadinessCheckResponse+newDeleteReadinessCheckResponse =+  DeleteReadinessCheckResponse'++instance Prelude.NFData DeleteReadinessCheckResponse where+  rnf _ = ()
+ gen/Amazonka/Route53RecoveryReadiness/DeleteRecoveryGroup.hs view
@@ -0,0 +1,128 @@+{-# 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.Route53RecoveryReadiness.DeleteRecoveryGroup+-- 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 recovery group.+module Amazonka.Route53RecoveryReadiness.DeleteRecoveryGroup+  ( -- * Creating a Request+    DeleteRecoveryGroup (..),+    newDeleteRecoveryGroup,++    -- * Request Lenses+    deleteRecoveryGroup_recoveryGroupName,++    -- * Destructuring the Response+    DeleteRecoveryGroupResponse (..),+    newDeleteRecoveryGroupResponse,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newDeleteRecoveryGroup' smart constructor.+data DeleteRecoveryGroup = DeleteRecoveryGroup'+  { -- | The name of a recovery group.+    recoveryGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRecoveryGroup' 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:+--+-- 'recoveryGroupName', 'deleteRecoveryGroup_recoveryGroupName' - The name of a recovery group.+newDeleteRecoveryGroup ::+  -- | 'recoveryGroupName'+  Prelude.Text ->+  DeleteRecoveryGroup+newDeleteRecoveryGroup pRecoveryGroupName_ =+  DeleteRecoveryGroup'+    { recoveryGroupName =+        pRecoveryGroupName_+    }++-- | The name of a recovery group.+deleteRecoveryGroup_recoveryGroupName :: Lens.Lens' DeleteRecoveryGroup Prelude.Text+deleteRecoveryGroup_recoveryGroupName = Lens.lens (\DeleteRecoveryGroup' {recoveryGroupName} -> recoveryGroupName) (\s@DeleteRecoveryGroup' {} a -> s {recoveryGroupName = a} :: DeleteRecoveryGroup)++instance Core.AWSRequest DeleteRecoveryGroup where+  type+    AWSResponse DeleteRecoveryGroup =+      DeleteRecoveryGroupResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteRecoveryGroupResponse'++instance Prelude.Hashable DeleteRecoveryGroup where+  hashWithSalt _salt DeleteRecoveryGroup' {..} =+    _salt `Prelude.hashWithSalt` recoveryGroupName++instance Prelude.NFData DeleteRecoveryGroup where+  rnf DeleteRecoveryGroup' {..} =+    Prelude.rnf recoveryGroupName++instance Data.ToHeaders DeleteRecoveryGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteRecoveryGroup where+  toPath DeleteRecoveryGroup' {..} =+    Prelude.mconcat+      ["/recoverygroups/", Data.toBS recoveryGroupName]++instance Data.ToQuery DeleteRecoveryGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteRecoveryGroupResponse' smart constructor.+data DeleteRecoveryGroupResponse = DeleteRecoveryGroupResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRecoveryGroupResponse' 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.+newDeleteRecoveryGroupResponse ::+  DeleteRecoveryGroupResponse+newDeleteRecoveryGroupResponse =+  DeleteRecoveryGroupResponse'++instance Prelude.NFData DeleteRecoveryGroupResponse where+  rnf _ = ()
+ gen/Amazonka/Route53RecoveryReadiness/DeleteResourceSet.hs view
@@ -0,0 +1,128 @@+{-# 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.Route53RecoveryReadiness.DeleteResourceSet+-- 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 resource set.+module Amazonka.Route53RecoveryReadiness.DeleteResourceSet+  ( -- * Creating a Request+    DeleteResourceSet (..),+    newDeleteResourceSet,++    -- * Request Lenses+    deleteResourceSet_resourceSetName,++    -- * Destructuring the Response+    DeleteResourceSetResponse (..),+    newDeleteResourceSetResponse,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newDeleteResourceSet' smart constructor.+data DeleteResourceSet = DeleteResourceSet'+  { -- | Name of a resource set.+    resourceSetName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResourceSet' 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:+--+-- 'resourceSetName', 'deleteResourceSet_resourceSetName' - Name of a resource set.+newDeleteResourceSet ::+  -- | 'resourceSetName'+  Prelude.Text ->+  DeleteResourceSet+newDeleteResourceSet pResourceSetName_ =+  DeleteResourceSet'+    { resourceSetName =+        pResourceSetName_+    }++-- | Name of a resource set.+deleteResourceSet_resourceSetName :: Lens.Lens' DeleteResourceSet Prelude.Text+deleteResourceSet_resourceSetName = Lens.lens (\DeleteResourceSet' {resourceSetName} -> resourceSetName) (\s@DeleteResourceSet' {} a -> s {resourceSetName = a} :: DeleteResourceSet)++instance Core.AWSRequest DeleteResourceSet where+  type+    AWSResponse DeleteResourceSet =+      DeleteResourceSetResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteResourceSetResponse'++instance Prelude.Hashable DeleteResourceSet where+  hashWithSalt _salt DeleteResourceSet' {..} =+    _salt `Prelude.hashWithSalt` resourceSetName++instance Prelude.NFData DeleteResourceSet where+  rnf DeleteResourceSet' {..} =+    Prelude.rnf resourceSetName++instance Data.ToHeaders DeleteResourceSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteResourceSet where+  toPath DeleteResourceSet' {..} =+    Prelude.mconcat+      ["/resourcesets/", Data.toBS resourceSetName]++instance Data.ToQuery DeleteResourceSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteResourceSetResponse' smart constructor.+data DeleteResourceSetResponse = DeleteResourceSetResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResourceSetResponse' 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.+newDeleteResourceSetResponse ::+  DeleteResourceSetResponse+newDeleteResourceSetResponse =+  DeleteResourceSetResponse'++instance Prelude.NFData DeleteResourceSetResponse where+  rnf _ = ()
+ gen/Amazonka/Route53RecoveryReadiness/GetArchitectureRecommendations.hs view
@@ -0,0 +1,244 @@+{-# 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.Route53RecoveryReadiness.GetArchitectureRecommendations+-- 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 recommendations about architecture designs for improving resiliency+-- for an application, based on a recovery group.+module Amazonka.Route53RecoveryReadiness.GetArchitectureRecommendations+  ( -- * Creating a Request+    GetArchitectureRecommendations (..),+    newGetArchitectureRecommendations,++    -- * Request Lenses+    getArchitectureRecommendations_maxResults,+    getArchitectureRecommendations_nextToken,+    getArchitectureRecommendations_recoveryGroupName,++    -- * Destructuring the Response+    GetArchitectureRecommendationsResponse (..),+    newGetArchitectureRecommendationsResponse,++    -- * Response Lenses+    getArchitectureRecommendationsResponse_lastAuditTimestamp,+    getArchitectureRecommendationsResponse_nextToken,+    getArchitectureRecommendationsResponse_recommendations,+    getArchitectureRecommendationsResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newGetArchitectureRecommendations' smart constructor.+data GetArchitectureRecommendations = GetArchitectureRecommendations'+  { -- | The number of objects that you want to return with this call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of a recovery group.+    recoveryGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetArchitectureRecommendations' 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', 'getArchitectureRecommendations_maxResults' - The number of objects that you want to return with this call.+--+-- 'nextToken', 'getArchitectureRecommendations_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'recoveryGroupName', 'getArchitectureRecommendations_recoveryGroupName' - The name of a recovery group.+newGetArchitectureRecommendations ::+  -- | 'recoveryGroupName'+  Prelude.Text ->+  GetArchitectureRecommendations+newGetArchitectureRecommendations pRecoveryGroupName_ =+  GetArchitectureRecommendations'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      recoveryGroupName = pRecoveryGroupName_+    }++-- | The number of objects that you want to return with this call.+getArchitectureRecommendations_maxResults :: Lens.Lens' GetArchitectureRecommendations (Prelude.Maybe Prelude.Natural)+getArchitectureRecommendations_maxResults = Lens.lens (\GetArchitectureRecommendations' {maxResults} -> maxResults) (\s@GetArchitectureRecommendations' {} a -> s {maxResults = a} :: GetArchitectureRecommendations)++-- | The token that identifies which batch of results you want to see.+getArchitectureRecommendations_nextToken :: Lens.Lens' GetArchitectureRecommendations (Prelude.Maybe Prelude.Text)+getArchitectureRecommendations_nextToken = Lens.lens (\GetArchitectureRecommendations' {nextToken} -> nextToken) (\s@GetArchitectureRecommendations' {} a -> s {nextToken = a} :: GetArchitectureRecommendations)++-- | The name of a recovery group.+getArchitectureRecommendations_recoveryGroupName :: Lens.Lens' GetArchitectureRecommendations Prelude.Text+getArchitectureRecommendations_recoveryGroupName = Lens.lens (\GetArchitectureRecommendations' {recoveryGroupName} -> recoveryGroupName) (\s@GetArchitectureRecommendations' {} a -> s {recoveryGroupName = a} :: GetArchitectureRecommendations)++instance+  Core.AWSRequest+    GetArchitectureRecommendations+  where+  type+    AWSResponse GetArchitectureRecommendations =+      GetArchitectureRecommendationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetArchitectureRecommendationsResponse'+            Prelude.<$> (x Data..?> "lastAuditTimestamp")+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> ( x+                            Data..?> "recommendations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetArchitectureRecommendations+  where+  hashWithSalt+    _salt+    GetArchitectureRecommendations' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` recoveryGroupName++instance+  Prelude.NFData+    GetArchitectureRecommendations+  where+  rnf GetArchitectureRecommendations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf recoveryGroupName++instance+  Data.ToHeaders+    GetArchitectureRecommendations+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetArchitectureRecommendations where+  toPath GetArchitectureRecommendations' {..} =+    Prelude.mconcat+      [ "/recoverygroups/",+        Data.toBS recoveryGroupName,+        "/architectureRecommendations"+      ]++instance Data.ToQuery GetArchitectureRecommendations where+  toQuery GetArchitectureRecommendations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newGetArchitectureRecommendationsResponse' smart constructor.+data GetArchitectureRecommendationsResponse = GetArchitectureRecommendationsResponse'+  { -- | The time that a recovery group was last assessed for recommendations, in+    -- UTC ISO-8601 format.+    lastAuditTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of the recommendations for the customer\'s application.+    recommendations :: Prelude.Maybe [Recommendation],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetArchitectureRecommendationsResponse' 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:+--+-- 'lastAuditTimestamp', 'getArchitectureRecommendationsResponse_lastAuditTimestamp' - The time that a recovery group was last assessed for recommendations, in+-- UTC ISO-8601 format.+--+-- 'nextToken', 'getArchitectureRecommendationsResponse_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'recommendations', 'getArchitectureRecommendationsResponse_recommendations' - A list of the recommendations for the customer\'s application.+--+-- 'httpStatus', 'getArchitectureRecommendationsResponse_httpStatus' - The response's http status code.+newGetArchitectureRecommendationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetArchitectureRecommendationsResponse+newGetArchitectureRecommendationsResponse+  pHttpStatus_ =+    GetArchitectureRecommendationsResponse'+      { lastAuditTimestamp =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        recommendations = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The time that a recovery group was last assessed for recommendations, in+-- UTC ISO-8601 format.+getArchitectureRecommendationsResponse_lastAuditTimestamp :: Lens.Lens' GetArchitectureRecommendationsResponse (Prelude.Maybe Prelude.UTCTime)+getArchitectureRecommendationsResponse_lastAuditTimestamp = Lens.lens (\GetArchitectureRecommendationsResponse' {lastAuditTimestamp} -> lastAuditTimestamp) (\s@GetArchitectureRecommendationsResponse' {} a -> s {lastAuditTimestamp = a} :: GetArchitectureRecommendationsResponse) Prelude.. Lens.mapping Data._Time++-- | The token that identifies which batch of results you want to see.+getArchitectureRecommendationsResponse_nextToken :: Lens.Lens' GetArchitectureRecommendationsResponse (Prelude.Maybe Prelude.Text)+getArchitectureRecommendationsResponse_nextToken = Lens.lens (\GetArchitectureRecommendationsResponse' {nextToken} -> nextToken) (\s@GetArchitectureRecommendationsResponse' {} a -> s {nextToken = a} :: GetArchitectureRecommendationsResponse)++-- | A list of the recommendations for the customer\'s application.+getArchitectureRecommendationsResponse_recommendations :: Lens.Lens' GetArchitectureRecommendationsResponse (Prelude.Maybe [Recommendation])+getArchitectureRecommendationsResponse_recommendations = Lens.lens (\GetArchitectureRecommendationsResponse' {recommendations} -> recommendations) (\s@GetArchitectureRecommendationsResponse' {} a -> s {recommendations = a} :: GetArchitectureRecommendationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getArchitectureRecommendationsResponse_httpStatus :: Lens.Lens' GetArchitectureRecommendationsResponse Prelude.Int+getArchitectureRecommendationsResponse_httpStatus = Lens.lens (\GetArchitectureRecommendationsResponse' {httpStatus} -> httpStatus) (\s@GetArchitectureRecommendationsResponse' {} a -> s {httpStatus = a} :: GetArchitectureRecommendationsResponse)++instance+  Prelude.NFData+    GetArchitectureRecommendationsResponse+  where+  rnf GetArchitectureRecommendationsResponse' {..} =+    Prelude.rnf lastAuditTimestamp+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf recommendations+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/GetCell.hs view
@@ -0,0 +1,214 @@+{-# 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.Route53RecoveryReadiness.GetCell+-- 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 information about a cell including cell name, cell Amazon Resource+-- Name (ARN), ARNs of nested cells for this cell, and a list of those cell+-- ARNs with their associated recovery group ARNs.+module Amazonka.Route53RecoveryReadiness.GetCell+  ( -- * Creating a Request+    GetCell (..),+    newGetCell,++    -- * Request Lenses+    getCell_cellName,++    -- * Destructuring the Response+    GetCellResponse (..),+    newGetCellResponse,++    -- * Response Lenses+    getCellResponse_cellArn,+    getCellResponse_cellName,+    getCellResponse_cells,+    getCellResponse_parentReadinessScopes,+    getCellResponse_tags,+    getCellResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newGetCell' smart constructor.+data GetCell = GetCell'+  { -- | The name of the cell.+    cellName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCell' 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:+--+-- 'cellName', 'getCell_cellName' - The name of the cell.+newGetCell ::+  -- | 'cellName'+  Prelude.Text ->+  GetCell+newGetCell pCellName_ =+  GetCell' {cellName = pCellName_}++-- | The name of the cell.+getCell_cellName :: Lens.Lens' GetCell Prelude.Text+getCell_cellName = Lens.lens (\GetCell' {cellName} -> cellName) (\s@GetCell' {} a -> s {cellName = a} :: GetCell)++instance Core.AWSRequest GetCell where+  type AWSResponse GetCell = GetCellResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetCellResponse'+            Prelude.<$> (x Data..?> "cellArn")+            Prelude.<*> (x Data..?> "cellName")+            Prelude.<*> (x Data..?> "cells" Core..!@ Prelude.mempty)+            Prelude.<*> ( x+                            Data..?> "parentReadinessScopes"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetCell where+  hashWithSalt _salt GetCell' {..} =+    _salt `Prelude.hashWithSalt` cellName++instance Prelude.NFData GetCell where+  rnf GetCell' {..} = Prelude.rnf cellName++instance Data.ToHeaders GetCell where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetCell where+  toPath GetCell' {..} =+    Prelude.mconcat ["/cells/", Data.toBS cellName]++instance Data.ToQuery GetCell where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetCellResponse' smart constructor.+data GetCellResponse = GetCellResponse'+  { -- | The Amazon Resource Name (ARN) for the cell.+    cellArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the cell.+    cellName :: Prelude.Maybe Prelude.Text,+    -- | A list of cell ARNs.+    cells :: Prelude.Maybe [Prelude.Text],+    -- | The readiness scope for the cell, which can be a cell Amazon Resource+    -- Name (ARN) or a recovery group ARN. This is a list but currently can+    -- have only one element.+    parentReadinessScopes :: Prelude.Maybe [Prelude.Text],+    -- | Tags on the resources.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCellResponse' 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:+--+-- 'cellArn', 'getCellResponse_cellArn' - The Amazon Resource Name (ARN) for the cell.+--+-- 'cellName', 'getCellResponse_cellName' - The name of the cell.+--+-- 'cells', 'getCellResponse_cells' - A list of cell ARNs.+--+-- 'parentReadinessScopes', 'getCellResponse_parentReadinessScopes' - The readiness scope for the cell, which can be a cell Amazon Resource+-- Name (ARN) or a recovery group ARN. This is a list but currently can+-- have only one element.+--+-- 'tags', 'getCellResponse_tags' - Tags on the resources.+--+-- 'httpStatus', 'getCellResponse_httpStatus' - The response's http status code.+newGetCellResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetCellResponse+newGetCellResponse pHttpStatus_ =+  GetCellResponse'+    { cellArn = Prelude.Nothing,+      cellName = Prelude.Nothing,+      cells = Prelude.Nothing,+      parentReadinessScopes = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) for the cell.+getCellResponse_cellArn :: Lens.Lens' GetCellResponse (Prelude.Maybe Prelude.Text)+getCellResponse_cellArn = Lens.lens (\GetCellResponse' {cellArn} -> cellArn) (\s@GetCellResponse' {} a -> s {cellArn = a} :: GetCellResponse)++-- | The name of the cell.+getCellResponse_cellName :: Lens.Lens' GetCellResponse (Prelude.Maybe Prelude.Text)+getCellResponse_cellName = Lens.lens (\GetCellResponse' {cellName} -> cellName) (\s@GetCellResponse' {} a -> s {cellName = a} :: GetCellResponse)++-- | A list of cell ARNs.+getCellResponse_cells :: Lens.Lens' GetCellResponse (Prelude.Maybe [Prelude.Text])+getCellResponse_cells = Lens.lens (\GetCellResponse' {cells} -> cells) (\s@GetCellResponse' {} a -> s {cells = a} :: GetCellResponse) Prelude.. Lens.mapping Lens.coerced++-- | The readiness scope for the cell, which can be a cell Amazon Resource+-- Name (ARN) or a recovery group ARN. This is a list but currently can+-- have only one element.+getCellResponse_parentReadinessScopes :: Lens.Lens' GetCellResponse (Prelude.Maybe [Prelude.Text])+getCellResponse_parentReadinessScopes = Lens.lens (\GetCellResponse' {parentReadinessScopes} -> parentReadinessScopes) (\s@GetCellResponse' {} a -> s {parentReadinessScopes = a} :: GetCellResponse) Prelude.. Lens.mapping Lens.coerced++-- | Tags on the resources.+getCellResponse_tags :: Lens.Lens' GetCellResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getCellResponse_tags = Lens.lens (\GetCellResponse' {tags} -> tags) (\s@GetCellResponse' {} a -> s {tags = a} :: GetCellResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getCellResponse_httpStatus :: Lens.Lens' GetCellResponse Prelude.Int+getCellResponse_httpStatus = Lens.lens (\GetCellResponse' {httpStatus} -> httpStatus) (\s@GetCellResponse' {} a -> s {httpStatus = a} :: GetCellResponse)++instance Prelude.NFData GetCellResponse where+  rnf GetCellResponse' {..} =+    Prelude.rnf cellArn+      `Prelude.seq` Prelude.rnf cellName+      `Prelude.seq` Prelude.rnf cells+      `Prelude.seq` Prelude.rnf parentReadinessScopes+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/GetCellReadinessSummary.hs view
@@ -0,0 +1,247 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Route53RecoveryReadiness.GetCellReadinessSummary+-- 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 readiness for a cell. Aggregates the readiness of all the resources+-- that are associated with the cell into a single value.+--+-- This operation returns paginated results.+module Amazonka.Route53RecoveryReadiness.GetCellReadinessSummary+  ( -- * Creating a Request+    GetCellReadinessSummary (..),+    newGetCellReadinessSummary,++    -- * Request Lenses+    getCellReadinessSummary_maxResults,+    getCellReadinessSummary_nextToken,+    getCellReadinessSummary_cellName,++    -- * Destructuring the Response+    GetCellReadinessSummaryResponse (..),+    newGetCellReadinessSummaryResponse,++    -- * Response Lenses+    getCellReadinessSummaryResponse_nextToken,+    getCellReadinessSummaryResponse_readiness,+    getCellReadinessSummaryResponse_readinessChecks,+    getCellReadinessSummaryResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newGetCellReadinessSummary' smart constructor.+data GetCellReadinessSummary = GetCellReadinessSummary'+  { -- | The number of objects that you want to return with this call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the cell.+    cellName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCellReadinessSummary' 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', 'getCellReadinessSummary_maxResults' - The number of objects that you want to return with this call.+--+-- 'nextToken', 'getCellReadinessSummary_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'cellName', 'getCellReadinessSummary_cellName' - The name of the cell.+newGetCellReadinessSummary ::+  -- | 'cellName'+  Prelude.Text ->+  GetCellReadinessSummary+newGetCellReadinessSummary pCellName_ =+  GetCellReadinessSummary'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      cellName = pCellName_+    }++-- | The number of objects that you want to return with this call.+getCellReadinessSummary_maxResults :: Lens.Lens' GetCellReadinessSummary (Prelude.Maybe Prelude.Natural)+getCellReadinessSummary_maxResults = Lens.lens (\GetCellReadinessSummary' {maxResults} -> maxResults) (\s@GetCellReadinessSummary' {} a -> s {maxResults = a} :: GetCellReadinessSummary)++-- | The token that identifies which batch of results you want to see.+getCellReadinessSummary_nextToken :: Lens.Lens' GetCellReadinessSummary (Prelude.Maybe Prelude.Text)+getCellReadinessSummary_nextToken = Lens.lens (\GetCellReadinessSummary' {nextToken} -> nextToken) (\s@GetCellReadinessSummary' {} a -> s {nextToken = a} :: GetCellReadinessSummary)++-- | The name of the cell.+getCellReadinessSummary_cellName :: Lens.Lens' GetCellReadinessSummary Prelude.Text+getCellReadinessSummary_cellName = Lens.lens (\GetCellReadinessSummary' {cellName} -> cellName) (\s@GetCellReadinessSummary' {} a -> s {cellName = a} :: GetCellReadinessSummary)++instance Core.AWSPager GetCellReadinessSummary where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getCellReadinessSummaryResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getCellReadinessSummaryResponse_readinessChecks+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getCellReadinessSummary_nextToken+          Lens..~ rs+          Lens.^? getCellReadinessSummaryResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetCellReadinessSummary where+  type+    AWSResponse GetCellReadinessSummary =+      GetCellReadinessSummaryResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetCellReadinessSummaryResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "readiness")+            Prelude.<*> ( x+                            Data..?> "readinessChecks"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetCellReadinessSummary where+  hashWithSalt _salt GetCellReadinessSummary' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` cellName++instance Prelude.NFData GetCellReadinessSummary where+  rnf GetCellReadinessSummary' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf cellName++instance Data.ToHeaders GetCellReadinessSummary where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetCellReadinessSummary where+  toPath GetCellReadinessSummary' {..} =+    Prelude.mconcat+      ["/cellreadiness/", Data.toBS cellName]++instance Data.ToQuery GetCellReadinessSummary where+  toQuery GetCellReadinessSummary' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newGetCellReadinessSummaryResponse' smart constructor.+data GetCellReadinessSummaryResponse = GetCellReadinessSummaryResponse'+  { -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The readiness at a cell level.+    readiness :: Prelude.Maybe Readiness,+    -- | Summaries for the readiness checks that make up the cell.+    readinessChecks :: Prelude.Maybe [ReadinessCheckSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCellReadinessSummaryResponse' 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:+--+-- 'nextToken', 'getCellReadinessSummaryResponse_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'readiness', 'getCellReadinessSummaryResponse_readiness' - The readiness at a cell level.+--+-- 'readinessChecks', 'getCellReadinessSummaryResponse_readinessChecks' - Summaries for the readiness checks that make up the cell.+--+-- 'httpStatus', 'getCellReadinessSummaryResponse_httpStatus' - The response's http status code.+newGetCellReadinessSummaryResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetCellReadinessSummaryResponse+newGetCellReadinessSummaryResponse pHttpStatus_ =+  GetCellReadinessSummaryResponse'+    { nextToken =+        Prelude.Nothing,+      readiness = Prelude.Nothing,+      readinessChecks = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token that identifies which batch of results you want to see.+getCellReadinessSummaryResponse_nextToken :: Lens.Lens' GetCellReadinessSummaryResponse (Prelude.Maybe Prelude.Text)+getCellReadinessSummaryResponse_nextToken = Lens.lens (\GetCellReadinessSummaryResponse' {nextToken} -> nextToken) (\s@GetCellReadinessSummaryResponse' {} a -> s {nextToken = a} :: GetCellReadinessSummaryResponse)++-- | The readiness at a cell level.+getCellReadinessSummaryResponse_readiness :: Lens.Lens' GetCellReadinessSummaryResponse (Prelude.Maybe Readiness)+getCellReadinessSummaryResponse_readiness = Lens.lens (\GetCellReadinessSummaryResponse' {readiness} -> readiness) (\s@GetCellReadinessSummaryResponse' {} a -> s {readiness = a} :: GetCellReadinessSummaryResponse)++-- | Summaries for the readiness checks that make up the cell.+getCellReadinessSummaryResponse_readinessChecks :: Lens.Lens' GetCellReadinessSummaryResponse (Prelude.Maybe [ReadinessCheckSummary])+getCellReadinessSummaryResponse_readinessChecks = Lens.lens (\GetCellReadinessSummaryResponse' {readinessChecks} -> readinessChecks) (\s@GetCellReadinessSummaryResponse' {} a -> s {readinessChecks = a} :: GetCellReadinessSummaryResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getCellReadinessSummaryResponse_httpStatus :: Lens.Lens' GetCellReadinessSummaryResponse Prelude.Int+getCellReadinessSummaryResponse_httpStatus = Lens.lens (\GetCellReadinessSummaryResponse' {httpStatus} -> httpStatus) (\s@GetCellReadinessSummaryResponse' {} a -> s {httpStatus = a} :: GetCellReadinessSummaryResponse)++instance+  Prelude.NFData+    GetCellReadinessSummaryResponse+  where+  rnf GetCellReadinessSummaryResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf readiness+      `Prelude.seq` Prelude.rnf readinessChecks+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/GetReadinessCheck.hs view
@@ -0,0 +1,198 @@+{-# 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.Route53RecoveryReadiness.GetReadinessCheck+-- 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 details about a readiness check.+module Amazonka.Route53RecoveryReadiness.GetReadinessCheck+  ( -- * Creating a Request+    GetReadinessCheck (..),+    newGetReadinessCheck,++    -- * Request Lenses+    getReadinessCheck_readinessCheckName,++    -- * Destructuring the Response+    GetReadinessCheckResponse (..),+    newGetReadinessCheckResponse,++    -- * Response Lenses+    getReadinessCheckResponse_readinessCheckArn,+    getReadinessCheckResponse_readinessCheckName,+    getReadinessCheckResponse_resourceSet,+    getReadinessCheckResponse_tags,+    getReadinessCheckResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newGetReadinessCheck' smart constructor.+data GetReadinessCheck = GetReadinessCheck'+  { -- | Name of a readiness check.+    readinessCheckName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetReadinessCheck' 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:+--+-- 'readinessCheckName', 'getReadinessCheck_readinessCheckName' - Name of a readiness check.+newGetReadinessCheck ::+  -- | 'readinessCheckName'+  Prelude.Text ->+  GetReadinessCheck+newGetReadinessCheck pReadinessCheckName_ =+  GetReadinessCheck'+    { readinessCheckName =+        pReadinessCheckName_+    }++-- | Name of a readiness check.+getReadinessCheck_readinessCheckName :: Lens.Lens' GetReadinessCheck Prelude.Text+getReadinessCheck_readinessCheckName = Lens.lens (\GetReadinessCheck' {readinessCheckName} -> readinessCheckName) (\s@GetReadinessCheck' {} a -> s {readinessCheckName = a} :: GetReadinessCheck)++instance Core.AWSRequest GetReadinessCheck where+  type+    AWSResponse GetReadinessCheck =+      GetReadinessCheckResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetReadinessCheckResponse'+            Prelude.<$> (x Data..?> "readinessCheckArn")+            Prelude.<*> (x Data..?> "readinessCheckName")+            Prelude.<*> (x Data..?> "resourceSet")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetReadinessCheck where+  hashWithSalt _salt GetReadinessCheck' {..} =+    _salt `Prelude.hashWithSalt` readinessCheckName++instance Prelude.NFData GetReadinessCheck where+  rnf GetReadinessCheck' {..} =+    Prelude.rnf readinessCheckName++instance Data.ToHeaders GetReadinessCheck where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetReadinessCheck where+  toPath GetReadinessCheck' {..} =+    Prelude.mconcat+      ["/readinesschecks/", Data.toBS readinessCheckName]++instance Data.ToQuery GetReadinessCheck where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetReadinessCheckResponse' smart constructor.+data GetReadinessCheckResponse = GetReadinessCheckResponse'+  { -- | The Amazon Resource Name (ARN) associated with a readiness check.+    readinessCheckArn :: Prelude.Maybe Prelude.Text,+    -- | Name of a readiness check.+    readinessCheckName :: Prelude.Maybe Prelude.Text,+    -- | Name of the resource set to be checked.+    resourceSet :: Prelude.Maybe Prelude.Text,+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetReadinessCheckResponse' 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:+--+-- 'readinessCheckArn', 'getReadinessCheckResponse_readinessCheckArn' - The Amazon Resource Name (ARN) associated with a readiness check.+--+-- 'readinessCheckName', 'getReadinessCheckResponse_readinessCheckName' - Name of a readiness check.+--+-- 'resourceSet', 'getReadinessCheckResponse_resourceSet' - Name of the resource set to be checked.+--+-- 'tags', 'getReadinessCheckResponse_tags' - Undocumented member.+--+-- 'httpStatus', 'getReadinessCheckResponse_httpStatus' - The response's http status code.+newGetReadinessCheckResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetReadinessCheckResponse+newGetReadinessCheckResponse pHttpStatus_ =+  GetReadinessCheckResponse'+    { readinessCheckArn =+        Prelude.Nothing,+      readinessCheckName = Prelude.Nothing,+      resourceSet = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) associated with a readiness check.+getReadinessCheckResponse_readinessCheckArn :: Lens.Lens' GetReadinessCheckResponse (Prelude.Maybe Prelude.Text)+getReadinessCheckResponse_readinessCheckArn = Lens.lens (\GetReadinessCheckResponse' {readinessCheckArn} -> readinessCheckArn) (\s@GetReadinessCheckResponse' {} a -> s {readinessCheckArn = a} :: GetReadinessCheckResponse)++-- | Name of a readiness check.+getReadinessCheckResponse_readinessCheckName :: Lens.Lens' GetReadinessCheckResponse (Prelude.Maybe Prelude.Text)+getReadinessCheckResponse_readinessCheckName = Lens.lens (\GetReadinessCheckResponse' {readinessCheckName} -> readinessCheckName) (\s@GetReadinessCheckResponse' {} a -> s {readinessCheckName = a} :: GetReadinessCheckResponse)++-- | Name of the resource set to be checked.+getReadinessCheckResponse_resourceSet :: Lens.Lens' GetReadinessCheckResponse (Prelude.Maybe Prelude.Text)+getReadinessCheckResponse_resourceSet = Lens.lens (\GetReadinessCheckResponse' {resourceSet} -> resourceSet) (\s@GetReadinessCheckResponse' {} a -> s {resourceSet = a} :: GetReadinessCheckResponse)++-- | Undocumented member.+getReadinessCheckResponse_tags :: Lens.Lens' GetReadinessCheckResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getReadinessCheckResponse_tags = Lens.lens (\GetReadinessCheckResponse' {tags} -> tags) (\s@GetReadinessCheckResponse' {} a -> s {tags = a} :: GetReadinessCheckResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getReadinessCheckResponse_httpStatus :: Lens.Lens' GetReadinessCheckResponse Prelude.Int+getReadinessCheckResponse_httpStatus = Lens.lens (\GetReadinessCheckResponse' {httpStatus} -> httpStatus) (\s@GetReadinessCheckResponse' {} a -> s {httpStatus = a} :: GetReadinessCheckResponse)++instance Prelude.NFData GetReadinessCheckResponse where+  rnf GetReadinessCheckResponse' {..} =+    Prelude.rnf readinessCheckArn+      `Prelude.seq` Prelude.rnf readinessCheckName+      `Prelude.seq` Prelude.rnf resourceSet+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/GetReadinessCheckResourceStatus.hs view
@@ -0,0 +1,291 @@+{-# 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.Route53RecoveryReadiness.GetReadinessCheckResourceStatus+-- 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 individual readiness status for a readiness check. To see the+-- overall readiness status for a recovery group, that considers the+-- readiness status for all the readiness checks in the recovery group, use+-- GetRecoveryGroupReadinessSummary.+--+-- This operation returns paginated results.+module Amazonka.Route53RecoveryReadiness.GetReadinessCheckResourceStatus+  ( -- * Creating a Request+    GetReadinessCheckResourceStatus (..),+    newGetReadinessCheckResourceStatus,++    -- * Request Lenses+    getReadinessCheckResourceStatus_maxResults,+    getReadinessCheckResourceStatus_nextToken,+    getReadinessCheckResourceStatus_readinessCheckName,+    getReadinessCheckResourceStatus_resourceIdentifier,++    -- * Destructuring the Response+    GetReadinessCheckResourceStatusResponse (..),+    newGetReadinessCheckResourceStatusResponse,++    -- * Response Lenses+    getReadinessCheckResourceStatusResponse_nextToken,+    getReadinessCheckResourceStatusResponse_readiness,+    getReadinessCheckResourceStatusResponse_rules,+    getReadinessCheckResourceStatusResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newGetReadinessCheckResourceStatus' smart constructor.+data GetReadinessCheckResourceStatus = GetReadinessCheckResourceStatus'+  { -- | The number of objects that you want to return with this call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Name of a readiness check.+    readinessCheckName :: Prelude.Text,+    -- | The resource identifier, which is the Amazon Resource Name (ARN) or the+    -- identifier generated for the resource by Application Recovery Controller+    -- (for example, for a DNS target resource).+    resourceIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetReadinessCheckResourceStatus' 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', 'getReadinessCheckResourceStatus_maxResults' - The number of objects that you want to return with this call.+--+-- 'nextToken', 'getReadinessCheckResourceStatus_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'readinessCheckName', 'getReadinessCheckResourceStatus_readinessCheckName' - Name of a readiness check.+--+-- 'resourceIdentifier', 'getReadinessCheckResourceStatus_resourceIdentifier' - The resource identifier, which is the Amazon Resource Name (ARN) or the+-- identifier generated for the resource by Application Recovery Controller+-- (for example, for a DNS target resource).+newGetReadinessCheckResourceStatus ::+  -- | 'readinessCheckName'+  Prelude.Text ->+  -- | 'resourceIdentifier'+  Prelude.Text ->+  GetReadinessCheckResourceStatus+newGetReadinessCheckResourceStatus+  pReadinessCheckName_+  pResourceIdentifier_ =+    GetReadinessCheckResourceStatus'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        readinessCheckName = pReadinessCheckName_,+        resourceIdentifier = pResourceIdentifier_+      }++-- | The number of objects that you want to return with this call.+getReadinessCheckResourceStatus_maxResults :: Lens.Lens' GetReadinessCheckResourceStatus (Prelude.Maybe Prelude.Natural)+getReadinessCheckResourceStatus_maxResults = Lens.lens (\GetReadinessCheckResourceStatus' {maxResults} -> maxResults) (\s@GetReadinessCheckResourceStatus' {} a -> s {maxResults = a} :: GetReadinessCheckResourceStatus)++-- | The token that identifies which batch of results you want to see.+getReadinessCheckResourceStatus_nextToken :: Lens.Lens' GetReadinessCheckResourceStatus (Prelude.Maybe Prelude.Text)+getReadinessCheckResourceStatus_nextToken = Lens.lens (\GetReadinessCheckResourceStatus' {nextToken} -> nextToken) (\s@GetReadinessCheckResourceStatus' {} a -> s {nextToken = a} :: GetReadinessCheckResourceStatus)++-- | Name of a readiness check.+getReadinessCheckResourceStatus_readinessCheckName :: Lens.Lens' GetReadinessCheckResourceStatus Prelude.Text+getReadinessCheckResourceStatus_readinessCheckName = Lens.lens (\GetReadinessCheckResourceStatus' {readinessCheckName} -> readinessCheckName) (\s@GetReadinessCheckResourceStatus' {} a -> s {readinessCheckName = a} :: GetReadinessCheckResourceStatus)++-- | The resource identifier, which is the Amazon Resource Name (ARN) or the+-- identifier generated for the resource by Application Recovery Controller+-- (for example, for a DNS target resource).+getReadinessCheckResourceStatus_resourceIdentifier :: Lens.Lens' GetReadinessCheckResourceStatus Prelude.Text+getReadinessCheckResourceStatus_resourceIdentifier = Lens.lens (\GetReadinessCheckResourceStatus' {resourceIdentifier} -> resourceIdentifier) (\s@GetReadinessCheckResourceStatus' {} a -> s {resourceIdentifier = a} :: GetReadinessCheckResourceStatus)++instance+  Core.AWSPager+    GetReadinessCheckResourceStatus+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getReadinessCheckResourceStatusResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getReadinessCheckResourceStatusResponse_rules+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getReadinessCheckResourceStatus_nextToken+          Lens..~ rs+          Lens.^? getReadinessCheckResourceStatusResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    GetReadinessCheckResourceStatus+  where+  type+    AWSResponse GetReadinessCheckResourceStatus =+      GetReadinessCheckResourceStatusResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetReadinessCheckResourceStatusResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "readiness")+            Prelude.<*> (x Data..?> "rules" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetReadinessCheckResourceStatus+  where+  hashWithSalt+    _salt+    GetReadinessCheckResourceStatus' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` readinessCheckName+        `Prelude.hashWithSalt` resourceIdentifier++instance+  Prelude.NFData+    GetReadinessCheckResourceStatus+  where+  rnf GetReadinessCheckResourceStatus' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf readinessCheckName+      `Prelude.seq` Prelude.rnf resourceIdentifier++instance+  Data.ToHeaders+    GetReadinessCheckResourceStatus+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetReadinessCheckResourceStatus where+  toPath GetReadinessCheckResourceStatus' {..} =+    Prelude.mconcat+      [ "/readinesschecks/",+        Data.toBS readinessCheckName,+        "/resource/",+        Data.toBS resourceIdentifier,+        "/status"+      ]++instance Data.ToQuery GetReadinessCheckResourceStatus where+  toQuery GetReadinessCheckResourceStatus' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newGetReadinessCheckResourceStatusResponse' smart constructor.+data GetReadinessCheckResourceStatusResponse = GetReadinessCheckResourceStatusResponse'+  { -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The readiness at a rule level.+    readiness :: Prelude.Maybe Readiness,+    -- | Details of the rule\'s results.+    rules :: Prelude.Maybe [RuleResult],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetReadinessCheckResourceStatusResponse' 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:+--+-- 'nextToken', 'getReadinessCheckResourceStatusResponse_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'readiness', 'getReadinessCheckResourceStatusResponse_readiness' - The readiness at a rule level.+--+-- 'rules', 'getReadinessCheckResourceStatusResponse_rules' - Details of the rule\'s results.+--+-- 'httpStatus', 'getReadinessCheckResourceStatusResponse_httpStatus' - The response's http status code.+newGetReadinessCheckResourceStatusResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetReadinessCheckResourceStatusResponse+newGetReadinessCheckResourceStatusResponse+  pHttpStatus_ =+    GetReadinessCheckResourceStatusResponse'+      { nextToken =+          Prelude.Nothing,+        readiness = Prelude.Nothing,+        rules = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The token that identifies which batch of results you want to see.+getReadinessCheckResourceStatusResponse_nextToken :: Lens.Lens' GetReadinessCheckResourceStatusResponse (Prelude.Maybe Prelude.Text)+getReadinessCheckResourceStatusResponse_nextToken = Lens.lens (\GetReadinessCheckResourceStatusResponse' {nextToken} -> nextToken) (\s@GetReadinessCheckResourceStatusResponse' {} a -> s {nextToken = a} :: GetReadinessCheckResourceStatusResponse)++-- | The readiness at a rule level.+getReadinessCheckResourceStatusResponse_readiness :: Lens.Lens' GetReadinessCheckResourceStatusResponse (Prelude.Maybe Readiness)+getReadinessCheckResourceStatusResponse_readiness = Lens.lens (\GetReadinessCheckResourceStatusResponse' {readiness} -> readiness) (\s@GetReadinessCheckResourceStatusResponse' {} a -> s {readiness = a} :: GetReadinessCheckResourceStatusResponse)++-- | Details of the rule\'s results.+getReadinessCheckResourceStatusResponse_rules :: Lens.Lens' GetReadinessCheckResourceStatusResponse (Prelude.Maybe [RuleResult])+getReadinessCheckResourceStatusResponse_rules = Lens.lens (\GetReadinessCheckResourceStatusResponse' {rules} -> rules) (\s@GetReadinessCheckResourceStatusResponse' {} a -> s {rules = a} :: GetReadinessCheckResourceStatusResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getReadinessCheckResourceStatusResponse_httpStatus :: Lens.Lens' GetReadinessCheckResourceStatusResponse Prelude.Int+getReadinessCheckResourceStatusResponse_httpStatus = Lens.lens (\GetReadinessCheckResourceStatusResponse' {httpStatus} -> httpStatus) (\s@GetReadinessCheckResourceStatusResponse' {} a -> s {httpStatus = a} :: GetReadinessCheckResourceStatusResponse)++instance+  Prelude.NFData+    GetReadinessCheckResourceStatusResponse+  where+  rnf GetReadinessCheckResourceStatusResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf readiness+      `Prelude.seq` Prelude.rnf rules+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/GetReadinessCheckStatus.hs view
@@ -0,0 +1,261 @@+{-# 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.Route53RecoveryReadiness.GetReadinessCheckStatus+-- 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 the readiness status for an individual readiness check. To see the+-- overall readiness status for a recovery group, that considers the+-- readiness status for all the readiness checks in a recovery group, use+-- GetRecoveryGroupReadinessSummary.+--+-- This operation returns paginated results.+module Amazonka.Route53RecoveryReadiness.GetReadinessCheckStatus+  ( -- * Creating a Request+    GetReadinessCheckStatus (..),+    newGetReadinessCheckStatus,++    -- * Request Lenses+    getReadinessCheckStatus_maxResults,+    getReadinessCheckStatus_nextToken,+    getReadinessCheckStatus_readinessCheckName,++    -- * Destructuring the Response+    GetReadinessCheckStatusResponse (..),+    newGetReadinessCheckStatusResponse,++    -- * Response Lenses+    getReadinessCheckStatusResponse_messages,+    getReadinessCheckStatusResponse_nextToken,+    getReadinessCheckStatusResponse_readiness,+    getReadinessCheckStatusResponse_resources,+    getReadinessCheckStatusResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newGetReadinessCheckStatus' smart constructor.+data GetReadinessCheckStatus = GetReadinessCheckStatus'+  { -- | The number of objects that you want to return with this call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Name of a readiness check.+    readinessCheckName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetReadinessCheckStatus' 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', 'getReadinessCheckStatus_maxResults' - The number of objects that you want to return with this call.+--+-- 'nextToken', 'getReadinessCheckStatus_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'readinessCheckName', 'getReadinessCheckStatus_readinessCheckName' - Name of a readiness check.+newGetReadinessCheckStatus ::+  -- | 'readinessCheckName'+  Prelude.Text ->+  GetReadinessCheckStatus+newGetReadinessCheckStatus pReadinessCheckName_ =+  GetReadinessCheckStatus'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      readinessCheckName = pReadinessCheckName_+    }++-- | The number of objects that you want to return with this call.+getReadinessCheckStatus_maxResults :: Lens.Lens' GetReadinessCheckStatus (Prelude.Maybe Prelude.Natural)+getReadinessCheckStatus_maxResults = Lens.lens (\GetReadinessCheckStatus' {maxResults} -> maxResults) (\s@GetReadinessCheckStatus' {} a -> s {maxResults = a} :: GetReadinessCheckStatus)++-- | The token that identifies which batch of results you want to see.+getReadinessCheckStatus_nextToken :: Lens.Lens' GetReadinessCheckStatus (Prelude.Maybe Prelude.Text)+getReadinessCheckStatus_nextToken = Lens.lens (\GetReadinessCheckStatus' {nextToken} -> nextToken) (\s@GetReadinessCheckStatus' {} a -> s {nextToken = a} :: GetReadinessCheckStatus)++-- | Name of a readiness check.+getReadinessCheckStatus_readinessCheckName :: Lens.Lens' GetReadinessCheckStatus Prelude.Text+getReadinessCheckStatus_readinessCheckName = Lens.lens (\GetReadinessCheckStatus' {readinessCheckName} -> readinessCheckName) (\s@GetReadinessCheckStatus' {} a -> s {readinessCheckName = a} :: GetReadinessCheckStatus)++instance Core.AWSPager GetReadinessCheckStatus where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getReadinessCheckStatusResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getReadinessCheckStatusResponse_resources+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getReadinessCheckStatus_nextToken+          Lens..~ rs+          Lens.^? getReadinessCheckStatusResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetReadinessCheckStatus where+  type+    AWSResponse GetReadinessCheckStatus =+      GetReadinessCheckStatusResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetReadinessCheckStatusResponse'+            Prelude.<$> (x Data..?> "messages" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "readiness")+            Prelude.<*> (x Data..?> "resources" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetReadinessCheckStatus where+  hashWithSalt _salt GetReadinessCheckStatus' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` readinessCheckName++instance Prelude.NFData GetReadinessCheckStatus where+  rnf GetReadinessCheckStatus' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf readinessCheckName++instance Data.ToHeaders GetReadinessCheckStatus where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetReadinessCheckStatus where+  toPath GetReadinessCheckStatus' {..} =+    Prelude.mconcat+      [ "/readinesschecks/",+        Data.toBS readinessCheckName,+        "/status"+      ]++instance Data.ToQuery GetReadinessCheckStatus where+  toQuery GetReadinessCheckStatus' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newGetReadinessCheckStatusResponse' smart constructor.+data GetReadinessCheckStatusResponse = GetReadinessCheckStatusResponse'+  { -- | Top level messages for readiness check status+    messages :: Prelude.Maybe [Message],+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The readiness at rule level.+    readiness :: Prelude.Maybe Readiness,+    -- | Summary of the readiness of resources.+    resources :: Prelude.Maybe [ResourceResult],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetReadinessCheckStatusResponse' 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:+--+-- 'messages', 'getReadinessCheckStatusResponse_messages' - Top level messages for readiness check status+--+-- 'nextToken', 'getReadinessCheckStatusResponse_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'readiness', 'getReadinessCheckStatusResponse_readiness' - The readiness at rule level.+--+-- 'resources', 'getReadinessCheckStatusResponse_resources' - Summary of the readiness of resources.+--+-- 'httpStatus', 'getReadinessCheckStatusResponse_httpStatus' - The response's http status code.+newGetReadinessCheckStatusResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetReadinessCheckStatusResponse+newGetReadinessCheckStatusResponse pHttpStatus_ =+  GetReadinessCheckStatusResponse'+    { messages =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      readiness = Prelude.Nothing,+      resources = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Top level messages for readiness check status+getReadinessCheckStatusResponse_messages :: Lens.Lens' GetReadinessCheckStatusResponse (Prelude.Maybe [Message])+getReadinessCheckStatusResponse_messages = Lens.lens (\GetReadinessCheckStatusResponse' {messages} -> messages) (\s@GetReadinessCheckStatusResponse' {} a -> s {messages = a} :: GetReadinessCheckStatusResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that identifies which batch of results you want to see.+getReadinessCheckStatusResponse_nextToken :: Lens.Lens' GetReadinessCheckStatusResponse (Prelude.Maybe Prelude.Text)+getReadinessCheckStatusResponse_nextToken = Lens.lens (\GetReadinessCheckStatusResponse' {nextToken} -> nextToken) (\s@GetReadinessCheckStatusResponse' {} a -> s {nextToken = a} :: GetReadinessCheckStatusResponse)++-- | The readiness at rule level.+getReadinessCheckStatusResponse_readiness :: Lens.Lens' GetReadinessCheckStatusResponse (Prelude.Maybe Readiness)+getReadinessCheckStatusResponse_readiness = Lens.lens (\GetReadinessCheckStatusResponse' {readiness} -> readiness) (\s@GetReadinessCheckStatusResponse' {} a -> s {readiness = a} :: GetReadinessCheckStatusResponse)++-- | Summary of the readiness of resources.+getReadinessCheckStatusResponse_resources :: Lens.Lens' GetReadinessCheckStatusResponse (Prelude.Maybe [ResourceResult])+getReadinessCheckStatusResponse_resources = Lens.lens (\GetReadinessCheckStatusResponse' {resources} -> resources) (\s@GetReadinessCheckStatusResponse' {} a -> s {resources = a} :: GetReadinessCheckStatusResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getReadinessCheckStatusResponse_httpStatus :: Lens.Lens' GetReadinessCheckStatusResponse Prelude.Int+getReadinessCheckStatusResponse_httpStatus = Lens.lens (\GetReadinessCheckStatusResponse' {httpStatus} -> httpStatus) (\s@GetReadinessCheckStatusResponse' {} a -> s {httpStatus = a} :: GetReadinessCheckStatusResponse)++instance+  Prelude.NFData+    GetReadinessCheckStatusResponse+  where+  rnf GetReadinessCheckStatusResponse' {..} =+    Prelude.rnf messages+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf readiness+      `Prelude.seq` Prelude.rnf resources+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/GetRecoveryGroup.hs view
@@ -0,0 +1,199 @@+{-# 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.Route53RecoveryReadiness.GetRecoveryGroup+-- 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 details about a recovery group, including a list of the cells that+-- are included in it.+module Amazonka.Route53RecoveryReadiness.GetRecoveryGroup+  ( -- * Creating a Request+    GetRecoveryGroup (..),+    newGetRecoveryGroup,++    -- * Request Lenses+    getRecoveryGroup_recoveryGroupName,++    -- * Destructuring the Response+    GetRecoveryGroupResponse (..),+    newGetRecoveryGroupResponse,++    -- * Response Lenses+    getRecoveryGroupResponse_cells,+    getRecoveryGroupResponse_recoveryGroupArn,+    getRecoveryGroupResponse_recoveryGroupName,+    getRecoveryGroupResponse_tags,+    getRecoveryGroupResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newGetRecoveryGroup' smart constructor.+data GetRecoveryGroup = GetRecoveryGroup'+  { -- | The name of a recovery group.+    recoveryGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRecoveryGroup' 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:+--+-- 'recoveryGroupName', 'getRecoveryGroup_recoveryGroupName' - The name of a recovery group.+newGetRecoveryGroup ::+  -- | 'recoveryGroupName'+  Prelude.Text ->+  GetRecoveryGroup+newGetRecoveryGroup pRecoveryGroupName_ =+  GetRecoveryGroup'+    { recoveryGroupName =+        pRecoveryGroupName_+    }++-- | The name of a recovery group.+getRecoveryGroup_recoveryGroupName :: Lens.Lens' GetRecoveryGroup Prelude.Text+getRecoveryGroup_recoveryGroupName = Lens.lens (\GetRecoveryGroup' {recoveryGroupName} -> recoveryGroupName) (\s@GetRecoveryGroup' {} a -> s {recoveryGroupName = a} :: GetRecoveryGroup)++instance Core.AWSRequest GetRecoveryGroup where+  type+    AWSResponse GetRecoveryGroup =+      GetRecoveryGroupResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetRecoveryGroupResponse'+            Prelude.<$> (x Data..?> "cells" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "recoveryGroupArn")+            Prelude.<*> (x Data..?> "recoveryGroupName")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetRecoveryGroup where+  hashWithSalt _salt GetRecoveryGroup' {..} =+    _salt `Prelude.hashWithSalt` recoveryGroupName++instance Prelude.NFData GetRecoveryGroup where+  rnf GetRecoveryGroup' {..} =+    Prelude.rnf recoveryGroupName++instance Data.ToHeaders GetRecoveryGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetRecoveryGroup where+  toPath GetRecoveryGroup' {..} =+    Prelude.mconcat+      ["/recoverygroups/", Data.toBS recoveryGroupName]++instance Data.ToQuery GetRecoveryGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRecoveryGroupResponse' smart constructor.+data GetRecoveryGroupResponse = GetRecoveryGroupResponse'+  { -- | A list of a cell\'s Amazon Resource Names (ARNs).+    cells :: Prelude.Maybe [Prelude.Text],+    -- | The Amazon Resource Name (ARN) for the recovery group.+    recoveryGroupArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the recovery group.+    recoveryGroupName :: Prelude.Maybe Prelude.Text,+    -- | The tags associated with the recovery group.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRecoveryGroupResponse' 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:+--+-- 'cells', 'getRecoveryGroupResponse_cells' - A list of a cell\'s Amazon Resource Names (ARNs).+--+-- 'recoveryGroupArn', 'getRecoveryGroupResponse_recoveryGroupArn' - The Amazon Resource Name (ARN) for the recovery group.+--+-- 'recoveryGroupName', 'getRecoveryGroupResponse_recoveryGroupName' - The name of the recovery group.+--+-- 'tags', 'getRecoveryGroupResponse_tags' - The tags associated with the recovery group.+--+-- 'httpStatus', 'getRecoveryGroupResponse_httpStatus' - The response's http status code.+newGetRecoveryGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetRecoveryGroupResponse+newGetRecoveryGroupResponse pHttpStatus_ =+  GetRecoveryGroupResponse'+    { cells = Prelude.Nothing,+      recoveryGroupArn = Prelude.Nothing,+      recoveryGroupName = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of a cell\'s Amazon Resource Names (ARNs).+getRecoveryGroupResponse_cells :: Lens.Lens' GetRecoveryGroupResponse (Prelude.Maybe [Prelude.Text])+getRecoveryGroupResponse_cells = Lens.lens (\GetRecoveryGroupResponse' {cells} -> cells) (\s@GetRecoveryGroupResponse' {} a -> s {cells = a} :: GetRecoveryGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) for the recovery group.+getRecoveryGroupResponse_recoveryGroupArn :: Lens.Lens' GetRecoveryGroupResponse (Prelude.Maybe Prelude.Text)+getRecoveryGroupResponse_recoveryGroupArn = Lens.lens (\GetRecoveryGroupResponse' {recoveryGroupArn} -> recoveryGroupArn) (\s@GetRecoveryGroupResponse' {} a -> s {recoveryGroupArn = a} :: GetRecoveryGroupResponse)++-- | The name of the recovery group.+getRecoveryGroupResponse_recoveryGroupName :: Lens.Lens' GetRecoveryGroupResponse (Prelude.Maybe Prelude.Text)+getRecoveryGroupResponse_recoveryGroupName = Lens.lens (\GetRecoveryGroupResponse' {recoveryGroupName} -> recoveryGroupName) (\s@GetRecoveryGroupResponse' {} a -> s {recoveryGroupName = a} :: GetRecoveryGroupResponse)++-- | The tags associated with the recovery group.+getRecoveryGroupResponse_tags :: Lens.Lens' GetRecoveryGroupResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getRecoveryGroupResponse_tags = Lens.lens (\GetRecoveryGroupResponse' {tags} -> tags) (\s@GetRecoveryGroupResponse' {} a -> s {tags = a} :: GetRecoveryGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getRecoveryGroupResponse_httpStatus :: Lens.Lens' GetRecoveryGroupResponse Prelude.Int+getRecoveryGroupResponse_httpStatus = Lens.lens (\GetRecoveryGroupResponse' {httpStatus} -> httpStatus) (\s@GetRecoveryGroupResponse' {} a -> s {httpStatus = a} :: GetRecoveryGroupResponse)++instance Prelude.NFData GetRecoveryGroupResponse where+  rnf GetRecoveryGroupResponse' {..} =+    Prelude.rnf cells+      `Prelude.seq` Prelude.rnf recoveryGroupArn+      `Prelude.seq` Prelude.rnf recoveryGroupName+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/GetRecoveryGroupReadinessSummary.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.Route53RecoveryReadiness.GetRecoveryGroupReadinessSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays a summary of information about a recovery group\'s readiness+-- status. Includes the readiness checks for resources in the recovery+-- group and the readiness status of each one.+--+-- This operation returns paginated results.+module Amazonka.Route53RecoveryReadiness.GetRecoveryGroupReadinessSummary+  ( -- * Creating a Request+    GetRecoveryGroupReadinessSummary (..),+    newGetRecoveryGroupReadinessSummary,++    -- * Request Lenses+    getRecoveryGroupReadinessSummary_maxResults,+    getRecoveryGroupReadinessSummary_nextToken,+    getRecoveryGroupReadinessSummary_recoveryGroupName,++    -- * Destructuring the Response+    GetRecoveryGroupReadinessSummaryResponse (..),+    newGetRecoveryGroupReadinessSummaryResponse,++    -- * Response Lenses+    getRecoveryGroupReadinessSummaryResponse_nextToken,+    getRecoveryGroupReadinessSummaryResponse_readiness,+    getRecoveryGroupReadinessSummaryResponse_readinessChecks,+    getRecoveryGroupReadinessSummaryResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newGetRecoveryGroupReadinessSummary' smart constructor.+data GetRecoveryGroupReadinessSummary = GetRecoveryGroupReadinessSummary'+  { -- | The number of objects that you want to return with this call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of a recovery group.+    recoveryGroupName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRecoveryGroupReadinessSummary' 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', 'getRecoveryGroupReadinessSummary_maxResults' - The number of objects that you want to return with this call.+--+-- 'nextToken', 'getRecoveryGroupReadinessSummary_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'recoveryGroupName', 'getRecoveryGroupReadinessSummary_recoveryGroupName' - The name of a recovery group.+newGetRecoveryGroupReadinessSummary ::+  -- | 'recoveryGroupName'+  Prelude.Text ->+  GetRecoveryGroupReadinessSummary+newGetRecoveryGroupReadinessSummary+  pRecoveryGroupName_ =+    GetRecoveryGroupReadinessSummary'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        recoveryGroupName = pRecoveryGroupName_+      }++-- | The number of objects that you want to return with this call.+getRecoveryGroupReadinessSummary_maxResults :: Lens.Lens' GetRecoveryGroupReadinessSummary (Prelude.Maybe Prelude.Natural)+getRecoveryGroupReadinessSummary_maxResults = Lens.lens (\GetRecoveryGroupReadinessSummary' {maxResults} -> maxResults) (\s@GetRecoveryGroupReadinessSummary' {} a -> s {maxResults = a} :: GetRecoveryGroupReadinessSummary)++-- | The token that identifies which batch of results you want to see.+getRecoveryGroupReadinessSummary_nextToken :: Lens.Lens' GetRecoveryGroupReadinessSummary (Prelude.Maybe Prelude.Text)+getRecoveryGroupReadinessSummary_nextToken = Lens.lens (\GetRecoveryGroupReadinessSummary' {nextToken} -> nextToken) (\s@GetRecoveryGroupReadinessSummary' {} a -> s {nextToken = a} :: GetRecoveryGroupReadinessSummary)++-- | The name of a recovery group.+getRecoveryGroupReadinessSummary_recoveryGroupName :: Lens.Lens' GetRecoveryGroupReadinessSummary Prelude.Text+getRecoveryGroupReadinessSummary_recoveryGroupName = Lens.lens (\GetRecoveryGroupReadinessSummary' {recoveryGroupName} -> recoveryGroupName) (\s@GetRecoveryGroupReadinessSummary' {} a -> s {recoveryGroupName = a} :: GetRecoveryGroupReadinessSummary)++instance+  Core.AWSPager+    GetRecoveryGroupReadinessSummary+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getRecoveryGroupReadinessSummaryResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getRecoveryGroupReadinessSummaryResponse_readinessChecks+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getRecoveryGroupReadinessSummary_nextToken+          Lens..~ rs+          Lens.^? getRecoveryGroupReadinessSummaryResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    GetRecoveryGroupReadinessSummary+  where+  type+    AWSResponse GetRecoveryGroupReadinessSummary =+      GetRecoveryGroupReadinessSummaryResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetRecoveryGroupReadinessSummaryResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "readiness")+            Prelude.<*> ( x+                            Data..?> "readinessChecks"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetRecoveryGroupReadinessSummary+  where+  hashWithSalt+    _salt+    GetRecoveryGroupReadinessSummary' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` recoveryGroupName++instance+  Prelude.NFData+    GetRecoveryGroupReadinessSummary+  where+  rnf GetRecoveryGroupReadinessSummary' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf recoveryGroupName++instance+  Data.ToHeaders+    GetRecoveryGroupReadinessSummary+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetRecoveryGroupReadinessSummary where+  toPath GetRecoveryGroupReadinessSummary' {..} =+    Prelude.mconcat+      [ "/recoverygroupreadiness/",+        Data.toBS recoveryGroupName+      ]++instance+  Data.ToQuery+    GetRecoveryGroupReadinessSummary+  where+  toQuery GetRecoveryGroupReadinessSummary' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newGetRecoveryGroupReadinessSummaryResponse' smart constructor.+data GetRecoveryGroupReadinessSummaryResponse = GetRecoveryGroupReadinessSummaryResponse'+  { -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The readiness status at a recovery group level.+    readiness :: Prelude.Maybe Readiness,+    -- | Summaries of the readiness checks for the recovery group.+    readinessChecks :: Prelude.Maybe [ReadinessCheckSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRecoveryGroupReadinessSummaryResponse' 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:+--+-- 'nextToken', 'getRecoveryGroupReadinessSummaryResponse_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'readiness', 'getRecoveryGroupReadinessSummaryResponse_readiness' - The readiness status at a recovery group level.+--+-- 'readinessChecks', 'getRecoveryGroupReadinessSummaryResponse_readinessChecks' - Summaries of the readiness checks for the recovery group.+--+-- 'httpStatus', 'getRecoveryGroupReadinessSummaryResponse_httpStatus' - The response's http status code.+newGetRecoveryGroupReadinessSummaryResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetRecoveryGroupReadinessSummaryResponse+newGetRecoveryGroupReadinessSummaryResponse+  pHttpStatus_ =+    GetRecoveryGroupReadinessSummaryResponse'+      { nextToken =+          Prelude.Nothing,+        readiness = Prelude.Nothing,+        readinessChecks = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The token that identifies which batch of results you want to see.+getRecoveryGroupReadinessSummaryResponse_nextToken :: Lens.Lens' GetRecoveryGroupReadinessSummaryResponse (Prelude.Maybe Prelude.Text)+getRecoveryGroupReadinessSummaryResponse_nextToken = Lens.lens (\GetRecoveryGroupReadinessSummaryResponse' {nextToken} -> nextToken) (\s@GetRecoveryGroupReadinessSummaryResponse' {} a -> s {nextToken = a} :: GetRecoveryGroupReadinessSummaryResponse)++-- | The readiness status at a recovery group level.+getRecoveryGroupReadinessSummaryResponse_readiness :: Lens.Lens' GetRecoveryGroupReadinessSummaryResponse (Prelude.Maybe Readiness)+getRecoveryGroupReadinessSummaryResponse_readiness = Lens.lens (\GetRecoveryGroupReadinessSummaryResponse' {readiness} -> readiness) (\s@GetRecoveryGroupReadinessSummaryResponse' {} a -> s {readiness = a} :: GetRecoveryGroupReadinessSummaryResponse)++-- | Summaries of the readiness checks for the recovery group.+getRecoveryGroupReadinessSummaryResponse_readinessChecks :: Lens.Lens' GetRecoveryGroupReadinessSummaryResponse (Prelude.Maybe [ReadinessCheckSummary])+getRecoveryGroupReadinessSummaryResponse_readinessChecks = Lens.lens (\GetRecoveryGroupReadinessSummaryResponse' {readinessChecks} -> readinessChecks) (\s@GetRecoveryGroupReadinessSummaryResponse' {} a -> s {readinessChecks = a} :: GetRecoveryGroupReadinessSummaryResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getRecoveryGroupReadinessSummaryResponse_httpStatus :: Lens.Lens' GetRecoveryGroupReadinessSummaryResponse Prelude.Int+getRecoveryGroupReadinessSummaryResponse_httpStatus = Lens.lens (\GetRecoveryGroupReadinessSummaryResponse' {httpStatus} -> httpStatus) (\s@GetRecoveryGroupReadinessSummaryResponse' {} a -> s {httpStatus = a} :: GetRecoveryGroupReadinessSummaryResponse)++instance+  Prelude.NFData+    GetRecoveryGroupReadinessSummaryResponse+  where+  rnf GetRecoveryGroupReadinessSummaryResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf readiness+      `Prelude.seq` Prelude.rnf readinessChecks+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/GetResourceSet.hs view
@@ -0,0 +1,243 @@+{-# 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.Route53RecoveryReadiness.GetResourceSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays the details about a resource set, including a list of the+-- resources in the set.+module Amazonka.Route53RecoveryReadiness.GetResourceSet+  ( -- * Creating a Request+    GetResourceSet (..),+    newGetResourceSet,++    -- * Request Lenses+    getResourceSet_resourceSetName,++    -- * Destructuring the Response+    GetResourceSetResponse (..),+    newGetResourceSetResponse,++    -- * Response Lenses+    getResourceSetResponse_resourceSetArn,+    getResourceSetResponse_resourceSetName,+    getResourceSetResponse_resourceSetType,+    getResourceSetResponse_resources,+    getResourceSetResponse_tags,+    getResourceSetResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newGetResourceSet' smart constructor.+data GetResourceSet = GetResourceSet'+  { -- | Name of a resource set.+    resourceSetName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourceSet' 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:+--+-- 'resourceSetName', 'getResourceSet_resourceSetName' - Name of a resource set.+newGetResourceSet ::+  -- | 'resourceSetName'+  Prelude.Text ->+  GetResourceSet+newGetResourceSet pResourceSetName_ =+  GetResourceSet'+    { resourceSetName =+        pResourceSetName_+    }++-- | Name of a resource set.+getResourceSet_resourceSetName :: Lens.Lens' GetResourceSet Prelude.Text+getResourceSet_resourceSetName = Lens.lens (\GetResourceSet' {resourceSetName} -> resourceSetName) (\s@GetResourceSet' {} a -> s {resourceSetName = a} :: GetResourceSet)++instance Core.AWSRequest GetResourceSet where+  type+    AWSResponse GetResourceSet =+      GetResourceSetResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetResourceSetResponse'+            Prelude.<$> (x Data..?> "resourceSetArn")+            Prelude.<*> (x Data..?> "resourceSetName")+            Prelude.<*> (x Data..?> "resourceSetType")+            Prelude.<*> (x Data..?> "resources" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetResourceSet where+  hashWithSalt _salt GetResourceSet' {..} =+    _salt `Prelude.hashWithSalt` resourceSetName++instance Prelude.NFData GetResourceSet where+  rnf GetResourceSet' {..} = Prelude.rnf resourceSetName++instance Data.ToHeaders GetResourceSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetResourceSet where+  toPath GetResourceSet' {..} =+    Prelude.mconcat+      ["/resourcesets/", Data.toBS resourceSetName]++instance Data.ToQuery GetResourceSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResourceSetResponse' smart constructor.+data GetResourceSetResponse = GetResourceSetResponse'+  { -- | The Amazon Resource Name (ARN) for the resource set.+    resourceSetArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource set.+    resourceSetName :: Prelude.Maybe Prelude.Text,+    -- | The resource type of the resources in the resource set. Enter one of the+    -- following values for resource type:+    --+    -- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+    -- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+    -- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+    -- AWS::ElasticLoadBalancing::LoadBalancer,+    -- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+    -- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+    -- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+    -- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+    -- AWS::Route53RecoveryReadiness::DNSTargetResource+    resourceSetType :: Prelude.Maybe Prelude.Text,+    -- | A list of resource objects.+    resources :: Prelude.Maybe [Resource],+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourceSetResponse' 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:+--+-- 'resourceSetArn', 'getResourceSetResponse_resourceSetArn' - The Amazon Resource Name (ARN) for the resource set.+--+-- 'resourceSetName', 'getResourceSetResponse_resourceSetName' - The name of the resource set.+--+-- 'resourceSetType', 'getResourceSetResponse_resourceSetType' - The resource type of the resources in the resource set. Enter one of the+-- following values for resource type:+--+-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+-- AWS::ElasticLoadBalancing::LoadBalancer,+-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+-- AWS::Route53RecoveryReadiness::DNSTargetResource+--+-- 'resources', 'getResourceSetResponse_resources' - A list of resource objects.+--+-- 'tags', 'getResourceSetResponse_tags' - Undocumented member.+--+-- 'httpStatus', 'getResourceSetResponse_httpStatus' - The response's http status code.+newGetResourceSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetResourceSetResponse+newGetResourceSetResponse pHttpStatus_ =+  GetResourceSetResponse'+    { resourceSetArn =+        Prelude.Nothing,+      resourceSetName = Prelude.Nothing,+      resourceSetType = Prelude.Nothing,+      resources = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) for the resource set.+getResourceSetResponse_resourceSetArn :: Lens.Lens' GetResourceSetResponse (Prelude.Maybe Prelude.Text)+getResourceSetResponse_resourceSetArn = Lens.lens (\GetResourceSetResponse' {resourceSetArn} -> resourceSetArn) (\s@GetResourceSetResponse' {} a -> s {resourceSetArn = a} :: GetResourceSetResponse)++-- | The name of the resource set.+getResourceSetResponse_resourceSetName :: Lens.Lens' GetResourceSetResponse (Prelude.Maybe Prelude.Text)+getResourceSetResponse_resourceSetName = Lens.lens (\GetResourceSetResponse' {resourceSetName} -> resourceSetName) (\s@GetResourceSetResponse' {} a -> s {resourceSetName = a} :: GetResourceSetResponse)++-- | The resource type of the resources in the resource set. Enter one of the+-- following values for resource type:+--+-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+-- AWS::ElasticLoadBalancing::LoadBalancer,+-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+-- AWS::Route53RecoveryReadiness::DNSTargetResource+getResourceSetResponse_resourceSetType :: Lens.Lens' GetResourceSetResponse (Prelude.Maybe Prelude.Text)+getResourceSetResponse_resourceSetType = Lens.lens (\GetResourceSetResponse' {resourceSetType} -> resourceSetType) (\s@GetResourceSetResponse' {} a -> s {resourceSetType = a} :: GetResourceSetResponse)++-- | A list of resource objects.+getResourceSetResponse_resources :: Lens.Lens' GetResourceSetResponse (Prelude.Maybe [Resource])+getResourceSetResponse_resources = Lens.lens (\GetResourceSetResponse' {resources} -> resources) (\s@GetResourceSetResponse' {} a -> s {resources = a} :: GetResourceSetResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+getResourceSetResponse_tags :: Lens.Lens' GetResourceSetResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getResourceSetResponse_tags = Lens.lens (\GetResourceSetResponse' {tags} -> tags) (\s@GetResourceSetResponse' {} a -> s {tags = a} :: GetResourceSetResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getResourceSetResponse_httpStatus :: Lens.Lens' GetResourceSetResponse Prelude.Int+getResourceSetResponse_httpStatus = Lens.lens (\GetResourceSetResponse' {httpStatus} -> httpStatus) (\s@GetResourceSetResponse' {} a -> s {httpStatus = a} :: GetResourceSetResponse)++instance Prelude.NFData GetResourceSetResponse where+  rnf GetResourceSetResponse' {..} =+    Prelude.rnf resourceSetArn+      `Prelude.seq` Prelude.rnf resourceSetName+      `Prelude.seq` Prelude.rnf resourceSetType+      `Prelude.seq` Prelude.rnf resources+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/Lens.hs view
@@ -0,0 +1,385 @@+{-# 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.Route53RecoveryReadiness.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.Route53RecoveryReadiness.Lens+  ( -- * Operations++    -- ** CreateCell+    createCell_cells,+    createCell_tags,+    createCell_cellName,+    createCellResponse_cellArn,+    createCellResponse_cellName,+    createCellResponse_cells,+    createCellResponse_parentReadinessScopes,+    createCellResponse_tags,+    createCellResponse_httpStatus,++    -- ** CreateCrossAccountAuthorization+    createCrossAccountAuthorization_crossAccountAuthorization,+    createCrossAccountAuthorizationResponse_crossAccountAuthorization,+    createCrossAccountAuthorizationResponse_httpStatus,++    -- ** CreateReadinessCheck+    createReadinessCheck_tags,+    createReadinessCheck_resourceSetName,+    createReadinessCheck_readinessCheckName,+    createReadinessCheckResponse_readinessCheckArn,+    createReadinessCheckResponse_readinessCheckName,+    createReadinessCheckResponse_resourceSet,+    createReadinessCheckResponse_tags,+    createReadinessCheckResponse_httpStatus,++    -- ** CreateRecoveryGroup+    createRecoveryGroup_cells,+    createRecoveryGroup_tags,+    createRecoveryGroup_recoveryGroupName,+    createRecoveryGroupResponse_cells,+    createRecoveryGroupResponse_recoveryGroupArn,+    createRecoveryGroupResponse_recoveryGroupName,+    createRecoveryGroupResponse_tags,+    createRecoveryGroupResponse_httpStatus,++    -- ** CreateResourceSet+    createResourceSet_tags,+    createResourceSet_resourceSetType,+    createResourceSet_resourceSetName,+    createResourceSet_resources,+    createResourceSetResponse_resourceSetArn,+    createResourceSetResponse_resourceSetName,+    createResourceSetResponse_resourceSetType,+    createResourceSetResponse_resources,+    createResourceSetResponse_tags,+    createResourceSetResponse_httpStatus,++    -- ** DeleteCell+    deleteCell_cellName,++    -- ** DeleteCrossAccountAuthorization+    deleteCrossAccountAuthorization_crossAccountAuthorization,+    deleteCrossAccountAuthorizationResponse_httpStatus,++    -- ** DeleteReadinessCheck+    deleteReadinessCheck_readinessCheckName,++    -- ** DeleteRecoveryGroup+    deleteRecoveryGroup_recoveryGroupName,++    -- ** DeleteResourceSet+    deleteResourceSet_resourceSetName,++    -- ** GetArchitectureRecommendations+    getArchitectureRecommendations_maxResults,+    getArchitectureRecommendations_nextToken,+    getArchitectureRecommendations_recoveryGroupName,+    getArchitectureRecommendationsResponse_lastAuditTimestamp,+    getArchitectureRecommendationsResponse_nextToken,+    getArchitectureRecommendationsResponse_recommendations,+    getArchitectureRecommendationsResponse_httpStatus,++    -- ** GetCell+    getCell_cellName,+    getCellResponse_cellArn,+    getCellResponse_cellName,+    getCellResponse_cells,+    getCellResponse_parentReadinessScopes,+    getCellResponse_tags,+    getCellResponse_httpStatus,++    -- ** GetCellReadinessSummary+    getCellReadinessSummary_maxResults,+    getCellReadinessSummary_nextToken,+    getCellReadinessSummary_cellName,+    getCellReadinessSummaryResponse_nextToken,+    getCellReadinessSummaryResponse_readiness,+    getCellReadinessSummaryResponse_readinessChecks,+    getCellReadinessSummaryResponse_httpStatus,++    -- ** GetReadinessCheck+    getReadinessCheck_readinessCheckName,+    getReadinessCheckResponse_readinessCheckArn,+    getReadinessCheckResponse_readinessCheckName,+    getReadinessCheckResponse_resourceSet,+    getReadinessCheckResponse_tags,+    getReadinessCheckResponse_httpStatus,++    -- ** GetReadinessCheckResourceStatus+    getReadinessCheckResourceStatus_maxResults,+    getReadinessCheckResourceStatus_nextToken,+    getReadinessCheckResourceStatus_readinessCheckName,+    getReadinessCheckResourceStatus_resourceIdentifier,+    getReadinessCheckResourceStatusResponse_nextToken,+    getReadinessCheckResourceStatusResponse_readiness,+    getReadinessCheckResourceStatusResponse_rules,+    getReadinessCheckResourceStatusResponse_httpStatus,++    -- ** GetReadinessCheckStatus+    getReadinessCheckStatus_maxResults,+    getReadinessCheckStatus_nextToken,+    getReadinessCheckStatus_readinessCheckName,+    getReadinessCheckStatusResponse_messages,+    getReadinessCheckStatusResponse_nextToken,+    getReadinessCheckStatusResponse_readiness,+    getReadinessCheckStatusResponse_resources,+    getReadinessCheckStatusResponse_httpStatus,++    -- ** GetRecoveryGroup+    getRecoveryGroup_recoveryGroupName,+    getRecoveryGroupResponse_cells,+    getRecoveryGroupResponse_recoveryGroupArn,+    getRecoveryGroupResponse_recoveryGroupName,+    getRecoveryGroupResponse_tags,+    getRecoveryGroupResponse_httpStatus,++    -- ** GetRecoveryGroupReadinessSummary+    getRecoveryGroupReadinessSummary_maxResults,+    getRecoveryGroupReadinessSummary_nextToken,+    getRecoveryGroupReadinessSummary_recoveryGroupName,+    getRecoveryGroupReadinessSummaryResponse_nextToken,+    getRecoveryGroupReadinessSummaryResponse_readiness,+    getRecoveryGroupReadinessSummaryResponse_readinessChecks,+    getRecoveryGroupReadinessSummaryResponse_httpStatus,++    -- ** GetResourceSet+    getResourceSet_resourceSetName,+    getResourceSetResponse_resourceSetArn,+    getResourceSetResponse_resourceSetName,+    getResourceSetResponse_resourceSetType,+    getResourceSetResponse_resources,+    getResourceSetResponse_tags,+    getResourceSetResponse_httpStatus,++    -- ** ListCells+    listCells_maxResults,+    listCells_nextToken,+    listCellsResponse_cells,+    listCellsResponse_nextToken,+    listCellsResponse_httpStatus,++    -- ** ListCrossAccountAuthorizations+    listCrossAccountAuthorizations_maxResults,+    listCrossAccountAuthorizations_nextToken,+    listCrossAccountAuthorizationsResponse_crossAccountAuthorizations,+    listCrossAccountAuthorizationsResponse_nextToken,+    listCrossAccountAuthorizationsResponse_httpStatus,++    -- ** ListReadinessChecks+    listReadinessChecks_maxResults,+    listReadinessChecks_nextToken,+    listReadinessChecksResponse_nextToken,+    listReadinessChecksResponse_readinessChecks,+    listReadinessChecksResponse_httpStatus,++    -- ** ListRecoveryGroups+    listRecoveryGroups_maxResults,+    listRecoveryGroups_nextToken,+    listRecoveryGroupsResponse_nextToken,+    listRecoveryGroupsResponse_recoveryGroups,+    listRecoveryGroupsResponse_httpStatus,++    -- ** ListResourceSets+    listResourceSets_maxResults,+    listResourceSets_nextToken,+    listResourceSetsResponse_nextToken,+    listResourceSetsResponse_resourceSets,+    listResourceSetsResponse_httpStatus,++    -- ** ListRules+    listRules_maxResults,+    listRules_nextToken,+    listRules_resourceType,+    listRulesResponse_nextToken,+    listRulesResponse_rules,+    listRulesResponse_httpStatus,++    -- ** ListTagsForResources+    listTagsForResources_resourceArn,+    listTagsForResourcesResponse_tags,+    listTagsForResourcesResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_tagKeys,+    untagResource_resourceArn,++    -- ** UpdateCell+    updateCell_cellName,+    updateCell_cells,+    updateCellResponse_cellArn,+    updateCellResponse_cellName,+    updateCellResponse_cells,+    updateCellResponse_parentReadinessScopes,+    updateCellResponse_tags,+    updateCellResponse_httpStatus,++    -- ** UpdateReadinessCheck+    updateReadinessCheck_readinessCheckName,+    updateReadinessCheck_resourceSetName,+    updateReadinessCheckResponse_readinessCheckArn,+    updateReadinessCheckResponse_readinessCheckName,+    updateReadinessCheckResponse_resourceSet,+    updateReadinessCheckResponse_tags,+    updateReadinessCheckResponse_httpStatus,++    -- ** UpdateRecoveryGroup+    updateRecoveryGroup_recoveryGroupName,+    updateRecoveryGroup_cells,+    updateRecoveryGroupResponse_cells,+    updateRecoveryGroupResponse_recoveryGroupArn,+    updateRecoveryGroupResponse_recoveryGroupName,+    updateRecoveryGroupResponse_tags,+    updateRecoveryGroupResponse_httpStatus,++    -- ** UpdateResourceSet+    updateResourceSet_resourceSetName,+    updateResourceSet_resourceSetType,+    updateResourceSet_resources,+    updateResourceSetResponse_resourceSetArn,+    updateResourceSetResponse_resourceSetName,+    updateResourceSetResponse_resourceSetType,+    updateResourceSetResponse_resources,+    updateResourceSetResponse_tags,+    updateResourceSetResponse_httpStatus,++    -- * Types++    -- ** CellOutput+    cellOutput_tags,+    cellOutput_parentReadinessScopes,+    cellOutput_cellArn,+    cellOutput_cellName,+    cellOutput_cells,++    -- ** DNSTargetResource+    dNSTargetResource_domainName,+    dNSTargetResource_hostedZoneArn,+    dNSTargetResource_recordSetId,+    dNSTargetResource_recordType,+    dNSTargetResource_targetResource,++    -- ** ListRulesOutput+    listRulesOutput_ruleDescription,+    listRulesOutput_ruleId,+    listRulesOutput_resourceType,++    -- ** Message+    message_messageText,++    -- ** NLBResource+    nLBResource_arn,++    -- ** R53ResourceRecord+    r53ResourceRecord_domainName,+    r53ResourceRecord_recordSetId,++    -- ** ReadinessCheckOutput+    readinessCheckOutput_readinessCheckName,+    readinessCheckOutput_tags,+    readinessCheckOutput_readinessCheckArn,+    readinessCheckOutput_resourceSet,++    -- ** ReadinessCheckSummary+    readinessCheckSummary_readiness,+    readinessCheckSummary_readinessCheckName,++    -- ** Recommendation+    recommendation_recommendationText,++    -- ** RecoveryGroupOutput+    recoveryGroupOutput_tags,+    recoveryGroupOutput_recoveryGroupArn,+    recoveryGroupOutput_recoveryGroupName,+    recoveryGroupOutput_cells,++    -- ** Resource+    resource_componentId,+    resource_dnsTargetResource,+    resource_readinessScopes,+    resource_resourceArn,++    -- ** ResourceResult+    resourceResult_componentId,+    resourceResult_resourceArn,+    resourceResult_readiness,+    resourceResult_lastCheckedTimestamp,++    -- ** ResourceSetOutput+    resourceSetOutput_tags,+    resourceSetOutput_resourceSetType,+    resourceSetOutput_resourceSetName,+    resourceSetOutput_resourceSetArn,+    resourceSetOutput_resources,++    -- ** RuleResult+    ruleResult_messages,+    ruleResult_readiness,+    ruleResult_ruleId,+    ruleResult_lastCheckedTimestamp,++    -- ** TargetResource+    targetResource_nLBResource,+    targetResource_r53Resource,+  )+where++import Amazonka.Route53RecoveryReadiness.CreateCell+import Amazonka.Route53RecoveryReadiness.CreateCrossAccountAuthorization+import Amazonka.Route53RecoveryReadiness.CreateReadinessCheck+import Amazonka.Route53RecoveryReadiness.CreateRecoveryGroup+import Amazonka.Route53RecoveryReadiness.CreateResourceSet+import Amazonka.Route53RecoveryReadiness.DeleteCell+import Amazonka.Route53RecoveryReadiness.DeleteCrossAccountAuthorization+import Amazonka.Route53RecoveryReadiness.DeleteReadinessCheck+import Amazonka.Route53RecoveryReadiness.DeleteRecoveryGroup+import Amazonka.Route53RecoveryReadiness.DeleteResourceSet+import Amazonka.Route53RecoveryReadiness.GetArchitectureRecommendations+import Amazonka.Route53RecoveryReadiness.GetCell+import Amazonka.Route53RecoveryReadiness.GetCellReadinessSummary+import Amazonka.Route53RecoveryReadiness.GetReadinessCheck+import Amazonka.Route53RecoveryReadiness.GetReadinessCheckResourceStatus+import Amazonka.Route53RecoveryReadiness.GetReadinessCheckStatus+import Amazonka.Route53RecoveryReadiness.GetRecoveryGroup+import Amazonka.Route53RecoveryReadiness.GetRecoveryGroupReadinessSummary+import Amazonka.Route53RecoveryReadiness.GetResourceSet+import Amazonka.Route53RecoveryReadiness.ListCells+import Amazonka.Route53RecoveryReadiness.ListCrossAccountAuthorizations+import Amazonka.Route53RecoveryReadiness.ListReadinessChecks+import Amazonka.Route53RecoveryReadiness.ListRecoveryGroups+import Amazonka.Route53RecoveryReadiness.ListResourceSets+import Amazonka.Route53RecoveryReadiness.ListRules+import Amazonka.Route53RecoveryReadiness.ListTagsForResources+import Amazonka.Route53RecoveryReadiness.TagResource+import Amazonka.Route53RecoveryReadiness.Types.CellOutput+import Amazonka.Route53RecoveryReadiness.Types.DNSTargetResource+import Amazonka.Route53RecoveryReadiness.Types.ListRulesOutput+import Amazonka.Route53RecoveryReadiness.Types.Message+import Amazonka.Route53RecoveryReadiness.Types.NLBResource+import Amazonka.Route53RecoveryReadiness.Types.R53ResourceRecord+import Amazonka.Route53RecoveryReadiness.Types.ReadinessCheckOutput+import Amazonka.Route53RecoveryReadiness.Types.ReadinessCheckSummary+import Amazonka.Route53RecoveryReadiness.Types.Recommendation+import Amazonka.Route53RecoveryReadiness.Types.RecoveryGroupOutput+import Amazonka.Route53RecoveryReadiness.Types.Resource+import Amazonka.Route53RecoveryReadiness.Types.ResourceResult+import Amazonka.Route53RecoveryReadiness.Types.ResourceSetOutput+import Amazonka.Route53RecoveryReadiness.Types.RuleResult+import Amazonka.Route53RecoveryReadiness.Types.TargetResource+import Amazonka.Route53RecoveryReadiness.UntagResource+import Amazonka.Route53RecoveryReadiness.UpdateCell+import Amazonka.Route53RecoveryReadiness.UpdateReadinessCheck+import Amazonka.Route53RecoveryReadiness.UpdateRecoveryGroup+import Amazonka.Route53RecoveryReadiness.UpdateResourceSet
+ gen/Amazonka/Route53RecoveryReadiness/ListCells.hs view
@@ -0,0 +1,208 @@+{-# 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.Route53RecoveryReadiness.ListCells+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the cells for an account.+--+-- This operation returns paginated results.+module Amazonka.Route53RecoveryReadiness.ListCells+  ( -- * Creating a Request+    ListCells (..),+    newListCells,++    -- * Request Lenses+    listCells_maxResults,+    listCells_nextToken,++    -- * Destructuring the Response+    ListCellsResponse (..),+    newListCellsResponse,++    -- * Response Lenses+    listCellsResponse_cells,+    listCellsResponse_nextToken,+    listCellsResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newListCells' smart constructor.+data ListCells = ListCells'+  { -- | The number of objects that you want to return with this call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCells' 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', 'listCells_maxResults' - The number of objects that you want to return with this call.+--+-- 'nextToken', 'listCells_nextToken' - The token that identifies which batch of results you want to see.+newListCells ::+  ListCells+newListCells =+  ListCells'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The number of objects that you want to return with this call.+listCells_maxResults :: Lens.Lens' ListCells (Prelude.Maybe Prelude.Natural)+listCells_maxResults = Lens.lens (\ListCells' {maxResults} -> maxResults) (\s@ListCells' {} a -> s {maxResults = a} :: ListCells)++-- | The token that identifies which batch of results you want to see.+listCells_nextToken :: Lens.Lens' ListCells (Prelude.Maybe Prelude.Text)+listCells_nextToken = Lens.lens (\ListCells' {nextToken} -> nextToken) (\s@ListCells' {} a -> s {nextToken = a} :: ListCells)++instance Core.AWSPager ListCells where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listCellsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listCellsResponse_cells+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listCells_nextToken+          Lens..~ rs+          Lens.^? listCellsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListCells where+  type AWSResponse ListCells = ListCellsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListCellsResponse'+            Prelude.<$> (x Data..?> "cells" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListCells where+  hashWithSalt _salt ListCells' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListCells where+  rnf ListCells' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListCells where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListCells where+  toPath = Prelude.const "/cells"++instance Data.ToQuery ListCells where+  toQuery ListCells' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListCellsResponse' smart constructor.+data ListCellsResponse = ListCellsResponse'+  { -- | A list of cells.+    cells :: Prelude.Maybe [CellOutput],+    -- | The token that identifies which batch of results you want to see.+    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 'ListCellsResponse' 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:+--+-- 'cells', 'listCellsResponse_cells' - A list of cells.+--+-- 'nextToken', 'listCellsResponse_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'httpStatus', 'listCellsResponse_httpStatus' - The response's http status code.+newListCellsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListCellsResponse+newListCellsResponse pHttpStatus_ =+  ListCellsResponse'+    { cells = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of cells.+listCellsResponse_cells :: Lens.Lens' ListCellsResponse (Prelude.Maybe [CellOutput])+listCellsResponse_cells = Lens.lens (\ListCellsResponse' {cells} -> cells) (\s@ListCellsResponse' {} a -> s {cells = a} :: ListCellsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that identifies which batch of results you want to see.+listCellsResponse_nextToken :: Lens.Lens' ListCellsResponse (Prelude.Maybe Prelude.Text)+listCellsResponse_nextToken = Lens.lens (\ListCellsResponse' {nextToken} -> nextToken) (\s@ListCellsResponse' {} a -> s {nextToken = a} :: ListCellsResponse)++-- | The response's http status code.+listCellsResponse_httpStatus :: Lens.Lens' ListCellsResponse Prelude.Int+listCellsResponse_httpStatus = Lens.lens (\ListCellsResponse' {httpStatus} -> httpStatus) (\s@ListCellsResponse' {} a -> s {httpStatus = a} :: ListCellsResponse)++instance Prelude.NFData ListCellsResponse where+  rnf ListCellsResponse' {..} =+    Prelude.rnf cells+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/ListCrossAccountAuthorizations.hs view
@@ -0,0 +1,234 @@+{-# 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.Route53RecoveryReadiness.ListCrossAccountAuthorizations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the cross-account readiness authorizations that are in place for+-- an account.+--+-- This operation returns paginated results.+module Amazonka.Route53RecoveryReadiness.ListCrossAccountAuthorizations+  ( -- * Creating a Request+    ListCrossAccountAuthorizations (..),+    newListCrossAccountAuthorizations,++    -- * Request Lenses+    listCrossAccountAuthorizations_maxResults,+    listCrossAccountAuthorizations_nextToken,++    -- * Destructuring the Response+    ListCrossAccountAuthorizationsResponse (..),+    newListCrossAccountAuthorizationsResponse,++    -- * Response Lenses+    listCrossAccountAuthorizationsResponse_crossAccountAuthorizations,+    listCrossAccountAuthorizationsResponse_nextToken,+    listCrossAccountAuthorizationsResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newListCrossAccountAuthorizations' smart constructor.+data ListCrossAccountAuthorizations = ListCrossAccountAuthorizations'+  { -- | The number of objects that you want to return with this call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCrossAccountAuthorizations' 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', 'listCrossAccountAuthorizations_maxResults' - The number of objects that you want to return with this call.+--+-- 'nextToken', 'listCrossAccountAuthorizations_nextToken' - The token that identifies which batch of results you want to see.+newListCrossAccountAuthorizations ::+  ListCrossAccountAuthorizations+newListCrossAccountAuthorizations =+  ListCrossAccountAuthorizations'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The number of objects that you want to return with this call.+listCrossAccountAuthorizations_maxResults :: Lens.Lens' ListCrossAccountAuthorizations (Prelude.Maybe Prelude.Natural)+listCrossAccountAuthorizations_maxResults = Lens.lens (\ListCrossAccountAuthorizations' {maxResults} -> maxResults) (\s@ListCrossAccountAuthorizations' {} a -> s {maxResults = a} :: ListCrossAccountAuthorizations)++-- | The token that identifies which batch of results you want to see.+listCrossAccountAuthorizations_nextToken :: Lens.Lens' ListCrossAccountAuthorizations (Prelude.Maybe Prelude.Text)+listCrossAccountAuthorizations_nextToken = Lens.lens (\ListCrossAccountAuthorizations' {nextToken} -> nextToken) (\s@ListCrossAccountAuthorizations' {} a -> s {nextToken = a} :: ListCrossAccountAuthorizations)++instance Core.AWSPager ListCrossAccountAuthorizations where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listCrossAccountAuthorizationsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listCrossAccountAuthorizationsResponse_crossAccountAuthorizations+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listCrossAccountAuthorizations_nextToken+          Lens..~ rs+          Lens.^? listCrossAccountAuthorizationsResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    ListCrossAccountAuthorizations+  where+  type+    AWSResponse ListCrossAccountAuthorizations =+      ListCrossAccountAuthorizationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListCrossAccountAuthorizationsResponse'+            Prelude.<$> ( x+                            Data..?> "crossAccountAuthorizations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListCrossAccountAuthorizations+  where+  hashWithSalt+    _salt+    ListCrossAccountAuthorizations' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken++instance+  Prelude.NFData+    ListCrossAccountAuthorizations+  where+  rnf ListCrossAccountAuthorizations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance+  Data.ToHeaders+    ListCrossAccountAuthorizations+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListCrossAccountAuthorizations where+  toPath = Prelude.const "/crossaccountauthorizations"++instance Data.ToQuery ListCrossAccountAuthorizations where+  toQuery ListCrossAccountAuthorizations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListCrossAccountAuthorizationsResponse' smart constructor.+data ListCrossAccountAuthorizationsResponse = ListCrossAccountAuthorizationsResponse'+  { -- | A list of cross-account authorizations.+    crossAccountAuthorizations :: Prelude.Maybe [Prelude.Text],+    -- | The token that identifies which batch of results you want to see.+    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 'ListCrossAccountAuthorizationsResponse' 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:+--+-- 'crossAccountAuthorizations', 'listCrossAccountAuthorizationsResponse_crossAccountAuthorizations' - A list of cross-account authorizations.+--+-- 'nextToken', 'listCrossAccountAuthorizationsResponse_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'httpStatus', 'listCrossAccountAuthorizationsResponse_httpStatus' - The response's http status code.+newListCrossAccountAuthorizationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListCrossAccountAuthorizationsResponse+newListCrossAccountAuthorizationsResponse+  pHttpStatus_ =+    ListCrossAccountAuthorizationsResponse'+      { crossAccountAuthorizations =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | A list of cross-account authorizations.+listCrossAccountAuthorizationsResponse_crossAccountAuthorizations :: Lens.Lens' ListCrossAccountAuthorizationsResponse (Prelude.Maybe [Prelude.Text])+listCrossAccountAuthorizationsResponse_crossAccountAuthorizations = Lens.lens (\ListCrossAccountAuthorizationsResponse' {crossAccountAuthorizations} -> crossAccountAuthorizations) (\s@ListCrossAccountAuthorizationsResponse' {} a -> s {crossAccountAuthorizations = a} :: ListCrossAccountAuthorizationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that identifies which batch of results you want to see.+listCrossAccountAuthorizationsResponse_nextToken :: Lens.Lens' ListCrossAccountAuthorizationsResponse (Prelude.Maybe Prelude.Text)+listCrossAccountAuthorizationsResponse_nextToken = Lens.lens (\ListCrossAccountAuthorizationsResponse' {nextToken} -> nextToken) (\s@ListCrossAccountAuthorizationsResponse' {} a -> s {nextToken = a} :: ListCrossAccountAuthorizationsResponse)++-- | The response's http status code.+listCrossAccountAuthorizationsResponse_httpStatus :: Lens.Lens' ListCrossAccountAuthorizationsResponse Prelude.Int+listCrossAccountAuthorizationsResponse_httpStatus = Lens.lens (\ListCrossAccountAuthorizationsResponse' {httpStatus} -> httpStatus) (\s@ListCrossAccountAuthorizationsResponse' {} a -> s {httpStatus = a} :: ListCrossAccountAuthorizationsResponse)++instance+  Prelude.NFData+    ListCrossAccountAuthorizationsResponse+  where+  rnf ListCrossAccountAuthorizationsResponse' {..} =+    Prelude.rnf crossAccountAuthorizations+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/ListReadinessChecks.hs view
@@ -0,0 +1,214 @@+{-# 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.Route53RecoveryReadiness.ListReadinessChecks+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the readiness checks for an account.+--+-- This operation returns paginated results.+module Amazonka.Route53RecoveryReadiness.ListReadinessChecks+  ( -- * Creating a Request+    ListReadinessChecks (..),+    newListReadinessChecks,++    -- * Request Lenses+    listReadinessChecks_maxResults,+    listReadinessChecks_nextToken,++    -- * Destructuring the Response+    ListReadinessChecksResponse (..),+    newListReadinessChecksResponse,++    -- * Response Lenses+    listReadinessChecksResponse_nextToken,+    listReadinessChecksResponse_readinessChecks,+    listReadinessChecksResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newListReadinessChecks' smart constructor.+data ListReadinessChecks = ListReadinessChecks'+  { -- | The number of objects that you want to return with this call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReadinessChecks' 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', 'listReadinessChecks_maxResults' - The number of objects that you want to return with this call.+--+-- 'nextToken', 'listReadinessChecks_nextToken' - The token that identifies which batch of results you want to see.+newListReadinessChecks ::+  ListReadinessChecks+newListReadinessChecks =+  ListReadinessChecks'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The number of objects that you want to return with this call.+listReadinessChecks_maxResults :: Lens.Lens' ListReadinessChecks (Prelude.Maybe Prelude.Natural)+listReadinessChecks_maxResults = Lens.lens (\ListReadinessChecks' {maxResults} -> maxResults) (\s@ListReadinessChecks' {} a -> s {maxResults = a} :: ListReadinessChecks)++-- | The token that identifies which batch of results you want to see.+listReadinessChecks_nextToken :: Lens.Lens' ListReadinessChecks (Prelude.Maybe Prelude.Text)+listReadinessChecks_nextToken = Lens.lens (\ListReadinessChecks' {nextToken} -> nextToken) (\s@ListReadinessChecks' {} a -> s {nextToken = a} :: ListReadinessChecks)++instance Core.AWSPager ListReadinessChecks where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listReadinessChecksResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listReadinessChecksResponse_readinessChecks+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listReadinessChecks_nextToken+          Lens..~ rs+          Lens.^? listReadinessChecksResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListReadinessChecks where+  type+    AWSResponse ListReadinessChecks =+      ListReadinessChecksResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListReadinessChecksResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> ( x+                            Data..?> "readinessChecks"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListReadinessChecks where+  hashWithSalt _salt ListReadinessChecks' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListReadinessChecks where+  rnf ListReadinessChecks' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListReadinessChecks where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListReadinessChecks where+  toPath = Prelude.const "/readinesschecks"++instance Data.ToQuery ListReadinessChecks where+  toQuery ListReadinessChecks' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListReadinessChecksResponse' smart constructor.+data ListReadinessChecksResponse = ListReadinessChecksResponse'+  { -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of readiness checks associated with the account.+    readinessChecks :: Prelude.Maybe [ReadinessCheckOutput],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReadinessChecksResponse' 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:+--+-- 'nextToken', 'listReadinessChecksResponse_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'readinessChecks', 'listReadinessChecksResponse_readinessChecks' - A list of readiness checks associated with the account.+--+-- 'httpStatus', 'listReadinessChecksResponse_httpStatus' - The response's http status code.+newListReadinessChecksResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListReadinessChecksResponse+newListReadinessChecksResponse pHttpStatus_ =+  ListReadinessChecksResponse'+    { nextToken =+        Prelude.Nothing,+      readinessChecks = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token that identifies which batch of results you want to see.+listReadinessChecksResponse_nextToken :: Lens.Lens' ListReadinessChecksResponse (Prelude.Maybe Prelude.Text)+listReadinessChecksResponse_nextToken = Lens.lens (\ListReadinessChecksResponse' {nextToken} -> nextToken) (\s@ListReadinessChecksResponse' {} a -> s {nextToken = a} :: ListReadinessChecksResponse)++-- | A list of readiness checks associated with the account.+listReadinessChecksResponse_readinessChecks :: Lens.Lens' ListReadinessChecksResponse (Prelude.Maybe [ReadinessCheckOutput])+listReadinessChecksResponse_readinessChecks = Lens.lens (\ListReadinessChecksResponse' {readinessChecks} -> readinessChecks) (\s@ListReadinessChecksResponse' {} a -> s {readinessChecks = a} :: ListReadinessChecksResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listReadinessChecksResponse_httpStatus :: Lens.Lens' ListReadinessChecksResponse Prelude.Int+listReadinessChecksResponse_httpStatus = Lens.lens (\ListReadinessChecksResponse' {httpStatus} -> httpStatus) (\s@ListReadinessChecksResponse' {} a -> s {httpStatus = a} :: ListReadinessChecksResponse)++instance Prelude.NFData ListReadinessChecksResponse where+  rnf ListReadinessChecksResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf readinessChecks+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/ListRecoveryGroups.hs view
@@ -0,0 +1,211 @@+{-# 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.Route53RecoveryReadiness.ListRecoveryGroups+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the recovery groups in an account.+--+-- This operation returns paginated results.+module Amazonka.Route53RecoveryReadiness.ListRecoveryGroups+  ( -- * Creating a Request+    ListRecoveryGroups (..),+    newListRecoveryGroups,++    -- * Request Lenses+    listRecoveryGroups_maxResults,+    listRecoveryGroups_nextToken,++    -- * Destructuring the Response+    ListRecoveryGroupsResponse (..),+    newListRecoveryGroupsResponse,++    -- * Response Lenses+    listRecoveryGroupsResponse_nextToken,+    listRecoveryGroupsResponse_recoveryGroups,+    listRecoveryGroupsResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newListRecoveryGroups' smart constructor.+data ListRecoveryGroups = ListRecoveryGroups'+  { -- | The number of objects that you want to return with this call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRecoveryGroups' 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', 'listRecoveryGroups_maxResults' - The number of objects that you want to return with this call.+--+-- 'nextToken', 'listRecoveryGroups_nextToken' - The token that identifies which batch of results you want to see.+newListRecoveryGroups ::+  ListRecoveryGroups+newListRecoveryGroups =+  ListRecoveryGroups'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The number of objects that you want to return with this call.+listRecoveryGroups_maxResults :: Lens.Lens' ListRecoveryGroups (Prelude.Maybe Prelude.Natural)+listRecoveryGroups_maxResults = Lens.lens (\ListRecoveryGroups' {maxResults} -> maxResults) (\s@ListRecoveryGroups' {} a -> s {maxResults = a} :: ListRecoveryGroups)++-- | The token that identifies which batch of results you want to see.+listRecoveryGroups_nextToken :: Lens.Lens' ListRecoveryGroups (Prelude.Maybe Prelude.Text)+listRecoveryGroups_nextToken = Lens.lens (\ListRecoveryGroups' {nextToken} -> nextToken) (\s@ListRecoveryGroups' {} a -> s {nextToken = a} :: ListRecoveryGroups)++instance Core.AWSPager ListRecoveryGroups where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listRecoveryGroupsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listRecoveryGroupsResponse_recoveryGroups+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listRecoveryGroups_nextToken+          Lens..~ rs+          Lens.^? listRecoveryGroupsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListRecoveryGroups where+  type+    AWSResponse ListRecoveryGroups =+      ListRecoveryGroupsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListRecoveryGroupsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "recoveryGroups" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListRecoveryGroups where+  hashWithSalt _salt ListRecoveryGroups' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListRecoveryGroups where+  rnf ListRecoveryGroups' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListRecoveryGroups where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListRecoveryGroups where+  toPath = Prelude.const "/recoverygroups"++instance Data.ToQuery ListRecoveryGroups where+  toQuery ListRecoveryGroups' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListRecoveryGroupsResponse' smart constructor.+data ListRecoveryGroupsResponse = ListRecoveryGroupsResponse'+  { -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of recovery groups.+    recoveryGroups :: Prelude.Maybe [RecoveryGroupOutput],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRecoveryGroupsResponse' 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:+--+-- 'nextToken', 'listRecoveryGroupsResponse_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'recoveryGroups', 'listRecoveryGroupsResponse_recoveryGroups' - A list of recovery groups.+--+-- 'httpStatus', 'listRecoveryGroupsResponse_httpStatus' - The response's http status code.+newListRecoveryGroupsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListRecoveryGroupsResponse+newListRecoveryGroupsResponse pHttpStatus_ =+  ListRecoveryGroupsResponse'+    { nextToken =+        Prelude.Nothing,+      recoveryGroups = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token that identifies which batch of results you want to see.+listRecoveryGroupsResponse_nextToken :: Lens.Lens' ListRecoveryGroupsResponse (Prelude.Maybe Prelude.Text)+listRecoveryGroupsResponse_nextToken = Lens.lens (\ListRecoveryGroupsResponse' {nextToken} -> nextToken) (\s@ListRecoveryGroupsResponse' {} a -> s {nextToken = a} :: ListRecoveryGroupsResponse)++-- | A list of recovery groups.+listRecoveryGroupsResponse_recoveryGroups :: Lens.Lens' ListRecoveryGroupsResponse (Prelude.Maybe [RecoveryGroupOutput])+listRecoveryGroupsResponse_recoveryGroups = Lens.lens (\ListRecoveryGroupsResponse' {recoveryGroups} -> recoveryGroups) (\s@ListRecoveryGroupsResponse' {} a -> s {recoveryGroups = a} :: ListRecoveryGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listRecoveryGroupsResponse_httpStatus :: Lens.Lens' ListRecoveryGroupsResponse Prelude.Int+listRecoveryGroupsResponse_httpStatus = Lens.lens (\ListRecoveryGroupsResponse' {httpStatus} -> httpStatus) (\s@ListRecoveryGroupsResponse' {} a -> s {httpStatus = a} :: ListRecoveryGroupsResponse)++instance Prelude.NFData ListRecoveryGroupsResponse where+  rnf ListRecoveryGroupsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf recoveryGroups+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/ListResourceSets.hs view
@@ -0,0 +1,211 @@+{-# 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.Route53RecoveryReadiness.ListResourceSets+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the resource sets in an account.+--+-- This operation returns paginated results.+module Amazonka.Route53RecoveryReadiness.ListResourceSets+  ( -- * Creating a Request+    ListResourceSets (..),+    newListResourceSets,++    -- * Request Lenses+    listResourceSets_maxResults,+    listResourceSets_nextToken,++    -- * Destructuring the Response+    ListResourceSetsResponse (..),+    newListResourceSetsResponse,++    -- * Response Lenses+    listResourceSetsResponse_nextToken,+    listResourceSetsResponse_resourceSets,+    listResourceSetsResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newListResourceSets' smart constructor.+data ListResourceSets = ListResourceSets'+  { -- | The number of objects that you want to return with this call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourceSets' 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', 'listResourceSets_maxResults' - The number of objects that you want to return with this call.+--+-- 'nextToken', 'listResourceSets_nextToken' - The token that identifies which batch of results you want to see.+newListResourceSets ::+  ListResourceSets+newListResourceSets =+  ListResourceSets'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The number of objects that you want to return with this call.+listResourceSets_maxResults :: Lens.Lens' ListResourceSets (Prelude.Maybe Prelude.Natural)+listResourceSets_maxResults = Lens.lens (\ListResourceSets' {maxResults} -> maxResults) (\s@ListResourceSets' {} a -> s {maxResults = a} :: ListResourceSets)++-- | The token that identifies which batch of results you want to see.+listResourceSets_nextToken :: Lens.Lens' ListResourceSets (Prelude.Maybe Prelude.Text)+listResourceSets_nextToken = Lens.lens (\ListResourceSets' {nextToken} -> nextToken) (\s@ListResourceSets' {} a -> s {nextToken = a} :: ListResourceSets)++instance Core.AWSPager ListResourceSets where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listResourceSetsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listResourceSetsResponse_resourceSets+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listResourceSets_nextToken+          Lens..~ rs+          Lens.^? listResourceSetsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListResourceSets where+  type+    AWSResponse ListResourceSets =+      ListResourceSetsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListResourceSetsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "resourceSets" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListResourceSets where+  hashWithSalt _salt ListResourceSets' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListResourceSets where+  rnf ListResourceSets' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListResourceSets where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListResourceSets where+  toPath = Prelude.const "/resourcesets"++instance Data.ToQuery ListResourceSets where+  toQuery ListResourceSets' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListResourceSetsResponse' smart constructor.+data ListResourceSetsResponse = ListResourceSetsResponse'+  { -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of resource sets associated with the account.+    resourceSets :: Prelude.Maybe [ResourceSetOutput],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourceSetsResponse' 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:+--+-- 'nextToken', 'listResourceSetsResponse_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'resourceSets', 'listResourceSetsResponse_resourceSets' - A list of resource sets associated with the account.+--+-- 'httpStatus', 'listResourceSetsResponse_httpStatus' - The response's http status code.+newListResourceSetsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListResourceSetsResponse+newListResourceSetsResponse pHttpStatus_ =+  ListResourceSetsResponse'+    { nextToken =+        Prelude.Nothing,+      resourceSets = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token that identifies which batch of results you want to see.+listResourceSetsResponse_nextToken :: Lens.Lens' ListResourceSetsResponse (Prelude.Maybe Prelude.Text)+listResourceSetsResponse_nextToken = Lens.lens (\ListResourceSetsResponse' {nextToken} -> nextToken) (\s@ListResourceSetsResponse' {} a -> s {nextToken = a} :: ListResourceSetsResponse)++-- | A list of resource sets associated with the account.+listResourceSetsResponse_resourceSets :: Lens.Lens' ListResourceSetsResponse (Prelude.Maybe [ResourceSetOutput])+listResourceSetsResponse_resourceSets = Lens.lens (\ListResourceSetsResponse' {resourceSets} -> resourceSets) (\s@ListResourceSetsResponse' {} a -> s {resourceSets = a} :: ListResourceSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listResourceSetsResponse_httpStatus :: Lens.Lens' ListResourceSetsResponse Prelude.Int+listResourceSetsResponse_httpStatus = Lens.lens (\ListResourceSetsResponse' {httpStatus} -> httpStatus) (\s@ListResourceSetsResponse' {} a -> s {httpStatus = a} :: ListResourceSetsResponse)++instance Prelude.NFData ListResourceSetsResponse where+  rnf ListResourceSetsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceSets+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/ListRules.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Route53RecoveryReadiness.ListRules+-- 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 readiness rules, or lists the readiness rules for a specific+-- resource type.+--+-- This operation returns paginated results.+module Amazonka.Route53RecoveryReadiness.ListRules+  ( -- * Creating a Request+    ListRules (..),+    newListRules,++    -- * Request Lenses+    listRules_maxResults,+    listRules_nextToken,+    listRules_resourceType,++    -- * Destructuring the Response+    ListRulesResponse (..),+    newListRulesResponse,++    -- * Response Lenses+    listRulesResponse_nextToken,+    listRulesResponse_rules,+    listRulesResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newListRules' smart constructor.+data ListRules = ListRules'+  { -- | The number of objects that you want to return with this call.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The resource type that a readiness rule applies to.+    resourceType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRules' 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', 'listRules_maxResults' - The number of objects that you want to return with this call.+--+-- 'nextToken', 'listRules_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'resourceType', 'listRules_resourceType' - The resource type that a readiness rule applies to.+newListRules ::+  ListRules+newListRules =+  ListRules'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      resourceType = Prelude.Nothing+    }++-- | The number of objects that you want to return with this call.+listRules_maxResults :: Lens.Lens' ListRules (Prelude.Maybe Prelude.Natural)+listRules_maxResults = Lens.lens (\ListRules' {maxResults} -> maxResults) (\s@ListRules' {} a -> s {maxResults = a} :: ListRules)++-- | The token that identifies which batch of results you want to see.+listRules_nextToken :: Lens.Lens' ListRules (Prelude.Maybe Prelude.Text)+listRules_nextToken = Lens.lens (\ListRules' {nextToken} -> nextToken) (\s@ListRules' {} a -> s {nextToken = a} :: ListRules)++-- | The resource type that a readiness rule applies to.+listRules_resourceType :: Lens.Lens' ListRules (Prelude.Maybe Prelude.Text)+listRules_resourceType = Lens.lens (\ListRules' {resourceType} -> resourceType) (\s@ListRules' {} a -> s {resourceType = a} :: ListRules)++instance Core.AWSPager ListRules where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listRulesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listRulesResponse_rules+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listRules_nextToken+          Lens..~ rs+          Lens.^? listRulesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListRules where+  type AWSResponse ListRules = ListRulesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListRulesResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "rules" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListRules where+  hashWithSalt _salt ListRules' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData ListRules where+  rnf ListRules' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceType++instance Data.ToHeaders ListRules where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListRules where+  toPath = Prelude.const "/rules"++instance Data.ToQuery ListRules where+  toQuery ListRules' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "resourceType" Data.=: resourceType+      ]++-- | /See:/ 'newListRulesResponse' smart constructor.+data ListRulesResponse = ListRulesResponse'+  { -- | The token that identifies which batch of results you want to see.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of readiness rules for a specific resource type.+    rules :: Prelude.Maybe [ListRulesOutput],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRulesResponse' 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:+--+-- 'nextToken', 'listRulesResponse_nextToken' - The token that identifies which batch of results you want to see.+--+-- 'rules', 'listRulesResponse_rules' - A list of readiness rules for a specific resource type.+--+-- 'httpStatus', 'listRulesResponse_httpStatus' - The response's http status code.+newListRulesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListRulesResponse+newListRulesResponse pHttpStatus_ =+  ListRulesResponse'+    { nextToken = Prelude.Nothing,+      rules = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token that identifies which batch of results you want to see.+listRulesResponse_nextToken :: Lens.Lens' ListRulesResponse (Prelude.Maybe Prelude.Text)+listRulesResponse_nextToken = Lens.lens (\ListRulesResponse' {nextToken} -> nextToken) (\s@ListRulesResponse' {} a -> s {nextToken = a} :: ListRulesResponse)++-- | A list of readiness rules for a specific resource type.+listRulesResponse_rules :: Lens.Lens' ListRulesResponse (Prelude.Maybe [ListRulesOutput])+listRulesResponse_rules = Lens.lens (\ListRulesResponse' {rules} -> rules) (\s@ListRulesResponse' {} a -> s {rules = a} :: ListRulesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listRulesResponse_httpStatus :: Lens.Lens' ListRulesResponse Prelude.Int+listRulesResponse_httpStatus = Lens.lens (\ListRulesResponse' {httpStatus} -> httpStatus) (\s@ListRulesResponse' {} a -> s {httpStatus = a} :: ListRulesResponse)++instance Prelude.NFData ListRulesResponse where+  rnf ListRulesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf rules+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/ListTagsForResources.hs view
@@ -0,0 +1,157 @@+{-# 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.Route53RecoveryReadiness.ListTagsForResources+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags for a resource.+module Amazonka.Route53RecoveryReadiness.ListTagsForResources+  ( -- * Creating a Request+    ListTagsForResources (..),+    newListTagsForResources,++    -- * Request Lenses+    listTagsForResources_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourcesResponse (..),+    newListTagsForResourcesResponse,++    -- * Response Lenses+    listTagsForResourcesResponse_tags,+    listTagsForResourcesResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newListTagsForResources' smart constructor.+data ListTagsForResources = ListTagsForResources'+  { -- | The Amazon Resource Name (ARN) for a resource.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResources' 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', 'listTagsForResources_resourceArn' - The Amazon Resource Name (ARN) for a resource.+newListTagsForResources ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResources+newListTagsForResources pResourceArn_ =+  ListTagsForResources' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) for a resource.+listTagsForResources_resourceArn :: Lens.Lens' ListTagsForResources Prelude.Text+listTagsForResources_resourceArn = Lens.lens (\ListTagsForResources' {resourceArn} -> resourceArn) (\s@ListTagsForResources' {} a -> s {resourceArn = a} :: ListTagsForResources)++instance Core.AWSRequest ListTagsForResources where+  type+    AWSResponse ListTagsForResources =+      ListTagsForResourcesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourcesResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResources where+  hashWithSalt _salt ListTagsForResources' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResources where+  rnf ListTagsForResources' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResources where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTagsForResources where+  toPath ListTagsForResources' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResources where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourcesResponse' smart constructor.+data ListTagsForResourcesResponse = ListTagsForResourcesResponse'+  { tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourcesResponse' 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', 'listTagsForResourcesResponse_tags' -+--+-- 'httpStatus', 'listTagsForResourcesResponse_httpStatus' - The response's http status code.+newListTagsForResourcesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourcesResponse+newListTagsForResourcesResponse pHttpStatus_ =+  ListTagsForResourcesResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++listTagsForResourcesResponse_tags :: Lens.Lens' ListTagsForResourcesResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourcesResponse_tags = Lens.lens (\ListTagsForResourcesResponse' {tags} -> tags) (\s@ListTagsForResourcesResponse' {} a -> s {tags = a} :: ListTagsForResourcesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourcesResponse_httpStatus :: Lens.Lens' ListTagsForResourcesResponse Prelude.Int+listTagsForResourcesResponse_httpStatus = Lens.lens (\ListTagsForResourcesResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourcesResponse' {} a -> s {httpStatus = a} :: ListTagsForResourcesResponse)++instance Prelude.NFData ListTagsForResourcesResponse where+  rnf ListTagsForResourcesResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/TagResource.hs view
@@ -0,0 +1,161 @@+{-# 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.Route53RecoveryReadiness.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 a tag to a resource.+module Amazonka.Route53RecoveryReadiness.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) for a resource.+    resourceArn :: Prelude.Text,+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) for a resource.+--+-- 'tags', 'tagResource_tags' -+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) for a resource.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++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'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  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.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/Types.hs view
@@ -0,0 +1,279 @@+{-# 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.Route53RecoveryReadiness.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.Route53RecoveryReadiness.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ThrottlingException,+    _ValidationException,++    -- * Readiness+    Readiness (..),++    -- * CellOutput+    CellOutput (..),+    newCellOutput,+    cellOutput_tags,+    cellOutput_parentReadinessScopes,+    cellOutput_cellArn,+    cellOutput_cellName,+    cellOutput_cells,++    -- * DNSTargetResource+    DNSTargetResource (..),+    newDNSTargetResource,+    dNSTargetResource_domainName,+    dNSTargetResource_hostedZoneArn,+    dNSTargetResource_recordSetId,+    dNSTargetResource_recordType,+    dNSTargetResource_targetResource,++    -- * ListRulesOutput+    ListRulesOutput (..),+    newListRulesOutput,+    listRulesOutput_ruleDescription,+    listRulesOutput_ruleId,+    listRulesOutput_resourceType,++    -- * Message+    Message (..),+    newMessage,+    message_messageText,++    -- * NLBResource+    NLBResource (..),+    newNLBResource,+    nLBResource_arn,++    -- * R53ResourceRecord+    R53ResourceRecord (..),+    newR53ResourceRecord,+    r53ResourceRecord_domainName,+    r53ResourceRecord_recordSetId,++    -- * ReadinessCheckOutput+    ReadinessCheckOutput (..),+    newReadinessCheckOutput,+    readinessCheckOutput_readinessCheckName,+    readinessCheckOutput_tags,+    readinessCheckOutput_readinessCheckArn,+    readinessCheckOutput_resourceSet,++    -- * ReadinessCheckSummary+    ReadinessCheckSummary (..),+    newReadinessCheckSummary,+    readinessCheckSummary_readiness,+    readinessCheckSummary_readinessCheckName,++    -- * Recommendation+    Recommendation (..),+    newRecommendation,+    recommendation_recommendationText,++    -- * RecoveryGroupOutput+    RecoveryGroupOutput (..),+    newRecoveryGroupOutput,+    recoveryGroupOutput_tags,+    recoveryGroupOutput_recoveryGroupArn,+    recoveryGroupOutput_recoveryGroupName,+    recoveryGroupOutput_cells,++    -- * Resource+    Resource (..),+    newResource,+    resource_componentId,+    resource_dnsTargetResource,+    resource_readinessScopes,+    resource_resourceArn,++    -- * ResourceResult+    ResourceResult (..),+    newResourceResult,+    resourceResult_componentId,+    resourceResult_resourceArn,+    resourceResult_readiness,+    resourceResult_lastCheckedTimestamp,++    -- * ResourceSetOutput+    ResourceSetOutput (..),+    newResourceSetOutput,+    resourceSetOutput_tags,+    resourceSetOutput_resourceSetType,+    resourceSetOutput_resourceSetName,+    resourceSetOutput_resourceSetArn,+    resourceSetOutput_resources,++    -- * RuleResult+    RuleResult (..),+    newRuleResult,+    ruleResult_messages,+    ruleResult_readiness,+    ruleResult_ruleId,+    ruleResult_lastCheckedTimestamp,++    -- * TargetResource+    TargetResource (..),+    newTargetResource,+    targetResource_nLBResource,+    targetResource_r53Resource,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import Amazonka.Route53RecoveryReadiness.Types.CellOutput+import Amazonka.Route53RecoveryReadiness.Types.DNSTargetResource+import Amazonka.Route53RecoveryReadiness.Types.ListRulesOutput+import Amazonka.Route53RecoveryReadiness.Types.Message+import Amazonka.Route53RecoveryReadiness.Types.NLBResource+import Amazonka.Route53RecoveryReadiness.Types.R53ResourceRecord+import Amazonka.Route53RecoveryReadiness.Types.Readiness+import Amazonka.Route53RecoveryReadiness.Types.ReadinessCheckOutput+import Amazonka.Route53RecoveryReadiness.Types.ReadinessCheckSummary+import Amazonka.Route53RecoveryReadiness.Types.Recommendation+import Amazonka.Route53RecoveryReadiness.Types.RecoveryGroupOutput+import Amazonka.Route53RecoveryReadiness.Types.Resource+import Amazonka.Route53RecoveryReadiness.Types.ResourceResult+import Amazonka.Route53RecoveryReadiness.Types.ResourceSetOutput+import Amazonka.Route53RecoveryReadiness.Types.RuleResult+import Amazonka.Route53RecoveryReadiness.Types.TargetResource+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2019-12-02@ of the Amazon Route53 Recovery Readiness SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev =+        "Route53RecoveryReadiness",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "route53-recovery-readiness",+      Core.signingName = "route53-recovery-readiness",+      Core.version = "2019-12-02",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error =+        Core.parseJSONError "Route53RecoveryReadiness",+      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++-- | User does 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++-- | Updating or deleting a resource can cause an inconsistent state.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | An unexpected error occurred.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | The requested resource does not exist.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | 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 input fails to satisfy the constraints specified by an AWS service.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/Route53RecoveryReadiness/Types/CellOutput.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Route53RecoveryReadiness.Types.CellOutput+-- 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.Route53RecoveryReadiness.Types.CellOutput 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 cell.+--+-- /See:/ 'newCellOutput' smart constructor.+data CellOutput = CellOutput'+  { -- | Tags on the resources.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The readiness scope for the cell, which can be a cell Amazon Resource+    -- Name (ARN) or a recovery group ARN. This is a list but currently can+    -- have only one element.+    parentReadinessScopes :: [Prelude.Text],+    -- | The Amazon Resource Name (ARN) for the cell.+    cellArn :: Prelude.Text,+    -- | The name of the cell.+    cellName :: Prelude.Text,+    -- | A list of cell ARNs.+    cells :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CellOutput' 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', 'cellOutput_tags' - Tags on the resources.+--+-- 'parentReadinessScopes', 'cellOutput_parentReadinessScopes' - The readiness scope for the cell, which can be a cell Amazon Resource+-- Name (ARN) or a recovery group ARN. This is a list but currently can+-- have only one element.+--+-- 'cellArn', 'cellOutput_cellArn' - The Amazon Resource Name (ARN) for the cell.+--+-- 'cellName', 'cellOutput_cellName' - The name of the cell.+--+-- 'cells', 'cellOutput_cells' - A list of cell ARNs.+newCellOutput ::+  -- | 'cellArn'+  Prelude.Text ->+  -- | 'cellName'+  Prelude.Text ->+  CellOutput+newCellOutput pCellArn_ pCellName_ =+  CellOutput'+    { tags = Prelude.Nothing,+      parentReadinessScopes = Prelude.mempty,+      cellArn = pCellArn_,+      cellName = pCellName_,+      cells = Prelude.mempty+    }++-- | Tags on the resources.+cellOutput_tags :: Lens.Lens' CellOutput (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+cellOutput_tags = Lens.lens (\CellOutput' {tags} -> tags) (\s@CellOutput' {} a -> s {tags = a} :: CellOutput) Prelude.. Lens.mapping Lens.coerced++-- | The readiness scope for the cell, which can be a cell Amazon Resource+-- Name (ARN) or a recovery group ARN. This is a list but currently can+-- have only one element.+cellOutput_parentReadinessScopes :: Lens.Lens' CellOutput [Prelude.Text]+cellOutput_parentReadinessScopes = Lens.lens (\CellOutput' {parentReadinessScopes} -> parentReadinessScopes) (\s@CellOutput' {} a -> s {parentReadinessScopes = a} :: CellOutput) Prelude.. Lens.coerced++-- | The Amazon Resource Name (ARN) for the cell.+cellOutput_cellArn :: Lens.Lens' CellOutput Prelude.Text+cellOutput_cellArn = Lens.lens (\CellOutput' {cellArn} -> cellArn) (\s@CellOutput' {} a -> s {cellArn = a} :: CellOutput)++-- | The name of the cell.+cellOutput_cellName :: Lens.Lens' CellOutput Prelude.Text+cellOutput_cellName = Lens.lens (\CellOutput' {cellName} -> cellName) (\s@CellOutput' {} a -> s {cellName = a} :: CellOutput)++-- | A list of cell ARNs.+cellOutput_cells :: Lens.Lens' CellOutput [Prelude.Text]+cellOutput_cells = Lens.lens (\CellOutput' {cells} -> cells) (\s@CellOutput' {} a -> s {cells = a} :: CellOutput) Prelude.. Lens.coerced++instance Data.FromJSON CellOutput where+  parseJSON =+    Data.withObject+      "CellOutput"+      ( \x ->+          CellOutput'+            Prelude.<$> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "parentReadinessScopes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "cellArn")+            Prelude.<*> (x Data..: "cellName")+            Prelude.<*> (x Data..:? "cells" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable CellOutput where+  hashWithSalt _salt CellOutput' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` parentReadinessScopes+      `Prelude.hashWithSalt` cellArn+      `Prelude.hashWithSalt` cellName+      `Prelude.hashWithSalt` cells++instance Prelude.NFData CellOutput where+  rnf CellOutput' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf parentReadinessScopes+      `Prelude.seq` Prelude.rnf cellArn+      `Prelude.seq` Prelude.rnf cellName+      `Prelude.seq` Prelude.rnf cells
+ gen/Amazonka/Route53RecoveryReadiness/Types/DNSTargetResource.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.Route53RecoveryReadiness.Types.DNSTargetResource+-- 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.Route53RecoveryReadiness.Types.DNSTargetResource 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+import Amazonka.Route53RecoveryReadiness.Types.TargetResource++-- | A component for DNS\/routing control readiness checks and architecture+-- checks.+--+-- /See:/ 'newDNSTargetResource' smart constructor.+data DNSTargetResource = DNSTargetResource'+  { -- | The domain name that acts as an ingress point to a portion of the+    -- customer application.+    domainName :: Prelude.Maybe Prelude.Text,+    -- | The hosted zone Amazon Resource Name (ARN) that contains the DNS record+    -- with the provided name of the target resource.+    hostedZoneArn :: Prelude.Maybe Prelude.Text,+    -- | The Route 53 record set ID that uniquely identifies a DNS record, given+    -- a name and a type.+    recordSetId :: Prelude.Maybe Prelude.Text,+    -- | The type of DNS record of the target resource.+    recordType :: Prelude.Maybe Prelude.Text,+    -- | The target resource of the DNS target resource.+    targetResource :: Prelude.Maybe TargetResource+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DNSTargetResource' 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:+--+-- 'domainName', 'dNSTargetResource_domainName' - The domain name that acts as an ingress point to a portion of the+-- customer application.+--+-- 'hostedZoneArn', 'dNSTargetResource_hostedZoneArn' - The hosted zone Amazon Resource Name (ARN) that contains the DNS record+-- with the provided name of the target resource.+--+-- 'recordSetId', 'dNSTargetResource_recordSetId' - The Route 53 record set ID that uniquely identifies a DNS record, given+-- a name and a type.+--+-- 'recordType', 'dNSTargetResource_recordType' - The type of DNS record of the target resource.+--+-- 'targetResource', 'dNSTargetResource_targetResource' - The target resource of the DNS target resource.+newDNSTargetResource ::+  DNSTargetResource+newDNSTargetResource =+  DNSTargetResource'+    { domainName = Prelude.Nothing,+      hostedZoneArn = Prelude.Nothing,+      recordSetId = Prelude.Nothing,+      recordType = Prelude.Nothing,+      targetResource = Prelude.Nothing+    }++-- | The domain name that acts as an ingress point to a portion of the+-- customer application.+dNSTargetResource_domainName :: Lens.Lens' DNSTargetResource (Prelude.Maybe Prelude.Text)+dNSTargetResource_domainName = Lens.lens (\DNSTargetResource' {domainName} -> domainName) (\s@DNSTargetResource' {} a -> s {domainName = a} :: DNSTargetResource)++-- | The hosted zone Amazon Resource Name (ARN) that contains the DNS record+-- with the provided name of the target resource.+dNSTargetResource_hostedZoneArn :: Lens.Lens' DNSTargetResource (Prelude.Maybe Prelude.Text)+dNSTargetResource_hostedZoneArn = Lens.lens (\DNSTargetResource' {hostedZoneArn} -> hostedZoneArn) (\s@DNSTargetResource' {} a -> s {hostedZoneArn = a} :: DNSTargetResource)++-- | The Route 53 record set ID that uniquely identifies a DNS record, given+-- a name and a type.+dNSTargetResource_recordSetId :: Lens.Lens' DNSTargetResource (Prelude.Maybe Prelude.Text)+dNSTargetResource_recordSetId = Lens.lens (\DNSTargetResource' {recordSetId} -> recordSetId) (\s@DNSTargetResource' {} a -> s {recordSetId = a} :: DNSTargetResource)++-- | The type of DNS record of the target resource.+dNSTargetResource_recordType :: Lens.Lens' DNSTargetResource (Prelude.Maybe Prelude.Text)+dNSTargetResource_recordType = Lens.lens (\DNSTargetResource' {recordType} -> recordType) (\s@DNSTargetResource' {} a -> s {recordType = a} :: DNSTargetResource)++-- | The target resource of the DNS target resource.+dNSTargetResource_targetResource :: Lens.Lens' DNSTargetResource (Prelude.Maybe TargetResource)+dNSTargetResource_targetResource = Lens.lens (\DNSTargetResource' {targetResource} -> targetResource) (\s@DNSTargetResource' {} a -> s {targetResource = a} :: DNSTargetResource)++instance Data.FromJSON DNSTargetResource where+  parseJSON =+    Data.withObject+      "DNSTargetResource"+      ( \x ->+          DNSTargetResource'+            Prelude.<$> (x Data..:? "domainName")+            Prelude.<*> (x Data..:? "hostedZoneArn")+            Prelude.<*> (x Data..:? "recordSetId")+            Prelude.<*> (x Data..:? "recordType")+            Prelude.<*> (x Data..:? "targetResource")+      )++instance Prelude.Hashable DNSTargetResource where+  hashWithSalt _salt DNSTargetResource' {..} =+    _salt+      `Prelude.hashWithSalt` domainName+      `Prelude.hashWithSalt` hostedZoneArn+      `Prelude.hashWithSalt` recordSetId+      `Prelude.hashWithSalt` recordType+      `Prelude.hashWithSalt` targetResource++instance Prelude.NFData DNSTargetResource where+  rnf DNSTargetResource' {..} =+    Prelude.rnf domainName+      `Prelude.seq` Prelude.rnf hostedZoneArn+      `Prelude.seq` Prelude.rnf recordSetId+      `Prelude.seq` Prelude.rnf recordType+      `Prelude.seq` Prelude.rnf targetResource++instance Data.ToJSON DNSTargetResource where+  toJSON DNSTargetResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("domainName" Data..=) Prelude.<$> domainName,+            ("hostedZoneArn" Data..=) Prelude.<$> hostedZoneArn,+            ("recordSetId" Data..=) Prelude.<$> recordSetId,+            ("recordType" Data..=) Prelude.<$> recordType,+            ("targetResource" Data..=)+              Prelude.<$> targetResource+          ]+      )
+ gen/Amazonka/Route53RecoveryReadiness/Types/ListRulesOutput.hs view
@@ -0,0 +1,107 @@+{-# 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.Route53RecoveryReadiness.Types.ListRulesOutput+-- 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.Route53RecoveryReadiness.Types.ListRulesOutput 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++-- | Readiness rule information, including the resource type, rule ID, and+-- rule description.+--+-- /See:/ 'newListRulesOutput' smart constructor.+data ListRulesOutput = ListRulesOutput'+  { -- | The description of a readiness rule.+    ruleDescription :: Prelude.Text,+    -- | The ID for the readiness rule.+    ruleId :: Prelude.Text,+    -- | The resource type that the readiness rule applies to.+    resourceType :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRulesOutput' 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:+--+-- 'ruleDescription', 'listRulesOutput_ruleDescription' - The description of a readiness rule.+--+-- 'ruleId', 'listRulesOutput_ruleId' - The ID for the readiness rule.+--+-- 'resourceType', 'listRulesOutput_resourceType' - The resource type that the readiness rule applies to.+newListRulesOutput ::+  -- | 'ruleDescription'+  Prelude.Text ->+  -- | 'ruleId'+  Prelude.Text ->+  -- | 'resourceType'+  Prelude.Text ->+  ListRulesOutput+newListRulesOutput+  pRuleDescription_+  pRuleId_+  pResourceType_ =+    ListRulesOutput'+      { ruleDescription =+          pRuleDescription_,+        ruleId = pRuleId_,+        resourceType = pResourceType_+      }++-- | The description of a readiness rule.+listRulesOutput_ruleDescription :: Lens.Lens' ListRulesOutput Prelude.Text+listRulesOutput_ruleDescription = Lens.lens (\ListRulesOutput' {ruleDescription} -> ruleDescription) (\s@ListRulesOutput' {} a -> s {ruleDescription = a} :: ListRulesOutput)++-- | The ID for the readiness rule.+listRulesOutput_ruleId :: Lens.Lens' ListRulesOutput Prelude.Text+listRulesOutput_ruleId = Lens.lens (\ListRulesOutput' {ruleId} -> ruleId) (\s@ListRulesOutput' {} a -> s {ruleId = a} :: ListRulesOutput)++-- | The resource type that the readiness rule applies to.+listRulesOutput_resourceType :: Lens.Lens' ListRulesOutput Prelude.Text+listRulesOutput_resourceType = Lens.lens (\ListRulesOutput' {resourceType} -> resourceType) (\s@ListRulesOutput' {} a -> s {resourceType = a} :: ListRulesOutput)++instance Data.FromJSON ListRulesOutput where+  parseJSON =+    Data.withObject+      "ListRulesOutput"+      ( \x ->+          ListRulesOutput'+            Prelude.<$> (x Data..: "ruleDescription")+            Prelude.<*> (x Data..: "ruleId")+            Prelude.<*> (x Data..: "resourceType")+      )++instance Prelude.Hashable ListRulesOutput where+  hashWithSalt _salt ListRulesOutput' {..} =+    _salt+      `Prelude.hashWithSalt` ruleDescription+      `Prelude.hashWithSalt` ruleId+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData ListRulesOutput where+  rnf ListRulesOutput' {..} =+    Prelude.rnf ruleDescription+      `Prelude.seq` Prelude.rnf ruleId+      `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/Route53RecoveryReadiness/Types/Message.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.Route53RecoveryReadiness.Types.Message+-- 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.Route53RecoveryReadiness.Types.Message 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 relating to readiness check status.+--+-- /See:/ 'newMessage' smart constructor.+data Message = Message'+  { -- | The text of a readiness check message.+    messageText :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Message' 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:+--+-- 'messageText', 'message_messageText' - The text of a readiness check message.+newMessage ::+  Message+newMessage = Message' {messageText = Prelude.Nothing}++-- | The text of a readiness check message.+message_messageText :: Lens.Lens' Message (Prelude.Maybe Prelude.Text)+message_messageText = Lens.lens (\Message' {messageText} -> messageText) (\s@Message' {} a -> s {messageText = a} :: Message)++instance Data.FromJSON Message where+  parseJSON =+    Data.withObject+      "Message"+      ( \x ->+          Message' Prelude.<$> (x Data..:? "messageText")+      )++instance Prelude.Hashable Message where+  hashWithSalt _salt Message' {..} =+    _salt `Prelude.hashWithSalt` messageText++instance Prelude.NFData Message where+  rnf Message' {..} = Prelude.rnf messageText
+ gen/Amazonka/Route53RecoveryReadiness/Types/NLBResource.hs view
@@ -0,0 +1,69 @@+{-# 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.Route53RecoveryReadiness.Types.NLBResource+-- 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.Route53RecoveryReadiness.Types.NLBResource 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++-- | The Network Load Balancer resource that a DNS target resource points to.+--+-- /See:/ 'newNLBResource' smart constructor.+data NLBResource = NLBResource'+  { -- | The Network Load Balancer resource Amazon Resource Name (ARN).+    arn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NLBResource' 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', 'nLBResource_arn' - The Network Load Balancer resource Amazon Resource Name (ARN).+newNLBResource ::+  NLBResource+newNLBResource = NLBResource' {arn = Prelude.Nothing}++-- | The Network Load Balancer resource Amazon Resource Name (ARN).+nLBResource_arn :: Lens.Lens' NLBResource (Prelude.Maybe Prelude.Text)+nLBResource_arn = Lens.lens (\NLBResource' {arn} -> arn) (\s@NLBResource' {} a -> s {arn = a} :: NLBResource)++instance Data.FromJSON NLBResource where+  parseJSON =+    Data.withObject+      "NLBResource"+      (\x -> NLBResource' Prelude.<$> (x Data..:? "arn"))++instance Prelude.Hashable NLBResource where+  hashWithSalt _salt NLBResource' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData NLBResource where+  rnf NLBResource' {..} = Prelude.rnf arn++instance Data.ToJSON NLBResource where+  toJSON NLBResource' {..} =+    Data.object+      (Prelude.catMaybes [("arn" Data..=) Prelude.<$> arn])
+ gen/Amazonka/Route53RecoveryReadiness/Types/R53ResourceRecord.hs view
@@ -0,0 +1,93 @@+{-# 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.Route53RecoveryReadiness.Types.R53ResourceRecord+-- 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.Route53RecoveryReadiness.Types.R53ResourceRecord 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++-- | The Route 53 resource that a DNS target resource record points to.+--+-- /See:/ 'newR53ResourceRecord' smart constructor.+data R53ResourceRecord = R53ResourceRecord'+  { -- | The DNS target domain name.+    domainName :: Prelude.Maybe Prelude.Text,+    -- | The Route 53 Resource Record Set ID.+    recordSetId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'R53ResourceRecord' 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:+--+-- 'domainName', 'r53ResourceRecord_domainName' - The DNS target domain name.+--+-- 'recordSetId', 'r53ResourceRecord_recordSetId' - The Route 53 Resource Record Set ID.+newR53ResourceRecord ::+  R53ResourceRecord+newR53ResourceRecord =+  R53ResourceRecord'+    { domainName = Prelude.Nothing,+      recordSetId = Prelude.Nothing+    }++-- | The DNS target domain name.+r53ResourceRecord_domainName :: Lens.Lens' R53ResourceRecord (Prelude.Maybe Prelude.Text)+r53ResourceRecord_domainName = Lens.lens (\R53ResourceRecord' {domainName} -> domainName) (\s@R53ResourceRecord' {} a -> s {domainName = a} :: R53ResourceRecord)++-- | The Route 53 Resource Record Set ID.+r53ResourceRecord_recordSetId :: Lens.Lens' R53ResourceRecord (Prelude.Maybe Prelude.Text)+r53ResourceRecord_recordSetId = Lens.lens (\R53ResourceRecord' {recordSetId} -> recordSetId) (\s@R53ResourceRecord' {} a -> s {recordSetId = a} :: R53ResourceRecord)++instance Data.FromJSON R53ResourceRecord where+  parseJSON =+    Data.withObject+      "R53ResourceRecord"+      ( \x ->+          R53ResourceRecord'+            Prelude.<$> (x Data..:? "domainName")+            Prelude.<*> (x Data..:? "recordSetId")+      )++instance Prelude.Hashable R53ResourceRecord where+  hashWithSalt _salt R53ResourceRecord' {..} =+    _salt+      `Prelude.hashWithSalt` domainName+      `Prelude.hashWithSalt` recordSetId++instance Prelude.NFData R53ResourceRecord where+  rnf R53ResourceRecord' {..} =+    Prelude.rnf domainName+      `Prelude.seq` Prelude.rnf recordSetId++instance Data.ToJSON R53ResourceRecord where+  toJSON R53ResourceRecord' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("domainName" Data..=) Prelude.<$> domainName,+            ("recordSetId" Data..=) Prelude.<$> recordSetId+          ]+      )
+ gen/Amazonka/Route53RecoveryReadiness/Types/Readiness.hs view
@@ -0,0 +1,82 @@+{-# 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.Route53RecoveryReadiness.Types.Readiness+-- 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.Route53RecoveryReadiness.Types.Readiness+  ( Readiness+      ( ..,+        Readiness_NOT_AUTHORIZED,+        Readiness_NOT_READY,+        Readiness_READY,+        Readiness_UNKNOWN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The readiness status.+newtype Readiness = Readiness'+  { fromReadiness ::+      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 Readiness_NOT_AUTHORIZED :: Readiness+pattern Readiness_NOT_AUTHORIZED = Readiness' "NOT_AUTHORIZED"++pattern Readiness_NOT_READY :: Readiness+pattern Readiness_NOT_READY = Readiness' "NOT_READY"++pattern Readiness_READY :: Readiness+pattern Readiness_READY = Readiness' "READY"++pattern Readiness_UNKNOWN :: Readiness+pattern Readiness_UNKNOWN = Readiness' "UNKNOWN"++{-# COMPLETE+  Readiness_NOT_AUTHORIZED,+  Readiness_NOT_READY,+  Readiness_READY,+  Readiness_UNKNOWN,+  Readiness'+  #-}
+ gen/Amazonka/Route53RecoveryReadiness/Types/ReadinessCheckOutput.hs view
@@ -0,0 +1,114 @@+{-# 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.Route53RecoveryReadiness.Types.ReadinessCheckOutput+-- 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.Route53RecoveryReadiness.Types.ReadinessCheckOutput 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 readiness check.+--+-- /See:/ 'newReadinessCheckOutput' smart constructor.+data ReadinessCheckOutput = ReadinessCheckOutput'+  { -- | Name of a readiness check.+    readinessCheckName :: Prelude.Maybe Prelude.Text,+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) associated with a readiness check.+    readinessCheckArn :: Prelude.Text,+    -- | Name of the resource set to be checked.+    resourceSet :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReadinessCheckOutput' 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:+--+-- 'readinessCheckName', 'readinessCheckOutput_readinessCheckName' - Name of a readiness check.+--+-- 'tags', 'readinessCheckOutput_tags' - Undocumented member.+--+-- 'readinessCheckArn', 'readinessCheckOutput_readinessCheckArn' - The Amazon Resource Name (ARN) associated with a readiness check.+--+-- 'resourceSet', 'readinessCheckOutput_resourceSet' - Name of the resource set to be checked.+newReadinessCheckOutput ::+  -- | 'readinessCheckArn'+  Prelude.Text ->+  -- | 'resourceSet'+  Prelude.Text ->+  ReadinessCheckOutput+newReadinessCheckOutput+  pReadinessCheckArn_+  pResourceSet_ =+    ReadinessCheckOutput'+      { readinessCheckName =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        readinessCheckArn = pReadinessCheckArn_,+        resourceSet = pResourceSet_+      }++-- | Name of a readiness check.+readinessCheckOutput_readinessCheckName :: Lens.Lens' ReadinessCheckOutput (Prelude.Maybe Prelude.Text)+readinessCheckOutput_readinessCheckName = Lens.lens (\ReadinessCheckOutput' {readinessCheckName} -> readinessCheckName) (\s@ReadinessCheckOutput' {} a -> s {readinessCheckName = a} :: ReadinessCheckOutput)++-- | Undocumented member.+readinessCheckOutput_tags :: Lens.Lens' ReadinessCheckOutput (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+readinessCheckOutput_tags = Lens.lens (\ReadinessCheckOutput' {tags} -> tags) (\s@ReadinessCheckOutput' {} a -> s {tags = a} :: ReadinessCheckOutput) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) associated with a readiness check.+readinessCheckOutput_readinessCheckArn :: Lens.Lens' ReadinessCheckOutput Prelude.Text+readinessCheckOutput_readinessCheckArn = Lens.lens (\ReadinessCheckOutput' {readinessCheckArn} -> readinessCheckArn) (\s@ReadinessCheckOutput' {} a -> s {readinessCheckArn = a} :: ReadinessCheckOutput)++-- | Name of the resource set to be checked.+readinessCheckOutput_resourceSet :: Lens.Lens' ReadinessCheckOutput Prelude.Text+readinessCheckOutput_resourceSet = Lens.lens (\ReadinessCheckOutput' {resourceSet} -> resourceSet) (\s@ReadinessCheckOutput' {} a -> s {resourceSet = a} :: ReadinessCheckOutput)++instance Data.FromJSON ReadinessCheckOutput where+  parseJSON =+    Data.withObject+      "ReadinessCheckOutput"+      ( \x ->+          ReadinessCheckOutput'+            Prelude.<$> (x Data..:? "readinessCheckName")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "readinessCheckArn")+            Prelude.<*> (x Data..: "resourceSet")+      )++instance Prelude.Hashable ReadinessCheckOutput where+  hashWithSalt _salt ReadinessCheckOutput' {..} =+    _salt+      `Prelude.hashWithSalt` readinessCheckName+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` readinessCheckArn+      `Prelude.hashWithSalt` resourceSet++instance Prelude.NFData ReadinessCheckOutput where+  rnf ReadinessCheckOutput' {..} =+    Prelude.rnf readinessCheckName+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf readinessCheckArn+      `Prelude.seq` Prelude.rnf resourceSet
+ gen/Amazonka/Route53RecoveryReadiness/Types/ReadinessCheckSummary.hs view
@@ -0,0 +1,86 @@+{-# 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.Route53RecoveryReadiness.Types.ReadinessCheckSummary+-- 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.Route53RecoveryReadiness.Types.ReadinessCheckSummary 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+import Amazonka.Route53RecoveryReadiness.Types.Readiness++-- | Summary of all readiness check statuses in a recovery group, paginated+-- in GetRecoveryGroupReadinessSummary and GetCellReadinessSummary.+--+-- /See:/ 'newReadinessCheckSummary' smart constructor.+data ReadinessCheckSummary = ReadinessCheckSummary'+  { -- | The readiness status of this readiness check.+    readiness :: Prelude.Maybe Readiness,+    -- | The name of a readiness check.+    readinessCheckName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReadinessCheckSummary' 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:+--+-- 'readiness', 'readinessCheckSummary_readiness' - The readiness status of this readiness check.+--+-- 'readinessCheckName', 'readinessCheckSummary_readinessCheckName' - The name of a readiness check.+newReadinessCheckSummary ::+  ReadinessCheckSummary+newReadinessCheckSummary =+  ReadinessCheckSummary'+    { readiness = Prelude.Nothing,+      readinessCheckName = Prelude.Nothing+    }++-- | The readiness status of this readiness check.+readinessCheckSummary_readiness :: Lens.Lens' ReadinessCheckSummary (Prelude.Maybe Readiness)+readinessCheckSummary_readiness = Lens.lens (\ReadinessCheckSummary' {readiness} -> readiness) (\s@ReadinessCheckSummary' {} a -> s {readiness = a} :: ReadinessCheckSummary)++-- | The name of a readiness check.+readinessCheckSummary_readinessCheckName :: Lens.Lens' ReadinessCheckSummary (Prelude.Maybe Prelude.Text)+readinessCheckSummary_readinessCheckName = Lens.lens (\ReadinessCheckSummary' {readinessCheckName} -> readinessCheckName) (\s@ReadinessCheckSummary' {} a -> s {readinessCheckName = a} :: ReadinessCheckSummary)++instance Data.FromJSON ReadinessCheckSummary where+  parseJSON =+    Data.withObject+      "ReadinessCheckSummary"+      ( \x ->+          ReadinessCheckSummary'+            Prelude.<$> (x Data..:? "readiness")+            Prelude.<*> (x Data..:? "readinessCheckName")+      )++instance Prelude.Hashable ReadinessCheckSummary where+  hashWithSalt _salt ReadinessCheckSummary' {..} =+    _salt+      `Prelude.hashWithSalt` readiness+      `Prelude.hashWithSalt` readinessCheckName++instance Prelude.NFData ReadinessCheckSummary where+  rnf ReadinessCheckSummary' {..} =+    Prelude.rnf readiness+      `Prelude.seq` Prelude.rnf readinessCheckName
+ gen/Amazonka/Route53RecoveryReadiness/Types/Recommendation.hs view
@@ -0,0 +1,78 @@+{-# 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.Route53RecoveryReadiness.Types.Recommendation+-- 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.Route53RecoveryReadiness.Types.Recommendation 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++-- | Recommendations that are provided to make an application more recovery+-- resilient.+--+-- /See:/ 'newRecommendation' smart constructor.+data Recommendation = Recommendation'+  { -- | Text of the recommendations that are provided to make an application+    -- more recovery resilient.+    recommendationText :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Recommendation' 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:+--+-- 'recommendationText', 'recommendation_recommendationText' - Text of the recommendations that are provided to make an application+-- more recovery resilient.+newRecommendation ::+  -- | 'recommendationText'+  Prelude.Text ->+  Recommendation+newRecommendation pRecommendationText_ =+  Recommendation'+    { recommendationText =+        pRecommendationText_+    }++-- | Text of the recommendations that are provided to make an application+-- more recovery resilient.+recommendation_recommendationText :: Lens.Lens' Recommendation Prelude.Text+recommendation_recommendationText = Lens.lens (\Recommendation' {recommendationText} -> recommendationText) (\s@Recommendation' {} a -> s {recommendationText = a} :: Recommendation)++instance Data.FromJSON Recommendation where+  parseJSON =+    Data.withObject+      "Recommendation"+      ( \x ->+          Recommendation'+            Prelude.<$> (x Data..: "recommendationText")+      )++instance Prelude.Hashable Recommendation where+  hashWithSalt _salt Recommendation' {..} =+    _salt `Prelude.hashWithSalt` recommendationText++instance Prelude.NFData Recommendation where+  rnf Recommendation' {..} =+    Prelude.rnf recommendationText
+ gen/Amazonka/Route53RecoveryReadiness/Types/RecoveryGroupOutput.hs view
@@ -0,0 +1,115 @@+{-# 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.Route53RecoveryReadiness.Types.RecoveryGroupOutput+-- 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.Route53RecoveryReadiness.Types.RecoveryGroupOutput 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 representation of the application, typically containing multiple+-- cells.+--+-- /See:/ 'newRecoveryGroupOutput' smart constructor.+data RecoveryGroupOutput = RecoveryGroupOutput'+  { -- | The tags associated with the recovery group.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) for the recovery group.+    recoveryGroupArn :: Prelude.Text,+    -- | The name of the recovery group.+    recoveryGroupName :: Prelude.Text,+    -- | A list of a cell\'s Amazon Resource Names (ARNs).+    cells :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecoveryGroupOutput' 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', 'recoveryGroupOutput_tags' - The tags associated with the recovery group.+--+-- 'recoveryGroupArn', 'recoveryGroupOutput_recoveryGroupArn' - The Amazon Resource Name (ARN) for the recovery group.+--+-- 'recoveryGroupName', 'recoveryGroupOutput_recoveryGroupName' - The name of the recovery group.+--+-- 'cells', 'recoveryGroupOutput_cells' - A list of a cell\'s Amazon Resource Names (ARNs).+newRecoveryGroupOutput ::+  -- | 'recoveryGroupArn'+  Prelude.Text ->+  -- | 'recoveryGroupName'+  Prelude.Text ->+  RecoveryGroupOutput+newRecoveryGroupOutput+  pRecoveryGroupArn_+  pRecoveryGroupName_ =+    RecoveryGroupOutput'+      { tags = Prelude.Nothing,+        recoveryGroupArn = pRecoveryGroupArn_,+        recoveryGroupName = pRecoveryGroupName_,+        cells = Prelude.mempty+      }++-- | The tags associated with the recovery group.+recoveryGroupOutput_tags :: Lens.Lens' RecoveryGroupOutput (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+recoveryGroupOutput_tags = Lens.lens (\RecoveryGroupOutput' {tags} -> tags) (\s@RecoveryGroupOutput' {} a -> s {tags = a} :: RecoveryGroupOutput) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) for the recovery group.+recoveryGroupOutput_recoveryGroupArn :: Lens.Lens' RecoveryGroupOutput Prelude.Text+recoveryGroupOutput_recoveryGroupArn = Lens.lens (\RecoveryGroupOutput' {recoveryGroupArn} -> recoveryGroupArn) (\s@RecoveryGroupOutput' {} a -> s {recoveryGroupArn = a} :: RecoveryGroupOutput)++-- | The name of the recovery group.+recoveryGroupOutput_recoveryGroupName :: Lens.Lens' RecoveryGroupOutput Prelude.Text+recoveryGroupOutput_recoveryGroupName = Lens.lens (\RecoveryGroupOutput' {recoveryGroupName} -> recoveryGroupName) (\s@RecoveryGroupOutput' {} a -> s {recoveryGroupName = a} :: RecoveryGroupOutput)++-- | A list of a cell\'s Amazon Resource Names (ARNs).+recoveryGroupOutput_cells :: Lens.Lens' RecoveryGroupOutput [Prelude.Text]+recoveryGroupOutput_cells = Lens.lens (\RecoveryGroupOutput' {cells} -> cells) (\s@RecoveryGroupOutput' {} a -> s {cells = a} :: RecoveryGroupOutput) Prelude.. Lens.coerced++instance Data.FromJSON RecoveryGroupOutput where+  parseJSON =+    Data.withObject+      "RecoveryGroupOutput"+      ( \x ->+          RecoveryGroupOutput'+            Prelude.<$> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "recoveryGroupArn")+            Prelude.<*> (x Data..: "recoveryGroupName")+            Prelude.<*> (x Data..:? "cells" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable RecoveryGroupOutput where+  hashWithSalt _salt RecoveryGroupOutput' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` recoveryGroupArn+      `Prelude.hashWithSalt` recoveryGroupName+      `Prelude.hashWithSalt` cells++instance Prelude.NFData RecoveryGroupOutput where+  rnf RecoveryGroupOutput' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf recoveryGroupArn+      `Prelude.seq` Prelude.rnf recoveryGroupName+      `Prelude.seq` Prelude.rnf cells
+ gen/Amazonka/Route53RecoveryReadiness/Types/Resource.hs view
@@ -0,0 +1,131 @@+{-# 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.Route53RecoveryReadiness.Types.Resource+-- 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.Route53RecoveryReadiness.Types.Resource 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+import Amazonka.Route53RecoveryReadiness.Types.DNSTargetResource++-- | The resource element of a resource set.+--+-- /See:/ 'newResource' smart constructor.+data Resource = Resource'+  { -- | The component identifier of the resource, generated when DNS target+    -- resource is used.+    componentId :: Prelude.Maybe Prelude.Text,+    -- | The DNS target resource.+    dnsTargetResource :: Prelude.Maybe DNSTargetResource,+    -- | A list of recovery group Amazon Resource Names (ARNs) and cell ARNs that+    -- this resource is contained within.+    readinessScopes :: Prelude.Maybe [Prelude.Text],+    -- | The Amazon Resource Name (ARN) of the Amazon Web Services resource.+    resourceArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Resource' 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:+--+-- 'componentId', 'resource_componentId' - The component identifier of the resource, generated when DNS target+-- resource is used.+--+-- 'dnsTargetResource', 'resource_dnsTargetResource' - The DNS target resource.+--+-- 'readinessScopes', 'resource_readinessScopes' - A list of recovery group Amazon Resource Names (ARNs) and cell ARNs that+-- this resource is contained within.+--+-- 'resourceArn', 'resource_resourceArn' - The Amazon Resource Name (ARN) of the Amazon Web Services resource.+newResource ::+  Resource+newResource =+  Resource'+    { componentId = Prelude.Nothing,+      dnsTargetResource = Prelude.Nothing,+      readinessScopes = Prelude.Nothing,+      resourceArn = Prelude.Nothing+    }++-- | The component identifier of the resource, generated when DNS target+-- resource is used.+resource_componentId :: Lens.Lens' Resource (Prelude.Maybe Prelude.Text)+resource_componentId = Lens.lens (\Resource' {componentId} -> componentId) (\s@Resource' {} a -> s {componentId = a} :: Resource)++-- | The DNS target resource.+resource_dnsTargetResource :: Lens.Lens' Resource (Prelude.Maybe DNSTargetResource)+resource_dnsTargetResource = Lens.lens (\Resource' {dnsTargetResource} -> dnsTargetResource) (\s@Resource' {} a -> s {dnsTargetResource = a} :: Resource)++-- | A list of recovery group Amazon Resource Names (ARNs) and cell ARNs that+-- this resource is contained within.+resource_readinessScopes :: Lens.Lens' Resource (Prelude.Maybe [Prelude.Text])+resource_readinessScopes = Lens.lens (\Resource' {readinessScopes} -> readinessScopes) (\s@Resource' {} a -> s {readinessScopes = a} :: Resource) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the Amazon Web Services resource.+resource_resourceArn :: Lens.Lens' Resource (Prelude.Maybe Prelude.Text)+resource_resourceArn = Lens.lens (\Resource' {resourceArn} -> resourceArn) (\s@Resource' {} a -> s {resourceArn = a} :: Resource)++instance Data.FromJSON Resource where+  parseJSON =+    Data.withObject+      "Resource"+      ( \x ->+          Resource'+            Prelude.<$> (x Data..:? "componentId")+            Prelude.<*> (x Data..:? "dnsTargetResource")+            Prelude.<*> ( x+                            Data..:? "readinessScopes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "resourceArn")+      )++instance Prelude.Hashable Resource where+  hashWithSalt _salt Resource' {..} =+    _salt+      `Prelude.hashWithSalt` componentId+      `Prelude.hashWithSalt` dnsTargetResource+      `Prelude.hashWithSalt` readinessScopes+      `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData Resource where+  rnf Resource' {..} =+    Prelude.rnf componentId+      `Prelude.seq` Prelude.rnf dnsTargetResource+      `Prelude.seq` Prelude.rnf readinessScopes+      `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToJSON Resource where+  toJSON Resource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("componentId" Data..=) Prelude.<$> componentId,+            ("dnsTargetResource" Data..=)+              Prelude.<$> dnsTargetResource,+            ("readinessScopes" Data..=)+              Prelude.<$> readinessScopes,+            ("resourceArn" Data..=) Prelude.<$> resourceArn+          ]+      )
+ gen/Amazonka/Route53RecoveryReadiness/Types/ResourceResult.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.Route53RecoveryReadiness.Types.ResourceResult+-- 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.Route53RecoveryReadiness.Types.ResourceResult 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+import Amazonka.Route53RecoveryReadiness.Types.Readiness++-- | The result of a successful Resource request, with status for an+-- individual resource.+--+-- /See:/ 'newResourceResult' smart constructor.+data ResourceResult = ResourceResult'+  { -- | The component id of the resource.+    componentId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The readiness of a resource.+    readiness :: Readiness,+    -- | The time (UTC) that the resource was last checked for readiness, in+    -- ISO-8601 format.+    lastCheckedTimestamp :: Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceResult' 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:+--+-- 'componentId', 'resourceResult_componentId' - The component id of the resource.+--+-- 'resourceArn', 'resourceResult_resourceArn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'readiness', 'resourceResult_readiness' - The readiness of a resource.+--+-- 'lastCheckedTimestamp', 'resourceResult_lastCheckedTimestamp' - The time (UTC) that the resource was last checked for readiness, in+-- ISO-8601 format.+newResourceResult ::+  -- | 'readiness'+  Readiness ->+  -- | 'lastCheckedTimestamp'+  Prelude.UTCTime ->+  ResourceResult+newResourceResult pReadiness_ pLastCheckedTimestamp_ =+  ResourceResult'+    { componentId = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      readiness = pReadiness_,+      lastCheckedTimestamp =+        Data._Time Lens.# pLastCheckedTimestamp_+    }++-- | The component id of the resource.+resourceResult_componentId :: Lens.Lens' ResourceResult (Prelude.Maybe Prelude.Text)+resourceResult_componentId = Lens.lens (\ResourceResult' {componentId} -> componentId) (\s@ResourceResult' {} a -> s {componentId = a} :: ResourceResult)++-- | The Amazon Resource Name (ARN) of the resource.+resourceResult_resourceArn :: Lens.Lens' ResourceResult (Prelude.Maybe Prelude.Text)+resourceResult_resourceArn = Lens.lens (\ResourceResult' {resourceArn} -> resourceArn) (\s@ResourceResult' {} a -> s {resourceArn = a} :: ResourceResult)++-- | The readiness of a resource.+resourceResult_readiness :: Lens.Lens' ResourceResult Readiness+resourceResult_readiness = Lens.lens (\ResourceResult' {readiness} -> readiness) (\s@ResourceResult' {} a -> s {readiness = a} :: ResourceResult)++-- | The time (UTC) that the resource was last checked for readiness, in+-- ISO-8601 format.+resourceResult_lastCheckedTimestamp :: Lens.Lens' ResourceResult Prelude.UTCTime+resourceResult_lastCheckedTimestamp = Lens.lens (\ResourceResult' {lastCheckedTimestamp} -> lastCheckedTimestamp) (\s@ResourceResult' {} a -> s {lastCheckedTimestamp = a} :: ResourceResult) Prelude.. Data._Time++instance Data.FromJSON ResourceResult where+  parseJSON =+    Data.withObject+      "ResourceResult"+      ( \x ->+          ResourceResult'+            Prelude.<$> (x Data..:? "componentId")+            Prelude.<*> (x Data..:? "resourceArn")+            Prelude.<*> (x Data..: "readiness")+            Prelude.<*> (x Data..: "lastCheckedTimestamp")+      )++instance Prelude.Hashable ResourceResult where+  hashWithSalt _salt ResourceResult' {..} =+    _salt+      `Prelude.hashWithSalt` componentId+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` readiness+      `Prelude.hashWithSalt` lastCheckedTimestamp++instance Prelude.NFData ResourceResult where+  rnf ResourceResult' {..} =+    Prelude.rnf componentId+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf readiness+      `Prelude.seq` Prelude.rnf lastCheckedTimestamp
+ gen/Amazonka/Route53RecoveryReadiness/Types/ResourceSetOutput.hs view
@@ -0,0 +1,162 @@+{-# 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.Route53RecoveryReadiness.Types.ResourceSetOutput+-- 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.Route53RecoveryReadiness.Types.ResourceSetOutput 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+import Amazonka.Route53RecoveryReadiness.Types.Resource++-- | A collection of resources of the same type.+--+-- /See:/ 'newResourceSetOutput' smart constructor.+data ResourceSetOutput = ResourceSetOutput'+  { tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The resource type of the resources in the resource set. Enter one of the+    -- following values for resource type:+    --+    -- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+    -- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+    -- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+    -- AWS::ElasticLoadBalancing::LoadBalancer,+    -- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+    -- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+    -- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+    -- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+    -- AWS::Route53RecoveryReadiness::DNSTargetResource+    resourceSetType :: Prelude.Text,+    -- | The name of the resource set.+    resourceSetName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the resource set.+    resourceSetArn :: Prelude.Text,+    -- | A list of resource objects.+    resources :: [Resource]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceSetOutput' 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', 'resourceSetOutput_tags' - Undocumented member.+--+-- 'resourceSetType', 'resourceSetOutput_resourceSetType' - The resource type of the resources in the resource set. Enter one of the+-- following values for resource type:+--+-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+-- AWS::ElasticLoadBalancing::LoadBalancer,+-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+-- AWS::Route53RecoveryReadiness::DNSTargetResource+--+-- 'resourceSetName', 'resourceSetOutput_resourceSetName' - The name of the resource set.+--+-- 'resourceSetArn', 'resourceSetOutput_resourceSetArn' - The Amazon Resource Name (ARN) for the resource set.+--+-- 'resources', 'resourceSetOutput_resources' - A list of resource objects.+newResourceSetOutput ::+  -- | 'resourceSetType'+  Prelude.Text ->+  -- | 'resourceSetName'+  Prelude.Text ->+  -- | 'resourceSetArn'+  Prelude.Text ->+  ResourceSetOutput+newResourceSetOutput+  pResourceSetType_+  pResourceSetName_+  pResourceSetArn_ =+    ResourceSetOutput'+      { tags = Prelude.Nothing,+        resourceSetType = pResourceSetType_,+        resourceSetName = pResourceSetName_,+        resourceSetArn = pResourceSetArn_,+        resources = Prelude.mempty+      }++-- | Undocumented member.+resourceSetOutput_tags :: Lens.Lens' ResourceSetOutput (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+resourceSetOutput_tags = Lens.lens (\ResourceSetOutput' {tags} -> tags) (\s@ResourceSetOutput' {} a -> s {tags = a} :: ResourceSetOutput) Prelude.. Lens.mapping Lens.coerced++-- | The resource type of the resources in the resource set. Enter one of the+-- following values for resource type:+--+-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+-- AWS::ElasticLoadBalancing::LoadBalancer,+-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+-- AWS::Route53RecoveryReadiness::DNSTargetResource+resourceSetOutput_resourceSetType :: Lens.Lens' ResourceSetOutput Prelude.Text+resourceSetOutput_resourceSetType = Lens.lens (\ResourceSetOutput' {resourceSetType} -> resourceSetType) (\s@ResourceSetOutput' {} a -> s {resourceSetType = a} :: ResourceSetOutput)++-- | The name of the resource set.+resourceSetOutput_resourceSetName :: Lens.Lens' ResourceSetOutput Prelude.Text+resourceSetOutput_resourceSetName = Lens.lens (\ResourceSetOutput' {resourceSetName} -> resourceSetName) (\s@ResourceSetOutput' {} a -> s {resourceSetName = a} :: ResourceSetOutput)++-- | The Amazon Resource Name (ARN) for the resource set.+resourceSetOutput_resourceSetArn :: Lens.Lens' ResourceSetOutput Prelude.Text+resourceSetOutput_resourceSetArn = Lens.lens (\ResourceSetOutput' {resourceSetArn} -> resourceSetArn) (\s@ResourceSetOutput' {} a -> s {resourceSetArn = a} :: ResourceSetOutput)++-- | A list of resource objects.+resourceSetOutput_resources :: Lens.Lens' ResourceSetOutput [Resource]+resourceSetOutput_resources = Lens.lens (\ResourceSetOutput' {resources} -> resources) (\s@ResourceSetOutput' {} a -> s {resources = a} :: ResourceSetOutput) Prelude.. Lens.coerced++instance Data.FromJSON ResourceSetOutput where+  parseJSON =+    Data.withObject+      "ResourceSetOutput"+      ( \x ->+          ResourceSetOutput'+            Prelude.<$> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "resourceSetType")+            Prelude.<*> (x Data..: "resourceSetName")+            Prelude.<*> (x Data..: "resourceSetArn")+            Prelude.<*> (x Data..:? "resources" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable ResourceSetOutput where+  hashWithSalt _salt ResourceSetOutput' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` resourceSetType+      `Prelude.hashWithSalt` resourceSetName+      `Prelude.hashWithSalt` resourceSetArn+      `Prelude.hashWithSalt` resources++instance Prelude.NFData ResourceSetOutput where+  rnf ResourceSetOutput' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf resourceSetType+      `Prelude.seq` Prelude.rnf resourceSetName+      `Prelude.seq` Prelude.rnf resourceSetArn+      `Prelude.seq` Prelude.rnf resources
+ gen/Amazonka/Route53RecoveryReadiness/Types/RuleResult.hs view
@@ -0,0 +1,124 @@+{-# 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.Route53RecoveryReadiness.Types.RuleResult+-- 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.Route53RecoveryReadiness.Types.RuleResult 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+import Amazonka.Route53RecoveryReadiness.Types.Message+import Amazonka.Route53RecoveryReadiness.Types.Readiness++-- | The result of a successful Rule request, with status for an individual+-- rule.+--+-- /See:/ 'newRuleResult' smart constructor.+data RuleResult = RuleResult'+  { -- | Details about the resource\'s readiness.+    messages :: [Message],+    -- | The readiness at rule level.+    readiness :: Readiness,+    -- | The identifier of the rule.+    ruleId :: Prelude.Text,+    -- | The time the resource was last checked for readiness, in ISO-8601+    -- format, UTC.+    lastCheckedTimestamp :: Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RuleResult' 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:+--+-- 'messages', 'ruleResult_messages' - Details about the resource\'s readiness.+--+-- 'readiness', 'ruleResult_readiness' - The readiness at rule level.+--+-- 'ruleId', 'ruleResult_ruleId' - The identifier of the rule.+--+-- 'lastCheckedTimestamp', 'ruleResult_lastCheckedTimestamp' - The time the resource was last checked for readiness, in ISO-8601+-- format, UTC.+newRuleResult ::+  -- | 'readiness'+  Readiness ->+  -- | 'ruleId'+  Prelude.Text ->+  -- | 'lastCheckedTimestamp'+  Prelude.UTCTime ->+  RuleResult+newRuleResult+  pReadiness_+  pRuleId_+  pLastCheckedTimestamp_ =+    RuleResult'+      { messages = Prelude.mempty,+        readiness = pReadiness_,+        ruleId = pRuleId_,+        lastCheckedTimestamp =+          Data._Time Lens.# pLastCheckedTimestamp_+      }++-- | Details about the resource\'s readiness.+ruleResult_messages :: Lens.Lens' RuleResult [Message]+ruleResult_messages = Lens.lens (\RuleResult' {messages} -> messages) (\s@RuleResult' {} a -> s {messages = a} :: RuleResult) Prelude.. Lens.coerced++-- | The readiness at rule level.+ruleResult_readiness :: Lens.Lens' RuleResult Readiness+ruleResult_readiness = Lens.lens (\RuleResult' {readiness} -> readiness) (\s@RuleResult' {} a -> s {readiness = a} :: RuleResult)++-- | The identifier of the rule.+ruleResult_ruleId :: Lens.Lens' RuleResult Prelude.Text+ruleResult_ruleId = Lens.lens (\RuleResult' {ruleId} -> ruleId) (\s@RuleResult' {} a -> s {ruleId = a} :: RuleResult)++-- | The time the resource was last checked for readiness, in ISO-8601+-- format, UTC.+ruleResult_lastCheckedTimestamp :: Lens.Lens' RuleResult Prelude.UTCTime+ruleResult_lastCheckedTimestamp = Lens.lens (\RuleResult' {lastCheckedTimestamp} -> lastCheckedTimestamp) (\s@RuleResult' {} a -> s {lastCheckedTimestamp = a} :: RuleResult) Prelude.. Data._Time++instance Data.FromJSON RuleResult where+  parseJSON =+    Data.withObject+      "RuleResult"+      ( \x ->+          RuleResult'+            Prelude.<$> (x Data..:? "messages" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "readiness")+            Prelude.<*> (x Data..: "ruleId")+            Prelude.<*> (x Data..: "lastCheckedTimestamp")+      )++instance Prelude.Hashable RuleResult where+  hashWithSalt _salt RuleResult' {..} =+    _salt+      `Prelude.hashWithSalt` messages+      `Prelude.hashWithSalt` readiness+      `Prelude.hashWithSalt` ruleId+      `Prelude.hashWithSalt` lastCheckedTimestamp++instance Prelude.NFData RuleResult where+  rnf RuleResult' {..} =+    Prelude.rnf messages+      `Prelude.seq` Prelude.rnf readiness+      `Prelude.seq` Prelude.rnf ruleId+      `Prelude.seq` Prelude.rnf lastCheckedTimestamp
+ gen/Amazonka/Route53RecoveryReadiness/Types/TargetResource.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.Route53RecoveryReadiness.Types.TargetResource+-- 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.Route53RecoveryReadiness.Types.TargetResource 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+import Amazonka.Route53RecoveryReadiness.Types.NLBResource+import Amazonka.Route53RecoveryReadiness.Types.R53ResourceRecord++-- | The target resource that the Route 53 record points to.+--+-- /See:/ 'newTargetResource' smart constructor.+data TargetResource = TargetResource'+  { -- | The Network Load Balancer Resource.+    nLBResource :: Prelude.Maybe NLBResource,+    -- | The Route 53 resource.+    r53Resource :: Prelude.Maybe R53ResourceRecord+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TargetResource' 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:+--+-- 'nLBResource', 'targetResource_nLBResource' - The Network Load Balancer Resource.+--+-- 'r53Resource', 'targetResource_r53Resource' - The Route 53 resource.+newTargetResource ::+  TargetResource+newTargetResource =+  TargetResource'+    { nLBResource = Prelude.Nothing,+      r53Resource = Prelude.Nothing+    }++-- | The Network Load Balancer Resource.+targetResource_nLBResource :: Lens.Lens' TargetResource (Prelude.Maybe NLBResource)+targetResource_nLBResource = Lens.lens (\TargetResource' {nLBResource} -> nLBResource) (\s@TargetResource' {} a -> s {nLBResource = a} :: TargetResource)++-- | The Route 53 resource.+targetResource_r53Resource :: Lens.Lens' TargetResource (Prelude.Maybe R53ResourceRecord)+targetResource_r53Resource = Lens.lens (\TargetResource' {r53Resource} -> r53Resource) (\s@TargetResource' {} a -> s {r53Resource = a} :: TargetResource)++instance Data.FromJSON TargetResource where+  parseJSON =+    Data.withObject+      "TargetResource"+      ( \x ->+          TargetResource'+            Prelude.<$> (x Data..:? "nLBResource")+            Prelude.<*> (x Data..:? "r53Resource")+      )++instance Prelude.Hashable TargetResource where+  hashWithSalt _salt TargetResource' {..} =+    _salt+      `Prelude.hashWithSalt` nLBResource+      `Prelude.hashWithSalt` r53Resource++instance Prelude.NFData TargetResource where+  rnf TargetResource' {..} =+    Prelude.rnf nLBResource+      `Prelude.seq` Prelude.rnf r53Resource++instance Data.ToJSON TargetResource where+  toJSON TargetResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("nLBResource" Data..=) Prelude.<$> nLBResource,+            ("r53Resource" Data..=) Prelude.<$> r53Resource+          ]+      )
+ gen/Amazonka/Route53RecoveryReadiness/UntagResource.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Route53RecoveryReadiness.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)+--+-- Removes a tag from a resource.+module Amazonka.Route53RecoveryReadiness.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_tagKeys,+    untagResource_resourceArn,++    -- * 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 qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The keys for tags you add to resources.+    tagKeys :: [Prelude.Text],+    -- | The Amazon Resource Name (ARN) for a resource.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tagKeys', 'untagResource_tagKeys' - The keys for tags you add to resources.+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) for a resource.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { tagKeys = Prelude.mempty,+      resourceArn = pResourceArn_+    }++-- | The keys for tags you add to resources.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++-- | The Amazon Resource Name (ARN) for a resource.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++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` tagKeys+      `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf tagKeys+      `Prelude.seq` Prelude.rnf resourceArn++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/Route53RecoveryReadiness/UpdateCell.hs view
@@ -0,0 +1,239 @@+{-# 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.Route53RecoveryReadiness.UpdateCell+-- 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 cell to replace the list of nested cells with a new list of+-- nested cells.+module Amazonka.Route53RecoveryReadiness.UpdateCell+  ( -- * Creating a Request+    UpdateCell (..),+    newUpdateCell,++    -- * Request Lenses+    updateCell_cellName,+    updateCell_cells,++    -- * Destructuring the Response+    UpdateCellResponse (..),+    newUpdateCellResponse,++    -- * Response Lenses+    updateCellResponse_cellArn,+    updateCellResponse_cellName,+    updateCellResponse_cells,+    updateCellResponse_parentReadinessScopes,+    updateCellResponse_tags,+    updateCellResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | /See:/ 'newUpdateCell' smart constructor.+data UpdateCell = UpdateCell'+  { -- | The name of the cell.+    cellName :: Prelude.Text,+    -- | A list of cell Amazon Resource Names (ARNs), which completely replaces+    -- the previous list.+    cells :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCell' 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:+--+-- 'cellName', 'updateCell_cellName' - The name of the cell.+--+-- 'cells', 'updateCell_cells' - A list of cell Amazon Resource Names (ARNs), which completely replaces+-- the previous list.+newUpdateCell ::+  -- | 'cellName'+  Prelude.Text ->+  UpdateCell+newUpdateCell pCellName_ =+  UpdateCell'+    { cellName = pCellName_,+      cells = Prelude.mempty+    }++-- | The name of the cell.+updateCell_cellName :: Lens.Lens' UpdateCell Prelude.Text+updateCell_cellName = Lens.lens (\UpdateCell' {cellName} -> cellName) (\s@UpdateCell' {} a -> s {cellName = a} :: UpdateCell)++-- | A list of cell Amazon Resource Names (ARNs), which completely replaces+-- the previous list.+updateCell_cells :: Lens.Lens' UpdateCell [Prelude.Text]+updateCell_cells = Lens.lens (\UpdateCell' {cells} -> cells) (\s@UpdateCell' {} a -> s {cells = a} :: UpdateCell) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateCell where+  type AWSResponse UpdateCell = UpdateCellResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateCellResponse'+            Prelude.<$> (x Data..?> "cellArn")+            Prelude.<*> (x Data..?> "cellName")+            Prelude.<*> (x Data..?> "cells" Core..!@ Prelude.mempty)+            Prelude.<*> ( x+                            Data..?> "parentReadinessScopes"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateCell where+  hashWithSalt _salt UpdateCell' {..} =+    _salt+      `Prelude.hashWithSalt` cellName+      `Prelude.hashWithSalt` cells++instance Prelude.NFData UpdateCell where+  rnf UpdateCell' {..} =+    Prelude.rnf cellName+      `Prelude.seq` Prelude.rnf cells++instance Data.ToHeaders UpdateCell where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateCell where+  toJSON UpdateCell' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("cells" Data..= cells)]+      )++instance Data.ToPath UpdateCell where+  toPath UpdateCell' {..} =+    Prelude.mconcat ["/cells/", Data.toBS cellName]++instance Data.ToQuery UpdateCell where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateCellResponse' smart constructor.+data UpdateCellResponse = UpdateCellResponse'+  { -- | The Amazon Resource Name (ARN) for the cell.+    cellArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the cell.+    cellName :: Prelude.Maybe Prelude.Text,+    -- | A list of cell ARNs.+    cells :: Prelude.Maybe [Prelude.Text],+    -- | The readiness scope for the cell, which can be a cell Amazon Resource+    -- Name (ARN) or a recovery group ARN. This is a list but currently can+    -- have only one element.+    parentReadinessScopes :: Prelude.Maybe [Prelude.Text],+    -- | Tags on the resources.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCellResponse' 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:+--+-- 'cellArn', 'updateCellResponse_cellArn' - The Amazon Resource Name (ARN) for the cell.+--+-- 'cellName', 'updateCellResponse_cellName' - The name of the cell.+--+-- 'cells', 'updateCellResponse_cells' - A list of cell ARNs.+--+-- 'parentReadinessScopes', 'updateCellResponse_parentReadinessScopes' - The readiness scope for the cell, which can be a cell Amazon Resource+-- Name (ARN) or a recovery group ARN. This is a list but currently can+-- have only one element.+--+-- 'tags', 'updateCellResponse_tags' - Tags on the resources.+--+-- 'httpStatus', 'updateCellResponse_httpStatus' - The response's http status code.+newUpdateCellResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateCellResponse+newUpdateCellResponse pHttpStatus_ =+  UpdateCellResponse'+    { cellArn = Prelude.Nothing,+      cellName = Prelude.Nothing,+      cells = Prelude.Nothing,+      parentReadinessScopes = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) for the cell.+updateCellResponse_cellArn :: Lens.Lens' UpdateCellResponse (Prelude.Maybe Prelude.Text)+updateCellResponse_cellArn = Lens.lens (\UpdateCellResponse' {cellArn} -> cellArn) (\s@UpdateCellResponse' {} a -> s {cellArn = a} :: UpdateCellResponse)++-- | The name of the cell.+updateCellResponse_cellName :: Lens.Lens' UpdateCellResponse (Prelude.Maybe Prelude.Text)+updateCellResponse_cellName = Lens.lens (\UpdateCellResponse' {cellName} -> cellName) (\s@UpdateCellResponse' {} a -> s {cellName = a} :: UpdateCellResponse)++-- | A list of cell ARNs.+updateCellResponse_cells :: Lens.Lens' UpdateCellResponse (Prelude.Maybe [Prelude.Text])+updateCellResponse_cells = Lens.lens (\UpdateCellResponse' {cells} -> cells) (\s@UpdateCellResponse' {} a -> s {cells = a} :: UpdateCellResponse) Prelude.. Lens.mapping Lens.coerced++-- | The readiness scope for the cell, which can be a cell Amazon Resource+-- Name (ARN) or a recovery group ARN. This is a list but currently can+-- have only one element.+updateCellResponse_parentReadinessScopes :: Lens.Lens' UpdateCellResponse (Prelude.Maybe [Prelude.Text])+updateCellResponse_parentReadinessScopes = Lens.lens (\UpdateCellResponse' {parentReadinessScopes} -> parentReadinessScopes) (\s@UpdateCellResponse' {} a -> s {parentReadinessScopes = a} :: UpdateCellResponse) Prelude.. Lens.mapping Lens.coerced++-- | Tags on the resources.+updateCellResponse_tags :: Lens.Lens' UpdateCellResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateCellResponse_tags = Lens.lens (\UpdateCellResponse' {tags} -> tags) (\s@UpdateCellResponse' {} a -> s {tags = a} :: UpdateCellResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+updateCellResponse_httpStatus :: Lens.Lens' UpdateCellResponse Prelude.Int+updateCellResponse_httpStatus = Lens.lens (\UpdateCellResponse' {httpStatus} -> httpStatus) (\s@UpdateCellResponse' {} a -> s {httpStatus = a} :: UpdateCellResponse)++instance Prelude.NFData UpdateCellResponse where+  rnf UpdateCellResponse' {..} =+    Prelude.rnf cellArn+      `Prelude.seq` Prelude.rnf cellName+      `Prelude.seq` Prelude.rnf cells+      `Prelude.seq` Prelude.rnf parentReadinessScopes+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/UpdateReadinessCheck.hs view
@@ -0,0 +1,226 @@+{-# 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.Route53RecoveryReadiness.UpdateReadinessCheck+-- 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 readiness check.+module Amazonka.Route53RecoveryReadiness.UpdateReadinessCheck+  ( -- * Creating a Request+    UpdateReadinessCheck (..),+    newUpdateReadinessCheck,++    -- * Request Lenses+    updateReadinessCheck_readinessCheckName,+    updateReadinessCheck_resourceSetName,++    -- * Destructuring the Response+    UpdateReadinessCheckResponse (..),+    newUpdateReadinessCheckResponse,++    -- * Response Lenses+    updateReadinessCheckResponse_readinessCheckArn,+    updateReadinessCheckResponse_readinessCheckName,+    updateReadinessCheckResponse_resourceSet,+    updateReadinessCheckResponse_tags,+    updateReadinessCheckResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | Name of a readiness check to describe.+--+-- /See:/ 'newUpdateReadinessCheck' smart constructor.+data UpdateReadinessCheck = UpdateReadinessCheck'+  { -- | Name of a readiness check.+    readinessCheckName :: Prelude.Text,+    -- | The name of the resource set to be checked.+    resourceSetName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateReadinessCheck' 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:+--+-- 'readinessCheckName', 'updateReadinessCheck_readinessCheckName' - Name of a readiness check.+--+-- 'resourceSetName', 'updateReadinessCheck_resourceSetName' - The name of the resource set to be checked.+newUpdateReadinessCheck ::+  -- | 'readinessCheckName'+  Prelude.Text ->+  -- | 'resourceSetName'+  Prelude.Text ->+  UpdateReadinessCheck+newUpdateReadinessCheck+  pReadinessCheckName_+  pResourceSetName_ =+    UpdateReadinessCheck'+      { readinessCheckName =+          pReadinessCheckName_,+        resourceSetName = pResourceSetName_+      }++-- | Name of a readiness check.+updateReadinessCheck_readinessCheckName :: Lens.Lens' UpdateReadinessCheck Prelude.Text+updateReadinessCheck_readinessCheckName = Lens.lens (\UpdateReadinessCheck' {readinessCheckName} -> readinessCheckName) (\s@UpdateReadinessCheck' {} a -> s {readinessCheckName = a} :: UpdateReadinessCheck)++-- | The name of the resource set to be checked.+updateReadinessCheck_resourceSetName :: Lens.Lens' UpdateReadinessCheck Prelude.Text+updateReadinessCheck_resourceSetName = Lens.lens (\UpdateReadinessCheck' {resourceSetName} -> resourceSetName) (\s@UpdateReadinessCheck' {} a -> s {resourceSetName = a} :: UpdateReadinessCheck)++instance Core.AWSRequest UpdateReadinessCheck where+  type+    AWSResponse UpdateReadinessCheck =+      UpdateReadinessCheckResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateReadinessCheckResponse'+            Prelude.<$> (x Data..?> "readinessCheckArn")+            Prelude.<*> (x Data..?> "readinessCheckName")+            Prelude.<*> (x Data..?> "resourceSet")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateReadinessCheck where+  hashWithSalt _salt UpdateReadinessCheck' {..} =+    _salt+      `Prelude.hashWithSalt` readinessCheckName+      `Prelude.hashWithSalt` resourceSetName++instance Prelude.NFData UpdateReadinessCheck where+  rnf UpdateReadinessCheck' {..} =+    Prelude.rnf readinessCheckName+      `Prelude.seq` Prelude.rnf resourceSetName++instance Data.ToHeaders UpdateReadinessCheck where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateReadinessCheck where+  toJSON UpdateReadinessCheck' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("resourceSetName" Data..= resourceSetName)+          ]+      )++instance Data.ToPath UpdateReadinessCheck where+  toPath UpdateReadinessCheck' {..} =+    Prelude.mconcat+      ["/readinesschecks/", Data.toBS readinessCheckName]++instance Data.ToQuery UpdateReadinessCheck where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateReadinessCheckResponse' smart constructor.+data UpdateReadinessCheckResponse = UpdateReadinessCheckResponse'+  { -- | The Amazon Resource Name (ARN) associated with a readiness check.+    readinessCheckArn :: Prelude.Maybe Prelude.Text,+    -- | Name of a readiness check.+    readinessCheckName :: Prelude.Maybe Prelude.Text,+    -- | Name of the resource set to be checked.+    resourceSet :: Prelude.Maybe Prelude.Text,+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateReadinessCheckResponse' 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:+--+-- 'readinessCheckArn', 'updateReadinessCheckResponse_readinessCheckArn' - The Amazon Resource Name (ARN) associated with a readiness check.+--+-- 'readinessCheckName', 'updateReadinessCheckResponse_readinessCheckName' - Name of a readiness check.+--+-- 'resourceSet', 'updateReadinessCheckResponse_resourceSet' - Name of the resource set to be checked.+--+-- 'tags', 'updateReadinessCheckResponse_tags' - Undocumented member.+--+-- 'httpStatus', 'updateReadinessCheckResponse_httpStatus' - The response's http status code.+newUpdateReadinessCheckResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateReadinessCheckResponse+newUpdateReadinessCheckResponse pHttpStatus_ =+  UpdateReadinessCheckResponse'+    { readinessCheckArn =+        Prelude.Nothing,+      readinessCheckName = Prelude.Nothing,+      resourceSet = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) associated with a readiness check.+updateReadinessCheckResponse_readinessCheckArn :: Lens.Lens' UpdateReadinessCheckResponse (Prelude.Maybe Prelude.Text)+updateReadinessCheckResponse_readinessCheckArn = Lens.lens (\UpdateReadinessCheckResponse' {readinessCheckArn} -> readinessCheckArn) (\s@UpdateReadinessCheckResponse' {} a -> s {readinessCheckArn = a} :: UpdateReadinessCheckResponse)++-- | Name of a readiness check.+updateReadinessCheckResponse_readinessCheckName :: Lens.Lens' UpdateReadinessCheckResponse (Prelude.Maybe Prelude.Text)+updateReadinessCheckResponse_readinessCheckName = Lens.lens (\UpdateReadinessCheckResponse' {readinessCheckName} -> readinessCheckName) (\s@UpdateReadinessCheckResponse' {} a -> s {readinessCheckName = a} :: UpdateReadinessCheckResponse)++-- | Name of the resource set to be checked.+updateReadinessCheckResponse_resourceSet :: Lens.Lens' UpdateReadinessCheckResponse (Prelude.Maybe Prelude.Text)+updateReadinessCheckResponse_resourceSet = Lens.lens (\UpdateReadinessCheckResponse' {resourceSet} -> resourceSet) (\s@UpdateReadinessCheckResponse' {} a -> s {resourceSet = a} :: UpdateReadinessCheckResponse)++-- | Undocumented member.+updateReadinessCheckResponse_tags :: Lens.Lens' UpdateReadinessCheckResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateReadinessCheckResponse_tags = Lens.lens (\UpdateReadinessCheckResponse' {tags} -> tags) (\s@UpdateReadinessCheckResponse' {} a -> s {tags = a} :: UpdateReadinessCheckResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+updateReadinessCheckResponse_httpStatus :: Lens.Lens' UpdateReadinessCheckResponse Prelude.Int+updateReadinessCheckResponse_httpStatus = Lens.lens (\UpdateReadinessCheckResponse' {httpStatus} -> httpStatus) (\s@UpdateReadinessCheckResponse' {} a -> s {httpStatus = a} :: UpdateReadinessCheckResponse)++instance Prelude.NFData UpdateReadinessCheckResponse where+  rnf UpdateReadinessCheckResponse' {..} =+    Prelude.rnf readinessCheckArn+      `Prelude.seq` Prelude.rnf readinessCheckName+      `Prelude.seq` Prelude.rnf resourceSet+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/UpdateRecoveryGroup.hs view
@@ -0,0 +1,224 @@+{-# 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.Route53RecoveryReadiness.UpdateRecoveryGroup+-- 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 recovery group.+module Amazonka.Route53RecoveryReadiness.UpdateRecoveryGroup+  ( -- * Creating a Request+    UpdateRecoveryGroup (..),+    newUpdateRecoveryGroup,++    -- * Request Lenses+    updateRecoveryGroup_recoveryGroupName,+    updateRecoveryGroup_cells,++    -- * Destructuring the Response+    UpdateRecoveryGroupResponse (..),+    newUpdateRecoveryGroupResponse,++    -- * Response Lenses+    updateRecoveryGroupResponse_cells,+    updateRecoveryGroupResponse_recoveryGroupArn,+    updateRecoveryGroupResponse_recoveryGroupName,+    updateRecoveryGroupResponse_tags,+    updateRecoveryGroupResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | Name of a recovery group.+--+-- /See:/ 'newUpdateRecoveryGroup' smart constructor.+data UpdateRecoveryGroup = UpdateRecoveryGroup'+  { -- | The name of a recovery group.+    recoveryGroupName :: Prelude.Text,+    -- | A list of cell Amazon Resource Names (ARNs). This list completely+    -- replaces the previous list.+    cells :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRecoveryGroup' 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:+--+-- 'recoveryGroupName', 'updateRecoveryGroup_recoveryGroupName' - The name of a recovery group.+--+-- 'cells', 'updateRecoveryGroup_cells' - A list of cell Amazon Resource Names (ARNs). This list completely+-- replaces the previous list.+newUpdateRecoveryGroup ::+  -- | 'recoveryGroupName'+  Prelude.Text ->+  UpdateRecoveryGroup+newUpdateRecoveryGroup pRecoveryGroupName_ =+  UpdateRecoveryGroup'+    { recoveryGroupName =+        pRecoveryGroupName_,+      cells = Prelude.mempty+    }++-- | The name of a recovery group.+updateRecoveryGroup_recoveryGroupName :: Lens.Lens' UpdateRecoveryGroup Prelude.Text+updateRecoveryGroup_recoveryGroupName = Lens.lens (\UpdateRecoveryGroup' {recoveryGroupName} -> recoveryGroupName) (\s@UpdateRecoveryGroup' {} a -> s {recoveryGroupName = a} :: UpdateRecoveryGroup)++-- | A list of cell Amazon Resource Names (ARNs). This list completely+-- replaces the previous list.+updateRecoveryGroup_cells :: Lens.Lens' UpdateRecoveryGroup [Prelude.Text]+updateRecoveryGroup_cells = Lens.lens (\UpdateRecoveryGroup' {cells} -> cells) (\s@UpdateRecoveryGroup' {} a -> s {cells = a} :: UpdateRecoveryGroup) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateRecoveryGroup where+  type+    AWSResponse UpdateRecoveryGroup =+      UpdateRecoveryGroupResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateRecoveryGroupResponse'+            Prelude.<$> (x Data..?> "cells" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "recoveryGroupArn")+            Prelude.<*> (x Data..?> "recoveryGroupName")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateRecoveryGroup where+  hashWithSalt _salt UpdateRecoveryGroup' {..} =+    _salt+      `Prelude.hashWithSalt` recoveryGroupName+      `Prelude.hashWithSalt` cells++instance Prelude.NFData UpdateRecoveryGroup where+  rnf UpdateRecoveryGroup' {..} =+    Prelude.rnf recoveryGroupName+      `Prelude.seq` Prelude.rnf cells++instance Data.ToHeaders UpdateRecoveryGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateRecoveryGroup where+  toJSON UpdateRecoveryGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("cells" Data..= cells)]+      )++instance Data.ToPath UpdateRecoveryGroup where+  toPath UpdateRecoveryGroup' {..} =+    Prelude.mconcat+      ["/recoverygroups/", Data.toBS recoveryGroupName]++instance Data.ToQuery UpdateRecoveryGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateRecoveryGroupResponse' smart constructor.+data UpdateRecoveryGroupResponse = UpdateRecoveryGroupResponse'+  { -- | A list of a cell\'s Amazon Resource Names (ARNs).+    cells :: Prelude.Maybe [Prelude.Text],+    -- | The Amazon Resource Name (ARN) for the recovery group.+    recoveryGroupArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the recovery group.+    recoveryGroupName :: Prelude.Maybe Prelude.Text,+    -- | The tags associated with the recovery group.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRecoveryGroupResponse' 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:+--+-- 'cells', 'updateRecoveryGroupResponse_cells' - A list of a cell\'s Amazon Resource Names (ARNs).+--+-- 'recoveryGroupArn', 'updateRecoveryGroupResponse_recoveryGroupArn' - The Amazon Resource Name (ARN) for the recovery group.+--+-- 'recoveryGroupName', 'updateRecoveryGroupResponse_recoveryGroupName' - The name of the recovery group.+--+-- 'tags', 'updateRecoveryGroupResponse_tags' - The tags associated with the recovery group.+--+-- 'httpStatus', 'updateRecoveryGroupResponse_httpStatus' - The response's http status code.+newUpdateRecoveryGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateRecoveryGroupResponse+newUpdateRecoveryGroupResponse pHttpStatus_ =+  UpdateRecoveryGroupResponse'+    { cells =+        Prelude.Nothing,+      recoveryGroupArn = Prelude.Nothing,+      recoveryGroupName = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of a cell\'s Amazon Resource Names (ARNs).+updateRecoveryGroupResponse_cells :: Lens.Lens' UpdateRecoveryGroupResponse (Prelude.Maybe [Prelude.Text])+updateRecoveryGroupResponse_cells = Lens.lens (\UpdateRecoveryGroupResponse' {cells} -> cells) (\s@UpdateRecoveryGroupResponse' {} a -> s {cells = a} :: UpdateRecoveryGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) for the recovery group.+updateRecoveryGroupResponse_recoveryGroupArn :: Lens.Lens' UpdateRecoveryGroupResponse (Prelude.Maybe Prelude.Text)+updateRecoveryGroupResponse_recoveryGroupArn = Lens.lens (\UpdateRecoveryGroupResponse' {recoveryGroupArn} -> recoveryGroupArn) (\s@UpdateRecoveryGroupResponse' {} a -> s {recoveryGroupArn = a} :: UpdateRecoveryGroupResponse)++-- | The name of the recovery group.+updateRecoveryGroupResponse_recoveryGroupName :: Lens.Lens' UpdateRecoveryGroupResponse (Prelude.Maybe Prelude.Text)+updateRecoveryGroupResponse_recoveryGroupName = Lens.lens (\UpdateRecoveryGroupResponse' {recoveryGroupName} -> recoveryGroupName) (\s@UpdateRecoveryGroupResponse' {} a -> s {recoveryGroupName = a} :: UpdateRecoveryGroupResponse)++-- | The tags associated with the recovery group.+updateRecoveryGroupResponse_tags :: Lens.Lens' UpdateRecoveryGroupResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateRecoveryGroupResponse_tags = Lens.lens (\UpdateRecoveryGroupResponse' {tags} -> tags) (\s@UpdateRecoveryGroupResponse' {} a -> s {tags = a} :: UpdateRecoveryGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+updateRecoveryGroupResponse_httpStatus :: Lens.Lens' UpdateRecoveryGroupResponse Prelude.Int+updateRecoveryGroupResponse_httpStatus = Lens.lens (\UpdateRecoveryGroupResponse' {httpStatus} -> httpStatus) (\s@UpdateRecoveryGroupResponse' {} a -> s {httpStatus = a} :: UpdateRecoveryGroupResponse)++instance Prelude.NFData UpdateRecoveryGroupResponse where+  rnf UpdateRecoveryGroupResponse' {..} =+    Prelude.rnf cells+      `Prelude.seq` Prelude.rnf recoveryGroupArn+      `Prelude.seq` Prelude.rnf recoveryGroupName+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/UpdateResourceSet.hs view
@@ -0,0 +1,317 @@+{-# 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.Route53RecoveryReadiness.UpdateResourceSet+-- 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 resource set.+module Amazonka.Route53RecoveryReadiness.UpdateResourceSet+  ( -- * Creating a Request+    UpdateResourceSet (..),+    newUpdateResourceSet,++    -- * Request Lenses+    updateResourceSet_resourceSetName,+    updateResourceSet_resourceSetType,+    updateResourceSet_resources,++    -- * Destructuring the Response+    UpdateResourceSetResponse (..),+    newUpdateResourceSetResponse,++    -- * Response Lenses+    updateResourceSetResponse_resourceSetArn,+    updateResourceSetResponse_resourceSetName,+    updateResourceSetResponse_resourceSetType,+    updateResourceSetResponse_resources,+    updateResourceSetResponse_tags,+    updateResourceSetResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Route53RecoveryReadiness.Types++-- | Name of a resource set.+--+-- /See:/ 'newUpdateResourceSet' smart constructor.+data UpdateResourceSet = UpdateResourceSet'+  { -- | Name of a resource set.+    resourceSetName :: Prelude.Text,+    -- | The resource type of the resources in the resource set. Enter one of the+    -- following values for resource type:+    --+    -- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+    -- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+    -- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+    -- AWS::ElasticLoadBalancing::LoadBalancer,+    -- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+    -- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+    -- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+    -- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+    -- AWS::Route53RecoveryReadiness::DNSTargetResource+    resourceSetType :: Prelude.Text,+    -- | A list of resource objects.+    resources :: [Resource]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResourceSet' 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:+--+-- 'resourceSetName', 'updateResourceSet_resourceSetName' - Name of a resource set.+--+-- 'resourceSetType', 'updateResourceSet_resourceSetType' - The resource type of the resources in the resource set. Enter one of the+-- following values for resource type:+--+-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+-- AWS::ElasticLoadBalancing::LoadBalancer,+-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+-- AWS::Route53RecoveryReadiness::DNSTargetResource+--+-- 'resources', 'updateResourceSet_resources' - A list of resource objects.+newUpdateResourceSet ::+  -- | 'resourceSetName'+  Prelude.Text ->+  -- | 'resourceSetType'+  Prelude.Text ->+  UpdateResourceSet+newUpdateResourceSet+  pResourceSetName_+  pResourceSetType_ =+    UpdateResourceSet'+      { resourceSetName =+          pResourceSetName_,+        resourceSetType = pResourceSetType_,+        resources = Prelude.mempty+      }++-- | Name of a resource set.+updateResourceSet_resourceSetName :: Lens.Lens' UpdateResourceSet Prelude.Text+updateResourceSet_resourceSetName = Lens.lens (\UpdateResourceSet' {resourceSetName} -> resourceSetName) (\s@UpdateResourceSet' {} a -> s {resourceSetName = a} :: UpdateResourceSet)++-- | The resource type of the resources in the resource set. Enter one of the+-- following values for resource type:+--+-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+-- AWS::ElasticLoadBalancing::LoadBalancer,+-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+-- AWS::Route53RecoveryReadiness::DNSTargetResource+updateResourceSet_resourceSetType :: Lens.Lens' UpdateResourceSet Prelude.Text+updateResourceSet_resourceSetType = Lens.lens (\UpdateResourceSet' {resourceSetType} -> resourceSetType) (\s@UpdateResourceSet' {} a -> s {resourceSetType = a} :: UpdateResourceSet)++-- | A list of resource objects.+updateResourceSet_resources :: Lens.Lens' UpdateResourceSet [Resource]+updateResourceSet_resources = Lens.lens (\UpdateResourceSet' {resources} -> resources) (\s@UpdateResourceSet' {} a -> s {resources = a} :: UpdateResourceSet) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateResourceSet where+  type+    AWSResponse UpdateResourceSet =+      UpdateResourceSetResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateResourceSetResponse'+            Prelude.<$> (x Data..?> "resourceSetArn")+            Prelude.<*> (x Data..?> "resourceSetName")+            Prelude.<*> (x Data..?> "resourceSetType")+            Prelude.<*> (x Data..?> "resources" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateResourceSet where+  hashWithSalt _salt UpdateResourceSet' {..} =+    _salt+      `Prelude.hashWithSalt` resourceSetName+      `Prelude.hashWithSalt` resourceSetType+      `Prelude.hashWithSalt` resources++instance Prelude.NFData UpdateResourceSet where+  rnf UpdateResourceSet' {..} =+    Prelude.rnf resourceSetName+      `Prelude.seq` Prelude.rnf resourceSetType+      `Prelude.seq` Prelude.rnf resources++instance Data.ToHeaders UpdateResourceSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateResourceSet where+  toJSON UpdateResourceSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("resourceSetType" Data..= resourceSetType),+            Prelude.Just ("resources" Data..= resources)+          ]+      )++instance Data.ToPath UpdateResourceSet where+  toPath UpdateResourceSet' {..} =+    Prelude.mconcat+      ["/resourcesets/", Data.toBS resourceSetName]++instance Data.ToQuery UpdateResourceSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateResourceSetResponse' smart constructor.+data UpdateResourceSetResponse = UpdateResourceSetResponse'+  { -- | The Amazon Resource Name (ARN) for the resource set.+    resourceSetArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource set.+    resourceSetName :: Prelude.Maybe Prelude.Text,+    -- | The resource type of the resources in the resource set. Enter one of the+    -- following values for resource type:+    --+    -- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+    -- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+    -- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+    -- AWS::ElasticLoadBalancing::LoadBalancer,+    -- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+    -- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+    -- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+    -- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+    -- AWS::Route53RecoveryReadiness::DNSTargetResource+    resourceSetType :: Prelude.Maybe Prelude.Text,+    -- | A list of resource objects.+    resources :: Prelude.Maybe [Resource],+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResourceSetResponse' 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:+--+-- 'resourceSetArn', 'updateResourceSetResponse_resourceSetArn' - The Amazon Resource Name (ARN) for the resource set.+--+-- 'resourceSetName', 'updateResourceSetResponse_resourceSetName' - The name of the resource set.+--+-- 'resourceSetType', 'updateResourceSetResponse_resourceSetType' - The resource type of the resources in the resource set. Enter one of the+-- following values for resource type:+--+-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+-- AWS::ElasticLoadBalancing::LoadBalancer,+-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+-- AWS::Route53RecoveryReadiness::DNSTargetResource+--+-- 'resources', 'updateResourceSetResponse_resources' - A list of resource objects.+--+-- 'tags', 'updateResourceSetResponse_tags' - Undocumented member.+--+-- 'httpStatus', 'updateResourceSetResponse_httpStatus' - The response's http status code.+newUpdateResourceSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateResourceSetResponse+newUpdateResourceSetResponse pHttpStatus_ =+  UpdateResourceSetResponse'+    { resourceSetArn =+        Prelude.Nothing,+      resourceSetName = Prelude.Nothing,+      resourceSetType = Prelude.Nothing,+      resources = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) for the resource set.+updateResourceSetResponse_resourceSetArn :: Lens.Lens' UpdateResourceSetResponse (Prelude.Maybe Prelude.Text)+updateResourceSetResponse_resourceSetArn = Lens.lens (\UpdateResourceSetResponse' {resourceSetArn} -> resourceSetArn) (\s@UpdateResourceSetResponse' {} a -> s {resourceSetArn = a} :: UpdateResourceSetResponse)++-- | The name of the resource set.+updateResourceSetResponse_resourceSetName :: Lens.Lens' UpdateResourceSetResponse (Prelude.Maybe Prelude.Text)+updateResourceSetResponse_resourceSetName = Lens.lens (\UpdateResourceSetResponse' {resourceSetName} -> resourceSetName) (\s@UpdateResourceSetResponse' {} a -> s {resourceSetName = a} :: UpdateResourceSetResponse)++-- | The resource type of the resources in the resource set. Enter one of the+-- following values for resource type:+--+-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,+-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,+-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,+-- AWS::ElasticLoadBalancing::LoadBalancer,+-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,+-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,+-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,+-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,+-- AWS::Route53RecoveryReadiness::DNSTargetResource+updateResourceSetResponse_resourceSetType :: Lens.Lens' UpdateResourceSetResponse (Prelude.Maybe Prelude.Text)+updateResourceSetResponse_resourceSetType = Lens.lens (\UpdateResourceSetResponse' {resourceSetType} -> resourceSetType) (\s@UpdateResourceSetResponse' {} a -> s {resourceSetType = a} :: UpdateResourceSetResponse)++-- | A list of resource objects.+updateResourceSetResponse_resources :: Lens.Lens' UpdateResourceSetResponse (Prelude.Maybe [Resource])+updateResourceSetResponse_resources = Lens.lens (\UpdateResourceSetResponse' {resources} -> resources) (\s@UpdateResourceSetResponse' {} a -> s {resources = a} :: UpdateResourceSetResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateResourceSetResponse_tags :: Lens.Lens' UpdateResourceSetResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateResourceSetResponse_tags = Lens.lens (\UpdateResourceSetResponse' {tags} -> tags) (\s@UpdateResourceSetResponse' {} a -> s {tags = a} :: UpdateResourceSetResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+updateResourceSetResponse_httpStatus :: Lens.Lens' UpdateResourceSetResponse Prelude.Int+updateResourceSetResponse_httpStatus = Lens.lens (\UpdateResourceSetResponse' {httpStatus} -> httpStatus) (\s@UpdateResourceSetResponse' {} a -> s {httpStatus = a} :: UpdateResourceSetResponse)++instance Prelude.NFData UpdateResourceSetResponse where+  rnf UpdateResourceSetResponse' {..} =+    Prelude.rnf resourceSetArn+      `Prelude.seq` Prelude.rnf resourceSetName+      `Prelude.seq` Prelude.rnf resourceSetType+      `Prelude.seq` Prelude.rnf resources+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Route53RecoveryReadiness/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.Route53RecoveryReadiness.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.Route53RecoveryReadiness.Waiters 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+import Amazonka.Route53RecoveryReadiness.Lens+import Amazonka.Route53RecoveryReadiness.Types
+ 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.Route53RecoveryReadiness+import Test.Amazonka.Route53RecoveryReadiness.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "Route53RecoveryReadiness"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/Route53RecoveryReadiness.hs view
@@ -0,0 +1,678 @@+{-# 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.Route53RecoveryReadiness+-- 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.Route53RecoveryReadiness where++import Amazonka.Route53RecoveryReadiness+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.Route53RecoveryReadiness.Internal+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"+--         [ requestCreateCell $+--             newCreateCell+--+--         , requestCreateCrossAccountAuthorization $+--             newCreateCrossAccountAuthorization+--+--         , requestCreateReadinessCheck $+--             newCreateReadinessCheck+--+--         , requestCreateRecoveryGroup $+--             newCreateRecoveryGroup+--+--         , requestCreateResourceSet $+--             newCreateResourceSet+--+--         , requestDeleteCell $+--             newDeleteCell+--+--         , requestDeleteCrossAccountAuthorization $+--             newDeleteCrossAccountAuthorization+--+--         , requestDeleteReadinessCheck $+--             newDeleteReadinessCheck+--+--         , requestDeleteRecoveryGroup $+--             newDeleteRecoveryGroup+--+--         , requestDeleteResourceSet $+--             newDeleteResourceSet+--+--         , requestGetArchitectureRecommendations $+--             newGetArchitectureRecommendations+--+--         , requestGetCell $+--             newGetCell+--+--         , requestGetCellReadinessSummary $+--             newGetCellReadinessSummary+--+--         , requestGetReadinessCheck $+--             newGetReadinessCheck+--+--         , requestGetReadinessCheckResourceStatus $+--             newGetReadinessCheckResourceStatus+--+--         , requestGetReadinessCheckStatus $+--             newGetReadinessCheckStatus+--+--         , requestGetRecoveryGroup $+--             newGetRecoveryGroup+--+--         , requestGetRecoveryGroupReadinessSummary $+--             newGetRecoveryGroupReadinessSummary+--+--         , requestGetResourceSet $+--             newGetResourceSet+--+--         , requestListCells $+--             newListCells+--+--         , requestListCrossAccountAuthorizations $+--             newListCrossAccountAuthorizations+--+--         , requestListReadinessChecks $+--             newListReadinessChecks+--+--         , requestListRecoveryGroups $+--             newListRecoveryGroups+--+--         , requestListResourceSets $+--             newListResourceSets+--+--         , requestListRules $+--             newListRules+--+--         , requestListTagsForResources $+--             newListTagsForResources+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateCell $+--             newUpdateCell+--+--         , requestUpdateReadinessCheck $+--             newUpdateReadinessCheck+--+--         , requestUpdateRecoveryGroup $+--             newUpdateRecoveryGroup+--+--         , requestUpdateResourceSet $+--             newUpdateResourceSet+--+--           ]++--     , testGroup "response"+--         [ responseCreateCell $+--             newCreateCellResponse+--+--         , responseCreateCrossAccountAuthorization $+--             newCreateCrossAccountAuthorizationResponse+--+--         , responseCreateReadinessCheck $+--             newCreateReadinessCheckResponse+--+--         , responseCreateRecoveryGroup $+--             newCreateRecoveryGroupResponse+--+--         , responseCreateResourceSet $+--             newCreateResourceSetResponse+--+--         , responseDeleteCell $+--             newDeleteCellResponse+--+--         , responseDeleteCrossAccountAuthorization $+--             newDeleteCrossAccountAuthorizationResponse+--+--         , responseDeleteReadinessCheck $+--             newDeleteReadinessCheckResponse+--+--         , responseDeleteRecoveryGroup $+--             newDeleteRecoveryGroupResponse+--+--         , responseDeleteResourceSet $+--             newDeleteResourceSetResponse+--+--         , responseGetArchitectureRecommendations $+--             newGetArchitectureRecommendationsResponse+--+--         , responseGetCell $+--             newGetCellResponse+--+--         , responseGetCellReadinessSummary $+--             newGetCellReadinessSummaryResponse+--+--         , responseGetReadinessCheck $+--             newGetReadinessCheckResponse+--+--         , responseGetReadinessCheckResourceStatus $+--             newGetReadinessCheckResourceStatusResponse+--+--         , responseGetReadinessCheckStatus $+--             newGetReadinessCheckStatusResponse+--+--         , responseGetRecoveryGroup $+--             newGetRecoveryGroupResponse+--+--         , responseGetRecoveryGroupReadinessSummary $+--             newGetRecoveryGroupReadinessSummaryResponse+--+--         , responseGetResourceSet $+--             newGetResourceSetResponse+--+--         , responseListCells $+--             newListCellsResponse+--+--         , responseListCrossAccountAuthorizations $+--             newListCrossAccountAuthorizationsResponse+--+--         , responseListReadinessChecks $+--             newListReadinessChecksResponse+--+--         , responseListRecoveryGroups $+--             newListRecoveryGroupsResponse+--+--         , responseListResourceSets $+--             newListResourceSetsResponse+--+--         , responseListRules $+--             newListRulesResponse+--+--         , responseListTagsForResources $+--             newListTagsForResourcesResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateCell $+--             newUpdateCellResponse+--+--         , responseUpdateReadinessCheck $+--             newUpdateReadinessCheckResponse+--+--         , responseUpdateRecoveryGroup $+--             newUpdateRecoveryGroupResponse+--+--         , responseUpdateResourceSet $+--             newUpdateResourceSetResponse+--+--           ]+--     ]++-- Requests++requestCreateCell :: CreateCell -> TestTree+requestCreateCell =+  req+    "CreateCell"+    "fixture/CreateCell.yaml"++requestCreateCrossAccountAuthorization :: CreateCrossAccountAuthorization -> TestTree+requestCreateCrossAccountAuthorization =+  req+    "CreateCrossAccountAuthorization"+    "fixture/CreateCrossAccountAuthorization.yaml"++requestCreateReadinessCheck :: CreateReadinessCheck -> TestTree+requestCreateReadinessCheck =+  req+    "CreateReadinessCheck"+    "fixture/CreateReadinessCheck.yaml"++requestCreateRecoveryGroup :: CreateRecoveryGroup -> TestTree+requestCreateRecoveryGroup =+  req+    "CreateRecoveryGroup"+    "fixture/CreateRecoveryGroup.yaml"++requestCreateResourceSet :: CreateResourceSet -> TestTree+requestCreateResourceSet =+  req+    "CreateResourceSet"+    "fixture/CreateResourceSet.yaml"++requestDeleteCell :: DeleteCell -> TestTree+requestDeleteCell =+  req+    "DeleteCell"+    "fixture/DeleteCell.yaml"++requestDeleteCrossAccountAuthorization :: DeleteCrossAccountAuthorization -> TestTree+requestDeleteCrossAccountAuthorization =+  req+    "DeleteCrossAccountAuthorization"+    "fixture/DeleteCrossAccountAuthorization.yaml"++requestDeleteReadinessCheck :: DeleteReadinessCheck -> TestTree+requestDeleteReadinessCheck =+  req+    "DeleteReadinessCheck"+    "fixture/DeleteReadinessCheck.yaml"++requestDeleteRecoveryGroup :: DeleteRecoveryGroup -> TestTree+requestDeleteRecoveryGroup =+  req+    "DeleteRecoveryGroup"+    "fixture/DeleteRecoveryGroup.yaml"++requestDeleteResourceSet :: DeleteResourceSet -> TestTree+requestDeleteResourceSet =+  req+    "DeleteResourceSet"+    "fixture/DeleteResourceSet.yaml"++requestGetArchitectureRecommendations :: GetArchitectureRecommendations -> TestTree+requestGetArchitectureRecommendations =+  req+    "GetArchitectureRecommendations"+    "fixture/GetArchitectureRecommendations.yaml"++requestGetCell :: GetCell -> TestTree+requestGetCell =+  req+    "GetCell"+    "fixture/GetCell.yaml"++requestGetCellReadinessSummary :: GetCellReadinessSummary -> TestTree+requestGetCellReadinessSummary =+  req+    "GetCellReadinessSummary"+    "fixture/GetCellReadinessSummary.yaml"++requestGetReadinessCheck :: GetReadinessCheck -> TestTree+requestGetReadinessCheck =+  req+    "GetReadinessCheck"+    "fixture/GetReadinessCheck.yaml"++requestGetReadinessCheckResourceStatus :: GetReadinessCheckResourceStatus -> TestTree+requestGetReadinessCheckResourceStatus =+  req+    "GetReadinessCheckResourceStatus"+    "fixture/GetReadinessCheckResourceStatus.yaml"++requestGetReadinessCheckStatus :: GetReadinessCheckStatus -> TestTree+requestGetReadinessCheckStatus =+  req+    "GetReadinessCheckStatus"+    "fixture/GetReadinessCheckStatus.yaml"++requestGetRecoveryGroup :: GetRecoveryGroup -> TestTree+requestGetRecoveryGroup =+  req+    "GetRecoveryGroup"+    "fixture/GetRecoveryGroup.yaml"++requestGetRecoveryGroupReadinessSummary :: GetRecoveryGroupReadinessSummary -> TestTree+requestGetRecoveryGroupReadinessSummary =+  req+    "GetRecoveryGroupReadinessSummary"+    "fixture/GetRecoveryGroupReadinessSummary.yaml"++requestGetResourceSet :: GetResourceSet -> TestTree+requestGetResourceSet =+  req+    "GetResourceSet"+    "fixture/GetResourceSet.yaml"++requestListCells :: ListCells -> TestTree+requestListCells =+  req+    "ListCells"+    "fixture/ListCells.yaml"++requestListCrossAccountAuthorizations :: ListCrossAccountAuthorizations -> TestTree+requestListCrossAccountAuthorizations =+  req+    "ListCrossAccountAuthorizations"+    "fixture/ListCrossAccountAuthorizations.yaml"++requestListReadinessChecks :: ListReadinessChecks -> TestTree+requestListReadinessChecks =+  req+    "ListReadinessChecks"+    "fixture/ListReadinessChecks.yaml"++requestListRecoveryGroups :: ListRecoveryGroups -> TestTree+requestListRecoveryGroups =+  req+    "ListRecoveryGroups"+    "fixture/ListRecoveryGroups.yaml"++requestListResourceSets :: ListResourceSets -> TestTree+requestListResourceSets =+  req+    "ListResourceSets"+    "fixture/ListResourceSets.yaml"++requestListRules :: ListRules -> TestTree+requestListRules =+  req+    "ListRules"+    "fixture/ListRules.yaml"++requestListTagsForResources :: ListTagsForResources -> TestTree+requestListTagsForResources =+  req+    "ListTagsForResources"+    "fixture/ListTagsForResources.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateCell :: UpdateCell -> TestTree+requestUpdateCell =+  req+    "UpdateCell"+    "fixture/UpdateCell.yaml"++requestUpdateReadinessCheck :: UpdateReadinessCheck -> TestTree+requestUpdateReadinessCheck =+  req+    "UpdateReadinessCheck"+    "fixture/UpdateReadinessCheck.yaml"++requestUpdateRecoveryGroup :: UpdateRecoveryGroup -> TestTree+requestUpdateRecoveryGroup =+  req+    "UpdateRecoveryGroup"+    "fixture/UpdateRecoveryGroup.yaml"++requestUpdateResourceSet :: UpdateResourceSet -> TestTree+requestUpdateResourceSet =+  req+    "UpdateResourceSet"+    "fixture/UpdateResourceSet.yaml"++-- Responses++responseCreateCell :: CreateCellResponse -> TestTree+responseCreateCell =+  res+    "CreateCellResponse"+    "fixture/CreateCellResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateCell)++responseCreateCrossAccountAuthorization :: CreateCrossAccountAuthorizationResponse -> TestTree+responseCreateCrossAccountAuthorization =+  res+    "CreateCrossAccountAuthorizationResponse"+    "fixture/CreateCrossAccountAuthorizationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateCrossAccountAuthorization)++responseCreateReadinessCheck :: CreateReadinessCheckResponse -> TestTree+responseCreateReadinessCheck =+  res+    "CreateReadinessCheckResponse"+    "fixture/CreateReadinessCheckResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateReadinessCheck)++responseCreateRecoveryGroup :: CreateRecoveryGroupResponse -> TestTree+responseCreateRecoveryGroup =+  res+    "CreateRecoveryGroupResponse"+    "fixture/CreateRecoveryGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateRecoveryGroup)++responseCreateResourceSet :: CreateResourceSetResponse -> TestTree+responseCreateResourceSet =+  res+    "CreateResourceSetResponse"+    "fixture/CreateResourceSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateResourceSet)++responseDeleteCell :: DeleteCellResponse -> TestTree+responseDeleteCell =+  res+    "DeleteCellResponse"+    "fixture/DeleteCellResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteCell)++responseDeleteCrossAccountAuthorization :: DeleteCrossAccountAuthorizationResponse -> TestTree+responseDeleteCrossAccountAuthorization =+  res+    "DeleteCrossAccountAuthorizationResponse"+    "fixture/DeleteCrossAccountAuthorizationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteCrossAccountAuthorization)++responseDeleteReadinessCheck :: DeleteReadinessCheckResponse -> TestTree+responseDeleteReadinessCheck =+  res+    "DeleteReadinessCheckResponse"+    "fixture/DeleteReadinessCheckResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteReadinessCheck)++responseDeleteRecoveryGroup :: DeleteRecoveryGroupResponse -> TestTree+responseDeleteRecoveryGroup =+  res+    "DeleteRecoveryGroupResponse"+    "fixture/DeleteRecoveryGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteRecoveryGroup)++responseDeleteResourceSet :: DeleteResourceSetResponse -> TestTree+responseDeleteResourceSet =+  res+    "DeleteResourceSetResponse"+    "fixture/DeleteResourceSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteResourceSet)++responseGetArchitectureRecommendations :: GetArchitectureRecommendationsResponse -> TestTree+responseGetArchitectureRecommendations =+  res+    "GetArchitectureRecommendationsResponse"+    "fixture/GetArchitectureRecommendationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetArchitectureRecommendations)++responseGetCell :: GetCellResponse -> TestTree+responseGetCell =+  res+    "GetCellResponse"+    "fixture/GetCellResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetCell)++responseGetCellReadinessSummary :: GetCellReadinessSummaryResponse -> TestTree+responseGetCellReadinessSummary =+  res+    "GetCellReadinessSummaryResponse"+    "fixture/GetCellReadinessSummaryResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetCellReadinessSummary)++responseGetReadinessCheck :: GetReadinessCheckResponse -> TestTree+responseGetReadinessCheck =+  res+    "GetReadinessCheckResponse"+    "fixture/GetReadinessCheckResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetReadinessCheck)++responseGetReadinessCheckResourceStatus :: GetReadinessCheckResourceStatusResponse -> TestTree+responseGetReadinessCheckResourceStatus =+  res+    "GetReadinessCheckResourceStatusResponse"+    "fixture/GetReadinessCheckResourceStatusResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetReadinessCheckResourceStatus)++responseGetReadinessCheckStatus :: GetReadinessCheckStatusResponse -> TestTree+responseGetReadinessCheckStatus =+  res+    "GetReadinessCheckStatusResponse"+    "fixture/GetReadinessCheckStatusResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetReadinessCheckStatus)++responseGetRecoveryGroup :: GetRecoveryGroupResponse -> TestTree+responseGetRecoveryGroup =+  res+    "GetRecoveryGroupResponse"+    "fixture/GetRecoveryGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetRecoveryGroup)++responseGetRecoveryGroupReadinessSummary :: GetRecoveryGroupReadinessSummaryResponse -> TestTree+responseGetRecoveryGroupReadinessSummary =+  res+    "GetRecoveryGroupReadinessSummaryResponse"+    "fixture/GetRecoveryGroupReadinessSummaryResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetRecoveryGroupReadinessSummary)++responseGetResourceSet :: GetResourceSetResponse -> TestTree+responseGetResourceSet =+  res+    "GetResourceSetResponse"+    "fixture/GetResourceSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetResourceSet)++responseListCells :: ListCellsResponse -> TestTree+responseListCells =+  res+    "ListCellsResponse"+    "fixture/ListCellsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListCells)++responseListCrossAccountAuthorizations :: ListCrossAccountAuthorizationsResponse -> TestTree+responseListCrossAccountAuthorizations =+  res+    "ListCrossAccountAuthorizationsResponse"+    "fixture/ListCrossAccountAuthorizationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListCrossAccountAuthorizations)++responseListReadinessChecks :: ListReadinessChecksResponse -> TestTree+responseListReadinessChecks =+  res+    "ListReadinessChecksResponse"+    "fixture/ListReadinessChecksResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListReadinessChecks)++responseListRecoveryGroups :: ListRecoveryGroupsResponse -> TestTree+responseListRecoveryGroups =+  res+    "ListRecoveryGroupsResponse"+    "fixture/ListRecoveryGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListRecoveryGroups)++responseListResourceSets :: ListResourceSetsResponse -> TestTree+responseListResourceSets =+  res+    "ListResourceSetsResponse"+    "fixture/ListResourceSetsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListResourceSets)++responseListRules :: ListRulesResponse -> TestTree+responseListRules =+  res+    "ListRulesResponse"+    "fixture/ListRulesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListRules)++responseListTagsForResources :: ListTagsForResourcesResponse -> TestTree+responseListTagsForResources =+  res+    "ListTagsForResourcesResponse"+    "fixture/ListTagsForResourcesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResources)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateCell :: UpdateCellResponse -> TestTree+responseUpdateCell =+  res+    "UpdateCellResponse"+    "fixture/UpdateCellResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateCell)++responseUpdateReadinessCheck :: UpdateReadinessCheckResponse -> TestTree+responseUpdateReadinessCheck =+  res+    "UpdateReadinessCheckResponse"+    "fixture/UpdateReadinessCheckResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateReadinessCheck)++responseUpdateRecoveryGroup :: UpdateRecoveryGroupResponse -> TestTree+responseUpdateRecoveryGroup =+  res+    "UpdateRecoveryGroupResponse"+    "fixture/UpdateRecoveryGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateRecoveryGroup)++responseUpdateResourceSet :: UpdateResourceSetResponse -> TestTree+responseUpdateResourceSet =+  res+    "UpdateResourceSetResponse"+    "fixture/UpdateResourceSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateResourceSet)
+ test/Test/Amazonka/Route53RecoveryReadiness.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.Route53RecoveryReadiness+-- 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.Route53RecoveryReadiness+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Route53RecoveryReadiness/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.Route53RecoveryReadiness.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.Route53RecoveryReadiness.Internal where