packages feed

amazonka-wellarchitected (empty) → 2.0

raw patch · 193 files changed

+19321/−0 lines, 193 filesdep +amazonka-coredep +amazonka-testdep +amazonka-wellarchitected

Dependencies added: amazonka-core, amazonka-test, amazonka-wellarchitected, 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 Well-Architected Tool SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-03-31@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-wellarchitected)+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.WellArchitected](http://hackage.haskell.org/package/amazonka-wellarchitected/docs/Amazonka-WellArchitected.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-wellarchitected` 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-wellarchitected.cabal view
@@ -0,0 +1,180 @@+cabal-version:      2.2+name:               amazonka-wellarchitected+version:            2.0+synopsis:           Amazon Well-Architected Tool SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2020-03-31@ 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.WellArchitected.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.WellArchitected" 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-wellarchitected++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.WellArchitected+    Amazonka.WellArchitected.AssociateLenses+    Amazonka.WellArchitected.CreateLensShare+    Amazonka.WellArchitected.CreateLensVersion+    Amazonka.WellArchitected.CreateMilestone+    Amazonka.WellArchitected.CreateWorkload+    Amazonka.WellArchitected.CreateWorkloadShare+    Amazonka.WellArchitected.DeleteLens+    Amazonka.WellArchitected.DeleteLensShare+    Amazonka.WellArchitected.DeleteWorkload+    Amazonka.WellArchitected.DeleteWorkloadShare+    Amazonka.WellArchitected.DisassociateLenses+    Amazonka.WellArchitected.ExportLens+    Amazonka.WellArchitected.GetAnswer+    Amazonka.WellArchitected.GetLens+    Amazonka.WellArchitected.GetLensReview+    Amazonka.WellArchitected.GetLensReviewReport+    Amazonka.WellArchitected.GetLensVersionDifference+    Amazonka.WellArchitected.GetMilestone+    Amazonka.WellArchitected.GetWorkload+    Amazonka.WellArchitected.ImportLens+    Amazonka.WellArchitected.Lens+    Amazonka.WellArchitected.ListAnswers+    Amazonka.WellArchitected.ListCheckDetails+    Amazonka.WellArchitected.ListCheckSummaries+    Amazonka.WellArchitected.ListLenses+    Amazonka.WellArchitected.ListLensReviewImprovements+    Amazonka.WellArchitected.ListLensReviews+    Amazonka.WellArchitected.ListLensShares+    Amazonka.WellArchitected.ListMilestones+    Amazonka.WellArchitected.ListNotifications+    Amazonka.WellArchitected.ListShareInvitations+    Amazonka.WellArchitected.ListTagsForResource+    Amazonka.WellArchitected.ListWorkloads+    Amazonka.WellArchitected.ListWorkloadShares+    Amazonka.WellArchitected.TagResource+    Amazonka.WellArchitected.Types+    Amazonka.WellArchitected.Types.AdditionalResources+    Amazonka.WellArchitected.Types.AdditionalResourceType+    Amazonka.WellArchitected.Types.Answer+    Amazonka.WellArchitected.Types.AnswerReason+    Amazonka.WellArchitected.Types.AnswerSummary+    Amazonka.WellArchitected.Types.CheckDetail+    Amazonka.WellArchitected.Types.CheckFailureReason+    Amazonka.WellArchitected.Types.CheckProvider+    Amazonka.WellArchitected.Types.CheckStatus+    Amazonka.WellArchitected.Types.CheckSummary+    Amazonka.WellArchitected.Types.Choice+    Amazonka.WellArchitected.Types.ChoiceAnswer+    Amazonka.WellArchitected.Types.ChoiceAnswerSummary+    Amazonka.WellArchitected.Types.ChoiceContent+    Amazonka.WellArchitected.Types.ChoiceImprovementPlan+    Amazonka.WellArchitected.Types.ChoiceReason+    Amazonka.WellArchitected.Types.ChoiceStatus+    Amazonka.WellArchitected.Types.ChoiceUpdate+    Amazonka.WellArchitected.Types.DifferenceStatus+    Amazonka.WellArchitected.Types.ImportLensStatus+    Amazonka.WellArchitected.Types.ImprovementSummary+    Amazonka.WellArchitected.Types.Lens+    Amazonka.WellArchitected.Types.LensReview+    Amazonka.WellArchitected.Types.LensReviewReport+    Amazonka.WellArchitected.Types.LensReviewSummary+    Amazonka.WellArchitected.Types.LensShareSummary+    Amazonka.WellArchitected.Types.LensStatus+    Amazonka.WellArchitected.Types.LensStatusType+    Amazonka.WellArchitected.Types.LensSummary+    Amazonka.WellArchitected.Types.LensType+    Amazonka.WellArchitected.Types.LensUpgradeSummary+    Amazonka.WellArchitected.Types.Milestone+    Amazonka.WellArchitected.Types.MilestoneSummary+    Amazonka.WellArchitected.Types.NotificationSummary+    Amazonka.WellArchitected.Types.NotificationType+    Amazonka.WellArchitected.Types.OrganizationSharingStatus+    Amazonka.WellArchitected.Types.PermissionType+    Amazonka.WellArchitected.Types.PillarDifference+    Amazonka.WellArchitected.Types.PillarReviewSummary+    Amazonka.WellArchitected.Types.QuestionDifference+    Amazonka.WellArchitected.Types.Risk+    Amazonka.WellArchitected.Types.ShareInvitation+    Amazonka.WellArchitected.Types.ShareInvitationAction+    Amazonka.WellArchitected.Types.ShareInvitationSummary+    Amazonka.WellArchitected.Types.ShareResourceType+    Amazonka.WellArchitected.Types.ShareStatus+    Amazonka.WellArchitected.Types.TrustedAdvisorIntegrationStatus+    Amazonka.WellArchitected.Types.VersionDifferences+    Amazonka.WellArchitected.Types.Workload+    Amazonka.WellArchitected.Types.WorkloadDiscoveryConfig+    Amazonka.WellArchitected.Types.WorkloadEnvironment+    Amazonka.WellArchitected.Types.WorkloadImprovementStatus+    Amazonka.WellArchitected.Types.WorkloadShare+    Amazonka.WellArchitected.Types.WorkloadShareSummary+    Amazonka.WellArchitected.Types.WorkloadSummary+    Amazonka.WellArchitected.UntagResource+    Amazonka.WellArchitected.UpdateAnswer+    Amazonka.WellArchitected.UpdateGlobalSettings+    Amazonka.WellArchitected.UpdateLensReview+    Amazonka.WellArchitected.UpdateShareInvitation+    Amazonka.WellArchitected.UpdateWorkload+    Amazonka.WellArchitected.UpdateWorkloadShare+    Amazonka.WellArchitected.UpgradeLensReview+    Amazonka.WellArchitected.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-wellarchitected-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.WellArchitected+    Test.Amazonka.WellArchitected+    Test.Amazonka.WellArchitected.Internal++  build-depends:+    , amazonka-core             >=2.0 && <2.1+    , amazonka-test             >=2.0 && <2.1+    , amazonka-wellarchitected+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/AssociateLenses.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/AssociateLensesResponse.proto view
+ fixture/CreateLensShare.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/CreateLensShareResponse.proto view
+ fixture/CreateLensVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/CreateLensVersionResponse.proto view
+ fixture/CreateMilestone.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/CreateMilestoneResponse.proto view
+ fixture/CreateWorkload.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/CreateWorkloadResponse.proto view
+ fixture/CreateWorkloadShare.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/CreateWorkloadShareResponse.proto view
+ fixture/DeleteLens.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/DeleteLensResponse.proto view
+ fixture/DeleteLensShare.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/DeleteLensShareResponse.proto view
+ fixture/DeleteWorkload.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/DeleteWorkloadResponse.proto view
+ fixture/DeleteWorkloadShare.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/DeleteWorkloadShareResponse.proto view
+ fixture/DisassociateLenses.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/DisassociateLensesResponse.proto view
+ fixture/ExportLens.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ExportLensResponse.proto view
+ fixture/GetAnswer.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/GetAnswerResponse.proto view
+ fixture/GetLens.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/GetLensResponse.proto view
+ fixture/GetLensReview.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/GetLensReviewReport.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/GetLensReviewReportResponse.proto view
+ fixture/GetLensReviewResponse.proto view
+ fixture/GetLensVersionDifference.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/GetLensVersionDifferenceResponse.proto view
+ fixture/GetMilestone.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/GetMilestoneResponse.proto view
+ fixture/GetWorkload.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/GetWorkloadResponse.proto view
+ fixture/ImportLens.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ImportLensResponse.proto view
+ fixture/ListAnswers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ListAnswersResponse.proto view
+ fixture/ListCheckDetails.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ListCheckDetailsResponse.proto view
+ fixture/ListCheckSummaries.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ListCheckSummariesResponse.proto view
+ fixture/ListLensReviewImprovements.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ListLensReviewImprovementsResponse.proto view
+ fixture/ListLensReviews.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ListLensReviewsResponse.proto view
+ fixture/ListLensShares.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ListLensSharesResponse.proto view
+ fixture/ListLenses.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ListLensesResponse.proto view
+ fixture/ListMilestones.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ListMilestonesResponse.proto view
+ fixture/ListNotifications.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ListNotificationsResponse.proto view
+ fixture/ListShareInvitations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ListShareInvitationsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/ListWorkloadShares.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ListWorkloadSharesResponse.proto view
+ fixture/ListWorkloads.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/ListWorkloadsResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/UpdateAnswer.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/UpdateAnswerResponse.proto view
+ fixture/UpdateGlobalSettings.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/UpdateGlobalSettingsResponse.proto view
+ fixture/UpdateLensReview.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/UpdateLensReviewResponse.proto view
+ fixture/UpdateShareInvitation.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/UpdateShareInvitationResponse.proto view
+ fixture/UpdateWorkload.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/UpdateWorkloadResponse.proto view
+ fixture/UpdateWorkloadShare.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/UpdateWorkloadShareResponse.proto view
+ fixture/UpgradeLensReview.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wellarchitected/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wellarchitected.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/UpgradeLensReviewResponse.proto view
+ gen/Amazonka/WellArchitected.hs view
@@ -0,0 +1,582 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.WellArchitected+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2020-03-31@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Well-Architected Tool+--+-- This is the /Well-Architected Tool API Reference/. The WA Tool API+-- provides programmatic access to the+-- <http://aws.amazon.com/well-architected-tool Well-Architected Tool> in+-- the+-- <https://console.aws.amazon.com/wellarchitected Amazon Web Services Management Console>.+-- For information about the Well-Architected Tool, see the+-- <https://docs.aws.amazon.com/wellarchitected/latest/userguide/intro.html Well-Architected Tool User Guide>.+module Amazonka.WellArchitected+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** AssociateLenses+    AssociateLenses (AssociateLenses'),+    newAssociateLenses,+    AssociateLensesResponse (AssociateLensesResponse'),+    newAssociateLensesResponse,++    -- ** CreateLensShare+    CreateLensShare (CreateLensShare'),+    newCreateLensShare,+    CreateLensShareResponse (CreateLensShareResponse'),+    newCreateLensShareResponse,++    -- ** CreateLensVersion+    CreateLensVersion (CreateLensVersion'),+    newCreateLensVersion,+    CreateLensVersionResponse (CreateLensVersionResponse'),+    newCreateLensVersionResponse,++    -- ** CreateMilestone+    CreateMilestone (CreateMilestone'),+    newCreateMilestone,+    CreateMilestoneResponse (CreateMilestoneResponse'),+    newCreateMilestoneResponse,++    -- ** CreateWorkload+    CreateWorkload (CreateWorkload'),+    newCreateWorkload,+    CreateWorkloadResponse (CreateWorkloadResponse'),+    newCreateWorkloadResponse,++    -- ** CreateWorkloadShare+    CreateWorkloadShare (CreateWorkloadShare'),+    newCreateWorkloadShare,+    CreateWorkloadShareResponse (CreateWorkloadShareResponse'),+    newCreateWorkloadShareResponse,++    -- ** DeleteLens+    DeleteLens (DeleteLens'),+    newDeleteLens,+    DeleteLensResponse (DeleteLensResponse'),+    newDeleteLensResponse,++    -- ** DeleteLensShare+    DeleteLensShare (DeleteLensShare'),+    newDeleteLensShare,+    DeleteLensShareResponse (DeleteLensShareResponse'),+    newDeleteLensShareResponse,++    -- ** DeleteWorkload+    DeleteWorkload (DeleteWorkload'),+    newDeleteWorkload,+    DeleteWorkloadResponse (DeleteWorkloadResponse'),+    newDeleteWorkloadResponse,++    -- ** DeleteWorkloadShare+    DeleteWorkloadShare (DeleteWorkloadShare'),+    newDeleteWorkloadShare,+    DeleteWorkloadShareResponse (DeleteWorkloadShareResponse'),+    newDeleteWorkloadShareResponse,++    -- ** DisassociateLenses+    DisassociateLenses (DisassociateLenses'),+    newDisassociateLenses,+    DisassociateLensesResponse (DisassociateLensesResponse'),+    newDisassociateLensesResponse,++    -- ** ExportLens+    ExportLens (ExportLens'),+    newExportLens,+    ExportLensResponse (ExportLensResponse'),+    newExportLensResponse,++    -- ** GetAnswer+    GetAnswer (GetAnswer'),+    newGetAnswer,+    GetAnswerResponse (GetAnswerResponse'),+    newGetAnswerResponse,++    -- ** GetLens+    GetLens (GetLens'),+    newGetLens,+    GetLensResponse (GetLensResponse'),+    newGetLensResponse,++    -- ** GetLensReview+    GetLensReview (GetLensReview'),+    newGetLensReview,+    GetLensReviewResponse (GetLensReviewResponse'),+    newGetLensReviewResponse,++    -- ** GetLensReviewReport+    GetLensReviewReport (GetLensReviewReport'),+    newGetLensReviewReport,+    GetLensReviewReportResponse (GetLensReviewReportResponse'),+    newGetLensReviewReportResponse,++    -- ** GetLensVersionDifference+    GetLensVersionDifference (GetLensVersionDifference'),+    newGetLensVersionDifference,+    GetLensVersionDifferenceResponse (GetLensVersionDifferenceResponse'),+    newGetLensVersionDifferenceResponse,++    -- ** GetMilestone+    GetMilestone (GetMilestone'),+    newGetMilestone,+    GetMilestoneResponse (GetMilestoneResponse'),+    newGetMilestoneResponse,++    -- ** GetWorkload+    GetWorkload (GetWorkload'),+    newGetWorkload,+    GetWorkloadResponse (GetWorkloadResponse'),+    newGetWorkloadResponse,++    -- ** ImportLens+    ImportLens (ImportLens'),+    newImportLens,+    ImportLensResponse (ImportLensResponse'),+    newImportLensResponse,++    -- ** ListAnswers+    ListAnswers (ListAnswers'),+    newListAnswers,+    ListAnswersResponse (ListAnswersResponse'),+    newListAnswersResponse,++    -- ** ListCheckDetails+    ListCheckDetails (ListCheckDetails'),+    newListCheckDetails,+    ListCheckDetailsResponse (ListCheckDetailsResponse'),+    newListCheckDetailsResponse,++    -- ** ListCheckSummaries+    ListCheckSummaries (ListCheckSummaries'),+    newListCheckSummaries,+    ListCheckSummariesResponse (ListCheckSummariesResponse'),+    newListCheckSummariesResponse,++    -- ** ListLensReviewImprovements+    ListLensReviewImprovements (ListLensReviewImprovements'),+    newListLensReviewImprovements,+    ListLensReviewImprovementsResponse (ListLensReviewImprovementsResponse'),+    newListLensReviewImprovementsResponse,++    -- ** ListLensReviews+    ListLensReviews (ListLensReviews'),+    newListLensReviews,+    ListLensReviewsResponse (ListLensReviewsResponse'),+    newListLensReviewsResponse,++    -- ** ListLensShares+    ListLensShares (ListLensShares'),+    newListLensShares,+    ListLensSharesResponse (ListLensSharesResponse'),+    newListLensSharesResponse,++    -- ** ListLenses+    ListLenses (ListLenses'),+    newListLenses,+    ListLensesResponse (ListLensesResponse'),+    newListLensesResponse,++    -- ** ListMilestones+    ListMilestones (ListMilestones'),+    newListMilestones,+    ListMilestonesResponse (ListMilestonesResponse'),+    newListMilestonesResponse,++    -- ** ListNotifications+    ListNotifications (ListNotifications'),+    newListNotifications,+    ListNotificationsResponse (ListNotificationsResponse'),+    newListNotificationsResponse,++    -- ** ListShareInvitations+    ListShareInvitations (ListShareInvitations'),+    newListShareInvitations,+    ListShareInvitationsResponse (ListShareInvitationsResponse'),+    newListShareInvitationsResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ListWorkloadShares+    ListWorkloadShares (ListWorkloadShares'),+    newListWorkloadShares,+    ListWorkloadSharesResponse (ListWorkloadSharesResponse'),+    newListWorkloadSharesResponse,++    -- ** ListWorkloads+    ListWorkloads (ListWorkloads'),+    newListWorkloads,+    ListWorkloadsResponse (ListWorkloadsResponse'),+    newListWorkloadsResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateAnswer+    UpdateAnswer (UpdateAnswer'),+    newUpdateAnswer,+    UpdateAnswerResponse (UpdateAnswerResponse'),+    newUpdateAnswerResponse,++    -- ** UpdateGlobalSettings+    UpdateGlobalSettings (UpdateGlobalSettings'),+    newUpdateGlobalSettings,+    UpdateGlobalSettingsResponse (UpdateGlobalSettingsResponse'),+    newUpdateGlobalSettingsResponse,++    -- ** UpdateLensReview+    UpdateLensReview (UpdateLensReview'),+    newUpdateLensReview,+    UpdateLensReviewResponse (UpdateLensReviewResponse'),+    newUpdateLensReviewResponse,++    -- ** UpdateShareInvitation+    UpdateShareInvitation (UpdateShareInvitation'),+    newUpdateShareInvitation,+    UpdateShareInvitationResponse (UpdateShareInvitationResponse'),+    newUpdateShareInvitationResponse,++    -- ** UpdateWorkload+    UpdateWorkload (UpdateWorkload'),+    newUpdateWorkload,+    UpdateWorkloadResponse (UpdateWorkloadResponse'),+    newUpdateWorkloadResponse,++    -- ** UpdateWorkloadShare+    UpdateWorkloadShare (UpdateWorkloadShare'),+    newUpdateWorkloadShare,+    UpdateWorkloadShareResponse (UpdateWorkloadShareResponse'),+    newUpdateWorkloadShareResponse,++    -- ** UpgradeLensReview+    UpgradeLensReview (UpgradeLensReview'),+    newUpgradeLensReview,+    UpgradeLensReviewResponse (UpgradeLensReviewResponse'),+    newUpgradeLensReviewResponse,++    -- * Types++    -- ** AdditionalResourceType+    AdditionalResourceType (..),++    -- ** AnswerReason+    AnswerReason (..),++    -- ** CheckFailureReason+    CheckFailureReason (..),++    -- ** CheckProvider+    CheckProvider (..),++    -- ** CheckStatus+    CheckStatus (..),++    -- ** ChoiceReason+    ChoiceReason (..),++    -- ** ChoiceStatus+    ChoiceStatus (..),++    -- ** DifferenceStatus+    DifferenceStatus (..),++    -- ** ImportLensStatus+    ImportLensStatus (..),++    -- ** LensStatus+    LensStatus (..),++    -- ** LensStatusType+    LensStatusType (..),++    -- ** LensType+    LensType (..),++    -- ** NotificationType+    NotificationType (..),++    -- ** OrganizationSharingStatus+    OrganizationSharingStatus (..),++    -- ** PermissionType+    PermissionType (..),++    -- ** Risk+    Risk (..),++    -- ** ShareInvitationAction+    ShareInvitationAction (..),++    -- ** ShareResourceType+    ShareResourceType (..),++    -- ** ShareStatus+    ShareStatus (..),++    -- ** TrustedAdvisorIntegrationStatus+    TrustedAdvisorIntegrationStatus (..),++    -- ** WorkloadEnvironment+    WorkloadEnvironment (..),++    -- ** WorkloadImprovementStatus+    WorkloadImprovementStatus (..),++    -- ** AdditionalResources+    AdditionalResources (AdditionalResources'),+    newAdditionalResources,++    -- ** Answer+    Answer (Answer'),+    newAnswer,++    -- ** AnswerSummary+    AnswerSummary (AnswerSummary'),+    newAnswerSummary,++    -- ** CheckDetail+    CheckDetail (CheckDetail'),+    newCheckDetail,++    -- ** CheckSummary+    CheckSummary (CheckSummary'),+    newCheckSummary,++    -- ** Choice+    Choice (Choice'),+    newChoice,++    -- ** ChoiceAnswer+    ChoiceAnswer (ChoiceAnswer'),+    newChoiceAnswer,++    -- ** ChoiceAnswerSummary+    ChoiceAnswerSummary (ChoiceAnswerSummary'),+    newChoiceAnswerSummary,++    -- ** ChoiceContent+    ChoiceContent (ChoiceContent'),+    newChoiceContent,++    -- ** ChoiceImprovementPlan+    ChoiceImprovementPlan (ChoiceImprovementPlan'),+    newChoiceImprovementPlan,++    -- ** ChoiceUpdate+    ChoiceUpdate (ChoiceUpdate'),+    newChoiceUpdate,++    -- ** ImprovementSummary+    ImprovementSummary (ImprovementSummary'),+    newImprovementSummary,++    -- ** Lens+    Lens (Lens'),+    newLens,++    -- ** LensReview+    LensReview (LensReview'),+    newLensReview,++    -- ** LensReviewReport+    LensReviewReport (LensReviewReport'),+    newLensReviewReport,++    -- ** LensReviewSummary+    LensReviewSummary (LensReviewSummary'),+    newLensReviewSummary,++    -- ** LensShareSummary+    LensShareSummary (LensShareSummary'),+    newLensShareSummary,++    -- ** LensSummary+    LensSummary (LensSummary'),+    newLensSummary,++    -- ** LensUpgradeSummary+    LensUpgradeSummary (LensUpgradeSummary'),+    newLensUpgradeSummary,++    -- ** Milestone+    Milestone (Milestone'),+    newMilestone,++    -- ** MilestoneSummary+    MilestoneSummary (MilestoneSummary'),+    newMilestoneSummary,++    -- ** NotificationSummary+    NotificationSummary (NotificationSummary'),+    newNotificationSummary,++    -- ** PillarDifference+    PillarDifference (PillarDifference'),+    newPillarDifference,++    -- ** PillarReviewSummary+    PillarReviewSummary (PillarReviewSummary'),+    newPillarReviewSummary,++    -- ** QuestionDifference+    QuestionDifference (QuestionDifference'),+    newQuestionDifference,++    -- ** ShareInvitation+    ShareInvitation (ShareInvitation'),+    newShareInvitation,++    -- ** ShareInvitationSummary+    ShareInvitationSummary (ShareInvitationSummary'),+    newShareInvitationSummary,++    -- ** VersionDifferences+    VersionDifferences (VersionDifferences'),+    newVersionDifferences,++    -- ** Workload+    Workload (Workload'),+    newWorkload,++    -- ** WorkloadDiscoveryConfig+    WorkloadDiscoveryConfig (WorkloadDiscoveryConfig'),+    newWorkloadDiscoveryConfig,++    -- ** WorkloadShare+    WorkloadShare (WorkloadShare'),+    newWorkloadShare,++    -- ** WorkloadShareSummary+    WorkloadShareSummary (WorkloadShareSummary'),+    newWorkloadShareSummary,++    -- ** WorkloadSummary+    WorkloadSummary (WorkloadSummary'),+    newWorkloadSummary,+  )+where++import Amazonka.WellArchitected.AssociateLenses+import Amazonka.WellArchitected.CreateLensShare+import Amazonka.WellArchitected.CreateLensVersion+import Amazonka.WellArchitected.CreateMilestone+import Amazonka.WellArchitected.CreateWorkload+import Amazonka.WellArchitected.CreateWorkloadShare+import Amazonka.WellArchitected.DeleteLens+import Amazonka.WellArchitected.DeleteLensShare+import Amazonka.WellArchitected.DeleteWorkload+import Amazonka.WellArchitected.DeleteWorkloadShare+import Amazonka.WellArchitected.DisassociateLenses+import Amazonka.WellArchitected.ExportLens+import Amazonka.WellArchitected.GetAnswer+import Amazonka.WellArchitected.GetLens+import Amazonka.WellArchitected.GetLensReview+import Amazonka.WellArchitected.GetLensReviewReport+import Amazonka.WellArchitected.GetLensVersionDifference+import Amazonka.WellArchitected.GetMilestone+import Amazonka.WellArchitected.GetWorkload+import Amazonka.WellArchitected.ImportLens+import Amazonka.WellArchitected.Lens+import Amazonka.WellArchitected.ListAnswers+import Amazonka.WellArchitected.ListCheckDetails+import Amazonka.WellArchitected.ListCheckSummaries+import Amazonka.WellArchitected.ListLensReviewImprovements+import Amazonka.WellArchitected.ListLensReviews+import Amazonka.WellArchitected.ListLensShares+import Amazonka.WellArchitected.ListLenses+import Amazonka.WellArchitected.ListMilestones+import Amazonka.WellArchitected.ListNotifications+import Amazonka.WellArchitected.ListShareInvitations+import Amazonka.WellArchitected.ListTagsForResource+import Amazonka.WellArchitected.ListWorkloadShares+import Amazonka.WellArchitected.ListWorkloads+import Amazonka.WellArchitected.TagResource+import Amazonka.WellArchitected.Types+import Amazonka.WellArchitected.UntagResource+import Amazonka.WellArchitected.UpdateAnswer+import Amazonka.WellArchitected.UpdateGlobalSettings+import Amazonka.WellArchitected.UpdateLensReview+import Amazonka.WellArchitected.UpdateShareInvitation+import Amazonka.WellArchitected.UpdateWorkload+import Amazonka.WellArchitected.UpdateWorkloadShare+import Amazonka.WellArchitected.UpgradeLensReview+import Amazonka.WellArchitected.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 'WellArchitected'.++-- $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/WellArchitected/AssociateLenses.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.WellArchitected.AssociateLenses+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associate a lens to a workload.+--+-- Up to 10 lenses can be associated with a workload in a single API+-- operation. A maximum of 20 lenses can be associated with a workload.+--+-- __Disclaimer__+--+-- By accessing and\/or applying custom lenses created by another Amazon+-- Web Services user or account, you acknowledge that custom lenses created+-- by other users and shared with you are Third Party Content as defined in+-- the Amazon Web Services Customer Agreement.+module Amazonka.WellArchitected.AssociateLenses+  ( -- * Creating a Request+    AssociateLenses (..),+    newAssociateLenses,++    -- * Request Lenses+    associateLenses_workloadId,+    associateLenses_lensAliases,++    -- * Destructuring the Response+    AssociateLensesResponse (..),+    newAssociateLensesResponse,+  )+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.WellArchitected.Types++-- | Input to associate lens reviews.+--+-- /See:/ 'newAssociateLenses' smart constructor.+data AssociateLenses = AssociateLenses'+  { workloadId :: Prelude.Text,+    lensAliases :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateLenses' 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:+--+-- 'workloadId', 'associateLenses_workloadId' - Undocumented member.+--+-- 'lensAliases', 'associateLenses_lensAliases' - Undocumented member.+newAssociateLenses ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'lensAliases'+  Prelude.NonEmpty Prelude.Text ->+  AssociateLenses+newAssociateLenses pWorkloadId_ pLensAliases_ =+  AssociateLenses'+    { workloadId = pWorkloadId_,+      lensAliases = Lens.coerced Lens.# pLensAliases_+    }++-- | Undocumented member.+associateLenses_workloadId :: Lens.Lens' AssociateLenses Prelude.Text+associateLenses_workloadId = Lens.lens (\AssociateLenses' {workloadId} -> workloadId) (\s@AssociateLenses' {} a -> s {workloadId = a} :: AssociateLenses)++-- | Undocumented member.+associateLenses_lensAliases :: Lens.Lens' AssociateLenses (Prelude.NonEmpty Prelude.Text)+associateLenses_lensAliases = Lens.lens (\AssociateLenses' {lensAliases} -> lensAliases) (\s@AssociateLenses' {} a -> s {lensAliases = a} :: AssociateLenses) Prelude.. Lens.coerced++instance Core.AWSRequest AssociateLenses where+  type+    AWSResponse AssociateLenses =+      AssociateLensesResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveNull AssociateLensesResponse'++instance Prelude.Hashable AssociateLenses where+  hashWithSalt _salt AssociateLenses' {..} =+    _salt+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` lensAliases++instance Prelude.NFData AssociateLenses where+  rnf AssociateLenses' {..} =+    Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf lensAliases++instance Data.ToHeaders AssociateLenses where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AssociateLenses where+  toJSON AssociateLenses' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("LensAliases" Data..= lensAliases)]+      )++instance Data.ToPath AssociateLenses where+  toPath AssociateLenses' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/associateLenses"+      ]++instance Data.ToQuery AssociateLenses where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateLensesResponse' smart constructor.+data AssociateLensesResponse = AssociateLensesResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateLensesResponse' 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.+newAssociateLensesResponse ::+  AssociateLensesResponse+newAssociateLensesResponse = AssociateLensesResponse'++instance Prelude.NFData AssociateLensesResponse where+  rnf _ = ()
+ gen/Amazonka/WellArchitected/CreateLensShare.hs view
@@ -0,0 +1,213 @@+{-# 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.WellArchitected.CreateLensShare+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a lens share.+--+-- The owner of a lens can share it with other Amazon Web Services+-- accounts, IAM users, an organization, and organizational units (OUs) in+-- the same Amazon Web Services Region. Shared access to a lens is not+-- removed until the lens invitation is deleted.+--+-- __Disclaimer__+--+-- By sharing your custom lenses with other Amazon Web Services accounts,+-- you acknowledge that Amazon Web Services will make your custom lenses+-- available to those other accounts. Those other accounts may continue to+-- access and use your shared custom lenses even if you delete the custom+-- lenses from your own Amazon Web Services account or terminate your+-- Amazon Web Services account.+module Amazonka.WellArchitected.CreateLensShare+  ( -- * Creating a Request+    CreateLensShare (..),+    newCreateLensShare,++    -- * Request Lenses+    createLensShare_lensAlias,+    createLensShare_sharedWith,+    createLensShare_clientRequestToken,++    -- * Destructuring the Response+    CreateLensShareResponse (..),+    newCreateLensShareResponse,++    -- * Response Lenses+    createLensShareResponse_shareId,+    createLensShareResponse_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.WellArchitected.Types++-- | /See:/ 'newCreateLensShare' smart constructor.+data CreateLensShare = CreateLensShare'+  { lensAlias :: Prelude.Text,+    sharedWith :: Prelude.Text,+    clientRequestToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLensShare' 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:+--+-- 'lensAlias', 'createLensShare_lensAlias' - Undocumented member.+--+-- 'sharedWith', 'createLensShare_sharedWith' - Undocumented member.+--+-- 'clientRequestToken', 'createLensShare_clientRequestToken' - Undocumented member.+newCreateLensShare ::+  -- | 'lensAlias'+  Prelude.Text ->+  -- | 'sharedWith'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  CreateLensShare+newCreateLensShare+  pLensAlias_+  pSharedWith_+  pClientRequestToken_ =+    CreateLensShare'+      { lensAlias = pLensAlias_,+        sharedWith = pSharedWith_,+        clientRequestToken = pClientRequestToken_+      }++-- | Undocumented member.+createLensShare_lensAlias :: Lens.Lens' CreateLensShare Prelude.Text+createLensShare_lensAlias = Lens.lens (\CreateLensShare' {lensAlias} -> lensAlias) (\s@CreateLensShare' {} a -> s {lensAlias = a} :: CreateLensShare)++-- | Undocumented member.+createLensShare_sharedWith :: Lens.Lens' CreateLensShare Prelude.Text+createLensShare_sharedWith = Lens.lens (\CreateLensShare' {sharedWith} -> sharedWith) (\s@CreateLensShare' {} a -> s {sharedWith = a} :: CreateLensShare)++-- | Undocumented member.+createLensShare_clientRequestToken :: Lens.Lens' CreateLensShare Prelude.Text+createLensShare_clientRequestToken = Lens.lens (\CreateLensShare' {clientRequestToken} -> clientRequestToken) (\s@CreateLensShare' {} a -> s {clientRequestToken = a} :: CreateLensShare)++instance Core.AWSRequest CreateLensShare where+  type+    AWSResponse CreateLensShare =+      CreateLensShareResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateLensShareResponse'+            Prelude.<$> (x Data..?> "ShareId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateLensShare where+  hashWithSalt _salt CreateLensShare' {..} =+    _salt+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` sharedWith+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData CreateLensShare where+  rnf CreateLensShare' {..} =+    Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf sharedWith+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders CreateLensShare where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateLensShare where+  toJSON CreateLensShare' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("SharedWith" Data..= sharedWith),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath CreateLensShare where+  toPath CreateLensShare' {..} =+    Prelude.mconcat+      ["/lenses/", Data.toBS lensAlias, "/shares"]++instance Data.ToQuery CreateLensShare where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLensShareResponse' smart constructor.+data CreateLensShareResponse = CreateLensShareResponse'+  { shareId :: 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 'CreateLensShareResponse' 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:+--+-- 'shareId', 'createLensShareResponse_shareId' - Undocumented member.+--+-- 'httpStatus', 'createLensShareResponse_httpStatus' - The response's http status code.+newCreateLensShareResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateLensShareResponse+newCreateLensShareResponse pHttpStatus_ =+  CreateLensShareResponse'+    { shareId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createLensShareResponse_shareId :: Lens.Lens' CreateLensShareResponse (Prelude.Maybe Prelude.Text)+createLensShareResponse_shareId = Lens.lens (\CreateLensShareResponse' {shareId} -> shareId) (\s@CreateLensShareResponse' {} a -> s {shareId = a} :: CreateLensShareResponse)++-- | The response's http status code.+createLensShareResponse_httpStatus :: Lens.Lens' CreateLensShareResponse Prelude.Int+createLensShareResponse_httpStatus = Lens.lens (\CreateLensShareResponse' {httpStatus} -> httpStatus) (\s@CreateLensShareResponse' {} a -> s {httpStatus = a} :: CreateLensShareResponse)++instance Prelude.NFData CreateLensShareResponse where+  rnf CreateLensShareResponse' {..} =+    Prelude.rnf shareId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/CreateLensVersion.hs view
@@ -0,0 +1,236 @@+{-# 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.WellArchitected.CreateLensVersion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a new lens version.+--+-- A lens can have up to 100 versions.+--+-- After a lens has been imported, create a new lens version to publish it.+-- The owner of a lens can share the lens with other Amazon Web Services+-- accounts and IAM users in the same Amazon Web Services Region. Only the+-- owner of a lens can delete it.+module Amazonka.WellArchitected.CreateLensVersion+  ( -- * Creating a Request+    CreateLensVersion (..),+    newCreateLensVersion,++    -- * Request Lenses+    createLensVersion_isMajorVersion,+    createLensVersion_lensAlias,+    createLensVersion_lensVersion,+    createLensVersion_clientRequestToken,++    -- * Destructuring the Response+    CreateLensVersionResponse (..),+    newCreateLensVersionResponse,++    -- * Response Lenses+    createLensVersionResponse_lensArn,+    createLensVersionResponse_lensVersion,+    createLensVersionResponse_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.WellArchitected.Types++-- | /See:/ 'newCreateLensVersion' smart constructor.+data CreateLensVersion = CreateLensVersion'+  { -- | Set to true if this new major lens version.+    isMajorVersion :: Prelude.Maybe Prelude.Bool,+    lensAlias :: Prelude.Text,+    -- | The version of the lens being created.+    lensVersion :: Prelude.Text,+    clientRequestToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLensVersion' 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:+--+-- 'isMajorVersion', 'createLensVersion_isMajorVersion' - Set to true if this new major lens version.+--+-- 'lensAlias', 'createLensVersion_lensAlias' - Undocumented member.+--+-- 'lensVersion', 'createLensVersion_lensVersion' - The version of the lens being created.+--+-- 'clientRequestToken', 'createLensVersion_clientRequestToken' - Undocumented member.+newCreateLensVersion ::+  -- | 'lensAlias'+  Prelude.Text ->+  -- | 'lensVersion'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  CreateLensVersion+newCreateLensVersion+  pLensAlias_+  pLensVersion_+  pClientRequestToken_ =+    CreateLensVersion'+      { isMajorVersion =+          Prelude.Nothing,+        lensAlias = pLensAlias_,+        lensVersion = pLensVersion_,+        clientRequestToken = pClientRequestToken_+      }++-- | Set to true if this new major lens version.+createLensVersion_isMajorVersion :: Lens.Lens' CreateLensVersion (Prelude.Maybe Prelude.Bool)+createLensVersion_isMajorVersion = Lens.lens (\CreateLensVersion' {isMajorVersion} -> isMajorVersion) (\s@CreateLensVersion' {} a -> s {isMajorVersion = a} :: CreateLensVersion)++-- | Undocumented member.+createLensVersion_lensAlias :: Lens.Lens' CreateLensVersion Prelude.Text+createLensVersion_lensAlias = Lens.lens (\CreateLensVersion' {lensAlias} -> lensAlias) (\s@CreateLensVersion' {} a -> s {lensAlias = a} :: CreateLensVersion)++-- | The version of the lens being created.+createLensVersion_lensVersion :: Lens.Lens' CreateLensVersion Prelude.Text+createLensVersion_lensVersion = Lens.lens (\CreateLensVersion' {lensVersion} -> lensVersion) (\s@CreateLensVersion' {} a -> s {lensVersion = a} :: CreateLensVersion)++-- | Undocumented member.+createLensVersion_clientRequestToken :: Lens.Lens' CreateLensVersion Prelude.Text+createLensVersion_clientRequestToken = Lens.lens (\CreateLensVersion' {clientRequestToken} -> clientRequestToken) (\s@CreateLensVersion' {} a -> s {clientRequestToken = a} :: CreateLensVersion)++instance Core.AWSRequest CreateLensVersion where+  type+    AWSResponse CreateLensVersion =+      CreateLensVersionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateLensVersionResponse'+            Prelude.<$> (x Data..?> "LensArn")+            Prelude.<*> (x Data..?> "LensVersion")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateLensVersion where+  hashWithSalt _salt CreateLensVersion' {..} =+    _salt+      `Prelude.hashWithSalt` isMajorVersion+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` lensVersion+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData CreateLensVersion where+  rnf CreateLensVersion' {..} =+    Prelude.rnf isMajorVersion+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf lensVersion+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders CreateLensVersion where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateLensVersion where+  toJSON CreateLensVersion' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("IsMajorVersion" Data..=)+              Prelude.<$> isMajorVersion,+            Prelude.Just ("LensVersion" Data..= lensVersion),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath CreateLensVersion where+  toPath CreateLensVersion' {..} =+    Prelude.mconcat+      ["/lenses/", Data.toBS lensAlias, "/versions"]++instance Data.ToQuery CreateLensVersion where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLensVersionResponse' smart constructor.+data CreateLensVersionResponse = CreateLensVersionResponse'+  { -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    -- | The version of the lens.+    lensVersion :: 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 'CreateLensVersionResponse' 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:+--+-- 'lensArn', 'createLensVersionResponse_lensArn' - The ARN for the lens.+--+-- 'lensVersion', 'createLensVersionResponse_lensVersion' - The version of the lens.+--+-- 'httpStatus', 'createLensVersionResponse_httpStatus' - The response's http status code.+newCreateLensVersionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateLensVersionResponse+newCreateLensVersionResponse pHttpStatus_ =+  CreateLensVersionResponse'+    { lensArn =+        Prelude.Nothing,+      lensVersion = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN for the lens.+createLensVersionResponse_lensArn :: Lens.Lens' CreateLensVersionResponse (Prelude.Maybe Prelude.Text)+createLensVersionResponse_lensArn = Lens.lens (\CreateLensVersionResponse' {lensArn} -> lensArn) (\s@CreateLensVersionResponse' {} a -> s {lensArn = a} :: CreateLensVersionResponse)++-- | The version of the lens.+createLensVersionResponse_lensVersion :: Lens.Lens' CreateLensVersionResponse (Prelude.Maybe Prelude.Text)+createLensVersionResponse_lensVersion = Lens.lens (\CreateLensVersionResponse' {lensVersion} -> lensVersion) (\s@CreateLensVersionResponse' {} a -> s {lensVersion = a} :: CreateLensVersionResponse)++-- | The response's http status code.+createLensVersionResponse_httpStatus :: Lens.Lens' CreateLensVersionResponse Prelude.Int+createLensVersionResponse_httpStatus = Lens.lens (\CreateLensVersionResponse' {httpStatus} -> httpStatus) (\s@CreateLensVersionResponse' {} a -> s {httpStatus = a} :: CreateLensVersionResponse)++instance Prelude.NFData CreateLensVersionResponse where+  rnf CreateLensVersionResponse' {..} =+    Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf lensVersion+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/CreateMilestone.hs view
@@ -0,0 +1,216 @@+{-# 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.WellArchitected.CreateMilestone+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a milestone for an existing workload.+module Amazonka.WellArchitected.CreateMilestone+  ( -- * Creating a Request+    CreateMilestone (..),+    newCreateMilestone,++    -- * Request Lenses+    createMilestone_workloadId,+    createMilestone_milestoneName,+    createMilestone_clientRequestToken,++    -- * Destructuring the Response+    CreateMilestoneResponse (..),+    newCreateMilestoneResponse,++    -- * Response Lenses+    createMilestoneResponse_milestoneNumber,+    createMilestoneResponse_workloadId,+    createMilestoneResponse_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.WellArchitected.Types++-- | Input for milestone creation.+--+-- /See:/ 'newCreateMilestone' smart constructor.+data CreateMilestone = CreateMilestone'+  { workloadId :: Prelude.Text,+    milestoneName :: Prelude.Text,+    clientRequestToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMilestone' 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:+--+-- 'workloadId', 'createMilestone_workloadId' - Undocumented member.+--+-- 'milestoneName', 'createMilestone_milestoneName' - Undocumented member.+--+-- 'clientRequestToken', 'createMilestone_clientRequestToken' - Undocumented member.+newCreateMilestone ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'milestoneName'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  CreateMilestone+newCreateMilestone+  pWorkloadId_+  pMilestoneName_+  pClientRequestToken_ =+    CreateMilestone'+      { workloadId = pWorkloadId_,+        milestoneName = pMilestoneName_,+        clientRequestToken = pClientRequestToken_+      }++-- | Undocumented member.+createMilestone_workloadId :: Lens.Lens' CreateMilestone Prelude.Text+createMilestone_workloadId = Lens.lens (\CreateMilestone' {workloadId} -> workloadId) (\s@CreateMilestone' {} a -> s {workloadId = a} :: CreateMilestone)++-- | Undocumented member.+createMilestone_milestoneName :: Lens.Lens' CreateMilestone Prelude.Text+createMilestone_milestoneName = Lens.lens (\CreateMilestone' {milestoneName} -> milestoneName) (\s@CreateMilestone' {} a -> s {milestoneName = a} :: CreateMilestone)++-- | Undocumented member.+createMilestone_clientRequestToken :: Lens.Lens' CreateMilestone Prelude.Text+createMilestone_clientRequestToken = Lens.lens (\CreateMilestone' {clientRequestToken} -> clientRequestToken) (\s@CreateMilestone' {} a -> s {clientRequestToken = a} :: CreateMilestone)++instance Core.AWSRequest CreateMilestone where+  type+    AWSResponse CreateMilestone =+      CreateMilestoneResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateMilestoneResponse'+            Prelude.<$> (x Data..?> "MilestoneNumber")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateMilestone where+  hashWithSalt _salt CreateMilestone' {..} =+    _salt+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` milestoneName+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData CreateMilestone where+  rnf CreateMilestone' {..} =+    Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf milestoneName+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders CreateMilestone where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateMilestone where+  toJSON CreateMilestone' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("MilestoneName" Data..= milestoneName),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath CreateMilestone where+  toPath CreateMilestone' {..} =+    Prelude.mconcat+      ["/workloads/", Data.toBS workloadId, "/milestones"]++instance Data.ToQuery CreateMilestone where+  toQuery = Prelude.const Prelude.mempty++-- | Output of a create milestone call.+--+-- /See:/ 'newCreateMilestoneResponse' smart constructor.+data CreateMilestoneResponse = CreateMilestoneResponse'+  { milestoneNumber :: Prelude.Maybe Prelude.Natural,+    workloadId :: 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 'CreateMilestoneResponse' 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:+--+-- 'milestoneNumber', 'createMilestoneResponse_milestoneNumber' - Undocumented member.+--+-- 'workloadId', 'createMilestoneResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'createMilestoneResponse_httpStatus' - The response's http status code.+newCreateMilestoneResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateMilestoneResponse+newCreateMilestoneResponse pHttpStatus_ =+  CreateMilestoneResponse'+    { milestoneNumber =+        Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createMilestoneResponse_milestoneNumber :: Lens.Lens' CreateMilestoneResponse (Prelude.Maybe Prelude.Natural)+createMilestoneResponse_milestoneNumber = Lens.lens (\CreateMilestoneResponse' {milestoneNumber} -> milestoneNumber) (\s@CreateMilestoneResponse' {} a -> s {milestoneNumber = a} :: CreateMilestoneResponse)++-- | Undocumented member.+createMilestoneResponse_workloadId :: Lens.Lens' CreateMilestoneResponse (Prelude.Maybe Prelude.Text)+createMilestoneResponse_workloadId = Lens.lens (\CreateMilestoneResponse' {workloadId} -> workloadId) (\s@CreateMilestoneResponse' {} a -> s {workloadId = a} :: CreateMilestoneResponse)++-- | The response's http status code.+createMilestoneResponse_httpStatus :: Lens.Lens' CreateMilestoneResponse Prelude.Int+createMilestoneResponse_httpStatus = Lens.lens (\CreateMilestoneResponse' {httpStatus} -> httpStatus) (\s@CreateMilestoneResponse' {} a -> s {httpStatus = a} :: CreateMilestoneResponse)++instance Prelude.NFData CreateMilestoneResponse where+  rnf CreateMilestoneResponse' {..} =+    Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/CreateWorkload.hs view
@@ -0,0 +1,403 @@+{-# 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.WellArchitected.CreateWorkload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a new workload.+--+-- The owner of a workload can share the workload with other Amazon Web+-- Services accounts, IAM users, an organization, and organizational units+-- (OUs) in the same Amazon Web Services Region. Only the owner of a+-- workload can delete it.+--+-- For more information, see+-- <https://docs.aws.amazon.com/wellarchitected/latest/userguide/define-workload.html Defining a Workload>+-- in the /Well-Architected Tool User Guide/.+module Amazonka.WellArchitected.CreateWorkload+  ( -- * Creating a Request+    CreateWorkload (..),+    newCreateWorkload,++    -- * Request Lenses+    createWorkload_accountIds,+    createWorkload_applications,+    createWorkload_architecturalDesign,+    createWorkload_awsRegions,+    createWorkload_discoveryConfig,+    createWorkload_industry,+    createWorkload_industryType,+    createWorkload_nonAwsRegions,+    createWorkload_notes,+    createWorkload_pillarPriorities,+    createWorkload_reviewOwner,+    createWorkload_tags,+    createWorkload_workloadName,+    createWorkload_description,+    createWorkload_environment,+    createWorkload_lenses,+    createWorkload_clientRequestToken,++    -- * Destructuring the Response+    CreateWorkloadResponse (..),+    newCreateWorkloadResponse,++    -- * Response Lenses+    createWorkloadResponse_workloadArn,+    createWorkloadResponse_workloadId,+    createWorkloadResponse_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.WellArchitected.Types++-- | Input for workload creation.+--+-- /See:/ 'newCreateWorkload' smart constructor.+data CreateWorkload = CreateWorkload'+  { accountIds :: Prelude.Maybe [Prelude.Text],+    -- | List of AppRegistry application ARNs associated to the workload.+    applications :: Prelude.Maybe [Prelude.Text],+    architecturalDesign :: Prelude.Maybe Prelude.Text,+    awsRegions :: Prelude.Maybe [Prelude.Text],+    -- | Well-Architected discovery configuration settings associated to the+    -- workload.+    discoveryConfig :: Prelude.Maybe WorkloadDiscoveryConfig,+    industry :: Prelude.Maybe Prelude.Text,+    industryType :: Prelude.Maybe Prelude.Text,+    nonAwsRegions :: Prelude.Maybe [Prelude.Text],+    notes :: Prelude.Maybe Prelude.Text,+    pillarPriorities :: Prelude.Maybe [Prelude.Text],+    reviewOwner :: Prelude.Maybe Prelude.Text,+    -- | The tags to be associated with the workload.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    workloadName :: Prelude.Text,+    description :: Prelude.Text,+    environment :: WorkloadEnvironment,+    lenses :: [Prelude.Text],+    clientRequestToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWorkload' 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:+--+-- 'accountIds', 'createWorkload_accountIds' - Undocumented member.+--+-- 'applications', 'createWorkload_applications' - List of AppRegistry application ARNs associated to the workload.+--+-- 'architecturalDesign', 'createWorkload_architecturalDesign' - Undocumented member.+--+-- 'awsRegions', 'createWorkload_awsRegions' - Undocumented member.+--+-- 'discoveryConfig', 'createWorkload_discoveryConfig' - Well-Architected discovery configuration settings associated to the+-- workload.+--+-- 'industry', 'createWorkload_industry' - Undocumented member.+--+-- 'industryType', 'createWorkload_industryType' - Undocumented member.+--+-- 'nonAwsRegions', 'createWorkload_nonAwsRegions' - Undocumented member.+--+-- 'notes', 'createWorkload_notes' - Undocumented member.+--+-- 'pillarPriorities', 'createWorkload_pillarPriorities' - Undocumented member.+--+-- 'reviewOwner', 'createWorkload_reviewOwner' - Undocumented member.+--+-- 'tags', 'createWorkload_tags' - The tags to be associated with the workload.+--+-- 'workloadName', 'createWorkload_workloadName' - Undocumented member.+--+-- 'description', 'createWorkload_description' - Undocumented member.+--+-- 'environment', 'createWorkload_environment' - Undocumented member.+--+-- 'lenses', 'createWorkload_lenses' - Undocumented member.+--+-- 'clientRequestToken', 'createWorkload_clientRequestToken' - Undocumented member.+newCreateWorkload ::+  -- | 'workloadName'+  Prelude.Text ->+  -- | 'description'+  Prelude.Text ->+  -- | 'environment'+  WorkloadEnvironment ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  CreateWorkload+newCreateWorkload+  pWorkloadName_+  pDescription_+  pEnvironment_+  pClientRequestToken_ =+    CreateWorkload'+      { accountIds = Prelude.Nothing,+        applications = Prelude.Nothing,+        architecturalDesign = Prelude.Nothing,+        awsRegions = Prelude.Nothing,+        discoveryConfig = Prelude.Nothing,+        industry = Prelude.Nothing,+        industryType = Prelude.Nothing,+        nonAwsRegions = Prelude.Nothing,+        notes = Prelude.Nothing,+        pillarPriorities = Prelude.Nothing,+        reviewOwner = Prelude.Nothing,+        tags = Prelude.Nothing,+        workloadName = pWorkloadName_,+        description = pDescription_,+        environment = pEnvironment_,+        lenses = Prelude.mempty,+        clientRequestToken = pClientRequestToken_+      }++-- | Undocumented member.+createWorkload_accountIds :: Lens.Lens' CreateWorkload (Prelude.Maybe [Prelude.Text])+createWorkload_accountIds = Lens.lens (\CreateWorkload' {accountIds} -> accountIds) (\s@CreateWorkload' {} a -> s {accountIds = a} :: CreateWorkload) Prelude.. Lens.mapping Lens.coerced++-- | List of AppRegistry application ARNs associated to the workload.+createWorkload_applications :: Lens.Lens' CreateWorkload (Prelude.Maybe [Prelude.Text])+createWorkload_applications = Lens.lens (\CreateWorkload' {applications} -> applications) (\s@CreateWorkload' {} a -> s {applications = a} :: CreateWorkload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createWorkload_architecturalDesign :: Lens.Lens' CreateWorkload (Prelude.Maybe Prelude.Text)+createWorkload_architecturalDesign = Lens.lens (\CreateWorkload' {architecturalDesign} -> architecturalDesign) (\s@CreateWorkload' {} a -> s {architecturalDesign = a} :: CreateWorkload)++-- | Undocumented member.+createWorkload_awsRegions :: Lens.Lens' CreateWorkload (Prelude.Maybe [Prelude.Text])+createWorkload_awsRegions = Lens.lens (\CreateWorkload' {awsRegions} -> awsRegions) (\s@CreateWorkload' {} a -> s {awsRegions = a} :: CreateWorkload) Prelude.. Lens.mapping Lens.coerced++-- | Well-Architected discovery configuration settings associated to the+-- workload.+createWorkload_discoveryConfig :: Lens.Lens' CreateWorkload (Prelude.Maybe WorkloadDiscoveryConfig)+createWorkload_discoveryConfig = Lens.lens (\CreateWorkload' {discoveryConfig} -> discoveryConfig) (\s@CreateWorkload' {} a -> s {discoveryConfig = a} :: CreateWorkload)++-- | Undocumented member.+createWorkload_industry :: Lens.Lens' CreateWorkload (Prelude.Maybe Prelude.Text)+createWorkload_industry = Lens.lens (\CreateWorkload' {industry} -> industry) (\s@CreateWorkload' {} a -> s {industry = a} :: CreateWorkload)++-- | Undocumented member.+createWorkload_industryType :: Lens.Lens' CreateWorkload (Prelude.Maybe Prelude.Text)+createWorkload_industryType = Lens.lens (\CreateWorkload' {industryType} -> industryType) (\s@CreateWorkload' {} a -> s {industryType = a} :: CreateWorkload)++-- | Undocumented member.+createWorkload_nonAwsRegions :: Lens.Lens' CreateWorkload (Prelude.Maybe [Prelude.Text])+createWorkload_nonAwsRegions = Lens.lens (\CreateWorkload' {nonAwsRegions} -> nonAwsRegions) (\s@CreateWorkload' {} a -> s {nonAwsRegions = a} :: CreateWorkload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createWorkload_notes :: Lens.Lens' CreateWorkload (Prelude.Maybe Prelude.Text)+createWorkload_notes = Lens.lens (\CreateWorkload' {notes} -> notes) (\s@CreateWorkload' {} a -> s {notes = a} :: CreateWorkload)++-- | Undocumented member.+createWorkload_pillarPriorities :: Lens.Lens' CreateWorkload (Prelude.Maybe [Prelude.Text])+createWorkload_pillarPriorities = Lens.lens (\CreateWorkload' {pillarPriorities} -> pillarPriorities) (\s@CreateWorkload' {} a -> s {pillarPriorities = a} :: CreateWorkload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createWorkload_reviewOwner :: Lens.Lens' CreateWorkload (Prelude.Maybe Prelude.Text)+createWorkload_reviewOwner = Lens.lens (\CreateWorkload' {reviewOwner} -> reviewOwner) (\s@CreateWorkload' {} a -> s {reviewOwner = a} :: CreateWorkload)++-- | The tags to be associated with the workload.+createWorkload_tags :: Lens.Lens' CreateWorkload (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createWorkload_tags = Lens.lens (\CreateWorkload' {tags} -> tags) (\s@CreateWorkload' {} a -> s {tags = a} :: CreateWorkload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createWorkload_workloadName :: Lens.Lens' CreateWorkload Prelude.Text+createWorkload_workloadName = Lens.lens (\CreateWorkload' {workloadName} -> workloadName) (\s@CreateWorkload' {} a -> s {workloadName = a} :: CreateWorkload)++-- | Undocumented member.+createWorkload_description :: Lens.Lens' CreateWorkload Prelude.Text+createWorkload_description = Lens.lens (\CreateWorkload' {description} -> description) (\s@CreateWorkload' {} a -> s {description = a} :: CreateWorkload)++-- | Undocumented member.+createWorkload_environment :: Lens.Lens' CreateWorkload WorkloadEnvironment+createWorkload_environment = Lens.lens (\CreateWorkload' {environment} -> environment) (\s@CreateWorkload' {} a -> s {environment = a} :: CreateWorkload)++-- | Undocumented member.+createWorkload_lenses :: Lens.Lens' CreateWorkload [Prelude.Text]+createWorkload_lenses = Lens.lens (\CreateWorkload' {lenses} -> lenses) (\s@CreateWorkload' {} a -> s {lenses = a} :: CreateWorkload) Prelude.. Lens.coerced++-- | Undocumented member.+createWorkload_clientRequestToken :: Lens.Lens' CreateWorkload Prelude.Text+createWorkload_clientRequestToken = Lens.lens (\CreateWorkload' {clientRequestToken} -> clientRequestToken) (\s@CreateWorkload' {} a -> s {clientRequestToken = a} :: CreateWorkload)++instance Core.AWSRequest CreateWorkload where+  type+    AWSResponse CreateWorkload =+      CreateWorkloadResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWorkloadResponse'+            Prelude.<$> (x Data..?> "WorkloadArn")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWorkload where+  hashWithSalt _salt CreateWorkload' {..} =+    _salt+      `Prelude.hashWithSalt` accountIds+      `Prelude.hashWithSalt` applications+      `Prelude.hashWithSalt` architecturalDesign+      `Prelude.hashWithSalt` awsRegions+      `Prelude.hashWithSalt` discoveryConfig+      `Prelude.hashWithSalt` industry+      `Prelude.hashWithSalt` industryType+      `Prelude.hashWithSalt` nonAwsRegions+      `Prelude.hashWithSalt` notes+      `Prelude.hashWithSalt` pillarPriorities+      `Prelude.hashWithSalt` reviewOwner+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` workloadName+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` environment+      `Prelude.hashWithSalt` lenses+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData CreateWorkload where+  rnf CreateWorkload' {..} =+    Prelude.rnf accountIds+      `Prelude.seq` Prelude.rnf applications+      `Prelude.seq` Prelude.rnf architecturalDesign+      `Prelude.seq` Prelude.rnf awsRegions+      `Prelude.seq` Prelude.rnf discoveryConfig+      `Prelude.seq` Prelude.rnf industry+      `Prelude.seq` Prelude.rnf industryType+      `Prelude.seq` Prelude.rnf nonAwsRegions+      `Prelude.seq` Prelude.rnf notes+      `Prelude.seq` Prelude.rnf pillarPriorities+      `Prelude.seq` Prelude.rnf reviewOwner+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf workloadName+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf environment+      `Prelude.seq` Prelude.rnf lenses+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders CreateWorkload where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateWorkload where+  toJSON CreateWorkload' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AccountIds" Data..=) Prelude.<$> accountIds,+            ("Applications" Data..=) Prelude.<$> applications,+            ("ArchitecturalDesign" Data..=)+              Prelude.<$> architecturalDesign,+            ("AwsRegions" Data..=) Prelude.<$> awsRegions,+            ("DiscoveryConfig" Data..=)+              Prelude.<$> discoveryConfig,+            ("Industry" Data..=) Prelude.<$> industry,+            ("IndustryType" Data..=) Prelude.<$> industryType,+            ("NonAwsRegions" Data..=) Prelude.<$> nonAwsRegions,+            ("Notes" Data..=) Prelude.<$> notes,+            ("PillarPriorities" Data..=)+              Prelude.<$> pillarPriorities,+            ("ReviewOwner" Data..=) Prelude.<$> reviewOwner,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("WorkloadName" Data..= workloadName),+            Prelude.Just ("Description" Data..= description),+            Prelude.Just ("Environment" Data..= environment),+            Prelude.Just ("Lenses" Data..= lenses),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath CreateWorkload where+  toPath = Prelude.const "/workloads"++instance Data.ToQuery CreateWorkload where+  toQuery = Prelude.const Prelude.mempty++-- | Output of a create workload call.+--+-- /See:/ 'newCreateWorkloadResponse' smart constructor.+data CreateWorkloadResponse = CreateWorkloadResponse'+  { workloadArn :: Prelude.Maybe Prelude.Text,+    workloadId :: 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 'CreateWorkloadResponse' 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:+--+-- 'workloadArn', 'createWorkloadResponse_workloadArn' - Undocumented member.+--+-- 'workloadId', 'createWorkloadResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'createWorkloadResponse_httpStatus' - The response's http status code.+newCreateWorkloadResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWorkloadResponse+newCreateWorkloadResponse pHttpStatus_ =+  CreateWorkloadResponse'+    { workloadArn =+        Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createWorkloadResponse_workloadArn :: Lens.Lens' CreateWorkloadResponse (Prelude.Maybe Prelude.Text)+createWorkloadResponse_workloadArn = Lens.lens (\CreateWorkloadResponse' {workloadArn} -> workloadArn) (\s@CreateWorkloadResponse' {} a -> s {workloadArn = a} :: CreateWorkloadResponse)++-- | Undocumented member.+createWorkloadResponse_workloadId :: Lens.Lens' CreateWorkloadResponse (Prelude.Maybe Prelude.Text)+createWorkloadResponse_workloadId = Lens.lens (\CreateWorkloadResponse' {workloadId} -> workloadId) (\s@CreateWorkloadResponse' {} a -> s {workloadId = a} :: CreateWorkloadResponse)++-- | The response's http status code.+createWorkloadResponse_httpStatus :: Lens.Lens' CreateWorkloadResponse Prelude.Int+createWorkloadResponse_httpStatus = Lens.lens (\CreateWorkloadResponse' {httpStatus} -> httpStatus) (\s@CreateWorkloadResponse' {} a -> s {httpStatus = a} :: CreateWorkloadResponse)++instance Prelude.NFData CreateWorkloadResponse where+  rnf CreateWorkloadResponse' {..} =+    Prelude.rnf workloadArn+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/CreateWorkloadShare.hs view
@@ -0,0 +1,240 @@+{-# 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.WellArchitected.CreateWorkloadShare+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a workload share.+--+-- The owner of a workload can share it with other Amazon Web Services+-- accounts and IAM users in the same Amazon Web Services Region. Shared+-- access to a workload is not removed until the workload invitation is+-- deleted.+--+-- For more information, see+-- <https://docs.aws.amazon.com/wellarchitected/latest/userguide/workloads-sharing.html Sharing a Workload>+-- in the /Well-Architected Tool User Guide/.+module Amazonka.WellArchitected.CreateWorkloadShare+  ( -- * Creating a Request+    CreateWorkloadShare (..),+    newCreateWorkloadShare,++    -- * Request Lenses+    createWorkloadShare_workloadId,+    createWorkloadShare_sharedWith,+    createWorkloadShare_permissionType,+    createWorkloadShare_clientRequestToken,++    -- * Destructuring the Response+    CreateWorkloadShareResponse (..),+    newCreateWorkloadShareResponse,++    -- * Response Lenses+    createWorkloadShareResponse_shareId,+    createWorkloadShareResponse_workloadId,+    createWorkloadShareResponse_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.WellArchitected.Types++-- | Input for Create Workload Share+--+-- /See:/ 'newCreateWorkloadShare' smart constructor.+data CreateWorkloadShare = CreateWorkloadShare'+  { workloadId :: Prelude.Text,+    sharedWith :: Prelude.Text,+    permissionType :: PermissionType,+    clientRequestToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWorkloadShare' 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:+--+-- 'workloadId', 'createWorkloadShare_workloadId' - Undocumented member.+--+-- 'sharedWith', 'createWorkloadShare_sharedWith' - Undocumented member.+--+-- 'permissionType', 'createWorkloadShare_permissionType' - Undocumented member.+--+-- 'clientRequestToken', 'createWorkloadShare_clientRequestToken' - Undocumented member.+newCreateWorkloadShare ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'sharedWith'+  Prelude.Text ->+  -- | 'permissionType'+  PermissionType ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  CreateWorkloadShare+newCreateWorkloadShare+  pWorkloadId_+  pSharedWith_+  pPermissionType_+  pClientRequestToken_ =+    CreateWorkloadShare'+      { workloadId = pWorkloadId_,+        sharedWith = pSharedWith_,+        permissionType = pPermissionType_,+        clientRequestToken = pClientRequestToken_+      }++-- | Undocumented member.+createWorkloadShare_workloadId :: Lens.Lens' CreateWorkloadShare Prelude.Text+createWorkloadShare_workloadId = Lens.lens (\CreateWorkloadShare' {workloadId} -> workloadId) (\s@CreateWorkloadShare' {} a -> s {workloadId = a} :: CreateWorkloadShare)++-- | Undocumented member.+createWorkloadShare_sharedWith :: Lens.Lens' CreateWorkloadShare Prelude.Text+createWorkloadShare_sharedWith = Lens.lens (\CreateWorkloadShare' {sharedWith} -> sharedWith) (\s@CreateWorkloadShare' {} a -> s {sharedWith = a} :: CreateWorkloadShare)++-- | Undocumented member.+createWorkloadShare_permissionType :: Lens.Lens' CreateWorkloadShare PermissionType+createWorkloadShare_permissionType = Lens.lens (\CreateWorkloadShare' {permissionType} -> permissionType) (\s@CreateWorkloadShare' {} a -> s {permissionType = a} :: CreateWorkloadShare)++-- | Undocumented member.+createWorkloadShare_clientRequestToken :: Lens.Lens' CreateWorkloadShare Prelude.Text+createWorkloadShare_clientRequestToken = Lens.lens (\CreateWorkloadShare' {clientRequestToken} -> clientRequestToken) (\s@CreateWorkloadShare' {} a -> s {clientRequestToken = a} :: CreateWorkloadShare)++instance Core.AWSRequest CreateWorkloadShare where+  type+    AWSResponse CreateWorkloadShare =+      CreateWorkloadShareResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWorkloadShareResponse'+            Prelude.<$> (x Data..?> "ShareId")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWorkloadShare where+  hashWithSalt _salt CreateWorkloadShare' {..} =+    _salt+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` sharedWith+      `Prelude.hashWithSalt` permissionType+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData CreateWorkloadShare where+  rnf CreateWorkloadShare' {..} =+    Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf sharedWith+      `Prelude.seq` Prelude.rnf permissionType+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders CreateWorkloadShare where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateWorkloadShare where+  toJSON CreateWorkloadShare' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("SharedWith" Data..= sharedWith),+            Prelude.Just+              ("PermissionType" Data..= permissionType),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath CreateWorkloadShare where+  toPath CreateWorkloadShare' {..} =+    Prelude.mconcat+      ["/workloads/", Data.toBS workloadId, "/shares"]++instance Data.ToQuery CreateWorkloadShare where+  toQuery = Prelude.const Prelude.mempty++-- | Input for Create Workload Share+--+-- /See:/ 'newCreateWorkloadShareResponse' smart constructor.+data CreateWorkloadShareResponse = CreateWorkloadShareResponse'+  { shareId :: Prelude.Maybe Prelude.Text,+    workloadId :: 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 'CreateWorkloadShareResponse' 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:+--+-- 'shareId', 'createWorkloadShareResponse_shareId' - Undocumented member.+--+-- 'workloadId', 'createWorkloadShareResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'createWorkloadShareResponse_httpStatus' - The response's http status code.+newCreateWorkloadShareResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWorkloadShareResponse+newCreateWorkloadShareResponse pHttpStatus_ =+  CreateWorkloadShareResponse'+    { shareId =+        Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createWorkloadShareResponse_shareId :: Lens.Lens' CreateWorkloadShareResponse (Prelude.Maybe Prelude.Text)+createWorkloadShareResponse_shareId = Lens.lens (\CreateWorkloadShareResponse' {shareId} -> shareId) (\s@CreateWorkloadShareResponse' {} a -> s {shareId = a} :: CreateWorkloadShareResponse)++-- | Undocumented member.+createWorkloadShareResponse_workloadId :: Lens.Lens' CreateWorkloadShareResponse (Prelude.Maybe Prelude.Text)+createWorkloadShareResponse_workloadId = Lens.lens (\CreateWorkloadShareResponse' {workloadId} -> workloadId) (\s@CreateWorkloadShareResponse' {} a -> s {workloadId = a} :: CreateWorkloadShareResponse)++-- | The response's http status code.+createWorkloadShareResponse_httpStatus :: Lens.Lens' CreateWorkloadShareResponse Prelude.Int+createWorkloadShareResponse_httpStatus = Lens.lens (\CreateWorkloadShareResponse' {httpStatus} -> httpStatus) (\s@CreateWorkloadShareResponse' {} a -> s {httpStatus = a} :: CreateWorkloadShareResponse)++instance Prelude.NFData CreateWorkloadShareResponse where+  rnf CreateWorkloadShareResponse' {..} =+    Prelude.rnf shareId+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/DeleteLens.hs view
@@ -0,0 +1,170 @@+{-# 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.WellArchitected.DeleteLens+-- 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 an existing lens.+--+-- Only the owner of a lens can delete it. After the lens is deleted,+-- Amazon Web Services accounts and IAM users that you shared the lens with+-- can continue to use it, but they will no longer be able to apply it to+-- new workloads.+--+-- __Disclaimer__+--+-- By sharing your custom lenses with other Amazon Web Services accounts,+-- you acknowledge that Amazon Web Services will make your custom lenses+-- available to those other accounts. Those other accounts may continue to+-- access and use your shared custom lenses even if you delete the custom+-- lenses from your own Amazon Web Services account or terminate your+-- Amazon Web Services account.+module Amazonka.WellArchitected.DeleteLens+  ( -- * Creating a Request+    DeleteLens (..),+    newDeleteLens,++    -- * Request Lenses+    deleteLens_lensAlias,+    deleteLens_clientRequestToken,+    deleteLens_lensStatus,++    -- * Destructuring the Response+    DeleteLensResponse (..),+    newDeleteLensResponse,+  )+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.WellArchitected.Types++-- | /See:/ 'newDeleteLens' smart constructor.+data DeleteLens = DeleteLens'+  { lensAlias :: Prelude.Text,+    clientRequestToken :: Prelude.Text,+    -- | The status of the lens to be deleted.+    lensStatus :: LensStatusType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLens' 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:+--+-- 'lensAlias', 'deleteLens_lensAlias' - Undocumented member.+--+-- 'clientRequestToken', 'deleteLens_clientRequestToken' - Undocumented member.+--+-- 'lensStatus', 'deleteLens_lensStatus' - The status of the lens to be deleted.+newDeleteLens ::+  -- | 'lensAlias'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  -- | 'lensStatus'+  LensStatusType ->+  DeleteLens+newDeleteLens+  pLensAlias_+  pClientRequestToken_+  pLensStatus_ =+    DeleteLens'+      { lensAlias = pLensAlias_,+        clientRequestToken = pClientRequestToken_,+        lensStatus = pLensStatus_+      }++-- | Undocumented member.+deleteLens_lensAlias :: Lens.Lens' DeleteLens Prelude.Text+deleteLens_lensAlias = Lens.lens (\DeleteLens' {lensAlias} -> lensAlias) (\s@DeleteLens' {} a -> s {lensAlias = a} :: DeleteLens)++-- | Undocumented member.+deleteLens_clientRequestToken :: Lens.Lens' DeleteLens Prelude.Text+deleteLens_clientRequestToken = Lens.lens (\DeleteLens' {clientRequestToken} -> clientRequestToken) (\s@DeleteLens' {} a -> s {clientRequestToken = a} :: DeleteLens)++-- | The status of the lens to be deleted.+deleteLens_lensStatus :: Lens.Lens' DeleteLens LensStatusType+deleteLens_lensStatus = Lens.lens (\DeleteLens' {lensStatus} -> lensStatus) (\s@DeleteLens' {} a -> s {lensStatus = a} :: DeleteLens)++instance Core.AWSRequest DeleteLens where+  type AWSResponse DeleteLens = DeleteLensResponse+  request overrides =+    Request.delete (overrides defaultService)+  response = Response.receiveNull DeleteLensResponse'++instance Prelude.Hashable DeleteLens where+  hashWithSalt _salt DeleteLens' {..} =+    _salt+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` lensStatus++instance Prelude.NFData DeleteLens where+  rnf DeleteLens' {..} =+    Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf lensStatus++instance Data.ToHeaders DeleteLens where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteLens where+  toPath DeleteLens' {..} =+    Prelude.mconcat ["/lenses/", Data.toBS lensAlias]++instance Data.ToQuery DeleteLens where+  toQuery DeleteLens' {..} =+    Prelude.mconcat+      [ "ClientRequestToken" Data.=: clientRequestToken,+        "LensStatus" Data.=: lensStatus+      ]++-- | /See:/ 'newDeleteLensResponse' smart constructor.+data DeleteLensResponse = DeleteLensResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLensResponse' 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.+newDeleteLensResponse ::+  DeleteLensResponse+newDeleteLensResponse = DeleteLensResponse'++instance Prelude.NFData DeleteLensResponse where+  rnf _ = ()
+ gen/Amazonka/WellArchitected/DeleteLensShare.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.DeleteLensShare+-- 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 lens share.+--+-- After the lens share is deleted, Amazon Web Services accounts, IAM+-- users, organizations, and organizational units (OUs) that you shared the+-- lens with can continue to use it, but they will no longer be able to+-- apply it to new workloads.+--+-- __Disclaimer__+--+-- By sharing your custom lenses with other Amazon Web Services accounts,+-- you acknowledge that Amazon Web Services will make your custom lenses+-- available to those other accounts. Those other accounts may continue to+-- access and use your shared custom lenses even if you delete the custom+-- lenses from your own Amazon Web Services account or terminate your+-- Amazon Web Services account.+module Amazonka.WellArchitected.DeleteLensShare+  ( -- * Creating a Request+    DeleteLensShare (..),+    newDeleteLensShare,++    -- * Request Lenses+    deleteLensShare_shareId,+    deleteLensShare_lensAlias,+    deleteLensShare_clientRequestToken,++    -- * Destructuring the Response+    DeleteLensShareResponse (..),+    newDeleteLensShareResponse,+  )+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.WellArchitected.Types++-- | /See:/ 'newDeleteLensShare' smart constructor.+data DeleteLensShare = DeleteLensShare'+  { shareId :: Prelude.Text,+    lensAlias :: Prelude.Text,+    clientRequestToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLensShare' 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:+--+-- 'shareId', 'deleteLensShare_shareId' - Undocumented member.+--+-- 'lensAlias', 'deleteLensShare_lensAlias' - Undocumented member.+--+-- 'clientRequestToken', 'deleteLensShare_clientRequestToken' - Undocumented member.+newDeleteLensShare ::+  -- | 'shareId'+  Prelude.Text ->+  -- | 'lensAlias'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  DeleteLensShare+newDeleteLensShare+  pShareId_+  pLensAlias_+  pClientRequestToken_ =+    DeleteLensShare'+      { shareId = pShareId_,+        lensAlias = pLensAlias_,+        clientRequestToken = pClientRequestToken_+      }++-- | Undocumented member.+deleteLensShare_shareId :: Lens.Lens' DeleteLensShare Prelude.Text+deleteLensShare_shareId = Lens.lens (\DeleteLensShare' {shareId} -> shareId) (\s@DeleteLensShare' {} a -> s {shareId = a} :: DeleteLensShare)++-- | Undocumented member.+deleteLensShare_lensAlias :: Lens.Lens' DeleteLensShare Prelude.Text+deleteLensShare_lensAlias = Lens.lens (\DeleteLensShare' {lensAlias} -> lensAlias) (\s@DeleteLensShare' {} a -> s {lensAlias = a} :: DeleteLensShare)++-- | Undocumented member.+deleteLensShare_clientRequestToken :: Lens.Lens' DeleteLensShare Prelude.Text+deleteLensShare_clientRequestToken = Lens.lens (\DeleteLensShare' {clientRequestToken} -> clientRequestToken) (\s@DeleteLensShare' {} a -> s {clientRequestToken = a} :: DeleteLensShare)++instance Core.AWSRequest DeleteLensShare where+  type+    AWSResponse DeleteLensShare =+      DeleteLensShareResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteLensShareResponse'++instance Prelude.Hashable DeleteLensShare where+  hashWithSalt _salt DeleteLensShare' {..} =+    _salt+      `Prelude.hashWithSalt` shareId+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData DeleteLensShare where+  rnf DeleteLensShare' {..} =+    Prelude.rnf shareId+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders DeleteLensShare where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteLensShare where+  toPath DeleteLensShare' {..} =+    Prelude.mconcat+      [ "/lenses/",+        Data.toBS lensAlias,+        "/shares/",+        Data.toBS shareId+      ]++instance Data.ToQuery DeleteLensShare where+  toQuery DeleteLensShare' {..} =+    Prelude.mconcat+      ["ClientRequestToken" Data.=: clientRequestToken]++-- | /See:/ 'newDeleteLensShareResponse' smart constructor.+data DeleteLensShareResponse = DeleteLensShareResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLensShareResponse' 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.+newDeleteLensShareResponse ::+  DeleteLensShareResponse+newDeleteLensShareResponse = DeleteLensShareResponse'++instance Prelude.NFData DeleteLensShareResponse where+  rnf _ = ()
+ gen/Amazonka/WellArchitected/DeleteWorkload.hs view
@@ -0,0 +1,143 @@+{-# 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.WellArchitected.DeleteWorkload+-- 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 an existing workload.+module Amazonka.WellArchitected.DeleteWorkload+  ( -- * Creating a Request+    DeleteWorkload (..),+    newDeleteWorkload,++    -- * Request Lenses+    deleteWorkload_workloadId,+    deleteWorkload_clientRequestToken,++    -- * Destructuring the Response+    DeleteWorkloadResponse (..),+    newDeleteWorkloadResponse,+  )+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.WellArchitected.Types++-- | Input for workload deletion.+--+-- /See:/ 'newDeleteWorkload' smart constructor.+data DeleteWorkload = DeleteWorkload'+  { workloadId :: Prelude.Text,+    clientRequestToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWorkload' 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:+--+-- 'workloadId', 'deleteWorkload_workloadId' - Undocumented member.+--+-- 'clientRequestToken', 'deleteWorkload_clientRequestToken' - Undocumented member.+newDeleteWorkload ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  DeleteWorkload+newDeleteWorkload pWorkloadId_ pClientRequestToken_ =+  DeleteWorkload'+    { workloadId = pWorkloadId_,+      clientRequestToken = pClientRequestToken_+    }++-- | Undocumented member.+deleteWorkload_workloadId :: Lens.Lens' DeleteWorkload Prelude.Text+deleteWorkload_workloadId = Lens.lens (\DeleteWorkload' {workloadId} -> workloadId) (\s@DeleteWorkload' {} a -> s {workloadId = a} :: DeleteWorkload)++-- | Undocumented member.+deleteWorkload_clientRequestToken :: Lens.Lens' DeleteWorkload Prelude.Text+deleteWorkload_clientRequestToken = Lens.lens (\DeleteWorkload' {clientRequestToken} -> clientRequestToken) (\s@DeleteWorkload' {} a -> s {clientRequestToken = a} :: DeleteWorkload)++instance Core.AWSRequest DeleteWorkload where+  type+    AWSResponse DeleteWorkload =+      DeleteWorkloadResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteWorkloadResponse'++instance Prelude.Hashable DeleteWorkload where+  hashWithSalt _salt DeleteWorkload' {..} =+    _salt+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData DeleteWorkload where+  rnf DeleteWorkload' {..} =+    Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders DeleteWorkload where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteWorkload where+  toPath DeleteWorkload' {..} =+    Prelude.mconcat+      ["/workloads/", Data.toBS workloadId]++instance Data.ToQuery DeleteWorkload where+  toQuery DeleteWorkload' {..} =+    Prelude.mconcat+      ["ClientRequestToken" Data.=: clientRequestToken]++-- | /See:/ 'newDeleteWorkloadResponse' smart constructor.+data DeleteWorkloadResponse = DeleteWorkloadResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWorkloadResponse' 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.+newDeleteWorkloadResponse ::+  DeleteWorkloadResponse+newDeleteWorkloadResponse = DeleteWorkloadResponse'++instance Prelude.NFData DeleteWorkloadResponse where+  rnf _ = ()
+ gen/Amazonka/WellArchitected/DeleteWorkloadShare.hs view
@@ -0,0 +1,164 @@+{-# 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.WellArchitected.DeleteWorkloadShare+-- 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 workload share.+module Amazonka.WellArchitected.DeleteWorkloadShare+  ( -- * Creating a Request+    DeleteWorkloadShare (..),+    newDeleteWorkloadShare,++    -- * Request Lenses+    deleteWorkloadShare_shareId,+    deleteWorkloadShare_workloadId,+    deleteWorkloadShare_clientRequestToken,++    -- * Destructuring the Response+    DeleteWorkloadShareResponse (..),+    newDeleteWorkloadShareResponse,+  )+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.WellArchitected.Types++-- | Input for Delete Workload Share+--+-- /See:/ 'newDeleteWorkloadShare' smart constructor.+data DeleteWorkloadShare = DeleteWorkloadShare'+  { shareId :: Prelude.Text,+    workloadId :: Prelude.Text,+    clientRequestToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWorkloadShare' 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:+--+-- 'shareId', 'deleteWorkloadShare_shareId' - Undocumented member.+--+-- 'workloadId', 'deleteWorkloadShare_workloadId' - Undocumented member.+--+-- 'clientRequestToken', 'deleteWorkloadShare_clientRequestToken' - Undocumented member.+newDeleteWorkloadShare ::+  -- | 'shareId'+  Prelude.Text ->+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  DeleteWorkloadShare+newDeleteWorkloadShare+  pShareId_+  pWorkloadId_+  pClientRequestToken_ =+    DeleteWorkloadShare'+      { shareId = pShareId_,+        workloadId = pWorkloadId_,+        clientRequestToken = pClientRequestToken_+      }++-- | Undocumented member.+deleteWorkloadShare_shareId :: Lens.Lens' DeleteWorkloadShare Prelude.Text+deleteWorkloadShare_shareId = Lens.lens (\DeleteWorkloadShare' {shareId} -> shareId) (\s@DeleteWorkloadShare' {} a -> s {shareId = a} :: DeleteWorkloadShare)++-- | Undocumented member.+deleteWorkloadShare_workloadId :: Lens.Lens' DeleteWorkloadShare Prelude.Text+deleteWorkloadShare_workloadId = Lens.lens (\DeleteWorkloadShare' {workloadId} -> workloadId) (\s@DeleteWorkloadShare' {} a -> s {workloadId = a} :: DeleteWorkloadShare)++-- | Undocumented member.+deleteWorkloadShare_clientRequestToken :: Lens.Lens' DeleteWorkloadShare Prelude.Text+deleteWorkloadShare_clientRequestToken = Lens.lens (\DeleteWorkloadShare' {clientRequestToken} -> clientRequestToken) (\s@DeleteWorkloadShare' {} a -> s {clientRequestToken = a} :: DeleteWorkloadShare)++instance Core.AWSRequest DeleteWorkloadShare where+  type+    AWSResponse DeleteWorkloadShare =+      DeleteWorkloadShareResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteWorkloadShareResponse'++instance Prelude.Hashable DeleteWorkloadShare where+  hashWithSalt _salt DeleteWorkloadShare' {..} =+    _salt+      `Prelude.hashWithSalt` shareId+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData DeleteWorkloadShare where+  rnf DeleteWorkloadShare' {..} =+    Prelude.rnf shareId+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders DeleteWorkloadShare where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteWorkloadShare where+  toPath DeleteWorkloadShare' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/shares/",+        Data.toBS shareId+      ]++instance Data.ToQuery DeleteWorkloadShare where+  toQuery DeleteWorkloadShare' {..} =+    Prelude.mconcat+      ["ClientRequestToken" Data.=: clientRequestToken]++-- | /See:/ 'newDeleteWorkloadShareResponse' smart constructor.+data DeleteWorkloadShareResponse = DeleteWorkloadShareResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWorkloadShareResponse' 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.+newDeleteWorkloadShareResponse ::+  DeleteWorkloadShareResponse+newDeleteWorkloadShareResponse =+  DeleteWorkloadShareResponse'++instance Prelude.NFData DeleteWorkloadShareResponse where+  rnf _ = ()
+ gen/Amazonka/WellArchitected/DisassociateLenses.hs view
@@ -0,0 +1,158 @@+{-# 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.WellArchitected.DisassociateLenses+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociate a lens from a workload.+--+-- Up to 10 lenses can be disassociated from a workload in a single API+-- operation.+--+-- The Amazon Web Services Well-Architected Framework lens+-- (@wellarchitected@) cannot be removed from a workload.+module Amazonka.WellArchitected.DisassociateLenses+  ( -- * Creating a Request+    DisassociateLenses (..),+    newDisassociateLenses,++    -- * Request Lenses+    disassociateLenses_workloadId,+    disassociateLenses_lensAliases,++    -- * Destructuring the Response+    DisassociateLensesResponse (..),+    newDisassociateLensesResponse,+  )+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.WellArchitected.Types++-- | Input to disassociate lens reviews.+--+-- /See:/ 'newDisassociateLenses' smart constructor.+data DisassociateLenses = DisassociateLenses'+  { workloadId :: Prelude.Text,+    lensAliases :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateLenses' 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:+--+-- 'workloadId', 'disassociateLenses_workloadId' - Undocumented member.+--+-- 'lensAliases', 'disassociateLenses_lensAliases' - Undocumented member.+newDisassociateLenses ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'lensAliases'+  Prelude.NonEmpty Prelude.Text ->+  DisassociateLenses+newDisassociateLenses pWorkloadId_ pLensAliases_ =+  DisassociateLenses'+    { workloadId = pWorkloadId_,+      lensAliases = Lens.coerced Lens.# pLensAliases_+    }++-- | Undocumented member.+disassociateLenses_workloadId :: Lens.Lens' DisassociateLenses Prelude.Text+disassociateLenses_workloadId = Lens.lens (\DisassociateLenses' {workloadId} -> workloadId) (\s@DisassociateLenses' {} a -> s {workloadId = a} :: DisassociateLenses)++-- | Undocumented member.+disassociateLenses_lensAliases :: Lens.Lens' DisassociateLenses (Prelude.NonEmpty Prelude.Text)+disassociateLenses_lensAliases = Lens.lens (\DisassociateLenses' {lensAliases} -> lensAliases) (\s@DisassociateLenses' {} a -> s {lensAliases = a} :: DisassociateLenses) Prelude.. Lens.coerced++instance Core.AWSRequest DisassociateLenses where+  type+    AWSResponse DisassociateLenses =+      DisassociateLensesResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveNull DisassociateLensesResponse'++instance Prelude.Hashable DisassociateLenses where+  hashWithSalt _salt DisassociateLenses' {..} =+    _salt+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` lensAliases++instance Prelude.NFData DisassociateLenses where+  rnf DisassociateLenses' {..} =+    Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf lensAliases++instance Data.ToHeaders DisassociateLenses where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DisassociateLenses where+  toJSON DisassociateLenses' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("LensAliases" Data..= lensAliases)]+      )++instance Data.ToPath DisassociateLenses where+  toPath DisassociateLenses' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/disassociateLenses"+      ]++instance Data.ToQuery DisassociateLenses where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateLensesResponse' smart constructor.+data DisassociateLensesResponse = DisassociateLensesResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateLensesResponse' 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.+newDisassociateLensesResponse ::+  DisassociateLensesResponse+newDisassociateLensesResponse =+  DisassociateLensesResponse'++instance Prelude.NFData DisassociateLensesResponse where+  rnf _ = ()
+ gen/Amazonka/WellArchitected/ExportLens.hs view
@@ -0,0 +1,187 @@+{-# 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.WellArchitected.ExportLens+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Export an existing lens.+--+-- Lenses are defined in JSON. For more information, see+-- <https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses-format-specification.html JSON format specification>+-- in the /Well-Architected Tool User Guide/. Only the owner of a lens can+-- export it.+--+-- __Disclaimer__+--+-- Do not include or gather personal identifiable information (PII) of end+-- users or other identifiable individuals in or via your custom lenses. If+-- your custom lens or those shared with you and used in your account do+-- include or collect PII you are responsible for: ensuring that the+-- included PII is processed in accordance with applicable law, providing+-- adequate privacy notices, and obtaining necessary consents for+-- processing such data.+module Amazonka.WellArchitected.ExportLens+  ( -- * Creating a Request+    ExportLens (..),+    newExportLens,++    -- * Request Lenses+    exportLens_lensVersion,+    exportLens_lensAlias,++    -- * Destructuring the Response+    ExportLensResponse (..),+    newExportLensResponse,++    -- * Response Lenses+    exportLensResponse_lensJSON,+    exportLensResponse_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.WellArchitected.Types++-- | /See:/ 'newExportLens' smart constructor.+data ExportLens = ExportLens'+  { -- | The lens version to be exported.+    lensVersion :: Prelude.Maybe Prelude.Text,+    lensAlias :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExportLens' 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:+--+-- 'lensVersion', 'exportLens_lensVersion' - The lens version to be exported.+--+-- 'lensAlias', 'exportLens_lensAlias' - Undocumented member.+newExportLens ::+  -- | 'lensAlias'+  Prelude.Text ->+  ExportLens+newExportLens pLensAlias_ =+  ExportLens'+    { lensVersion = Prelude.Nothing,+      lensAlias = pLensAlias_+    }++-- | The lens version to be exported.+exportLens_lensVersion :: Lens.Lens' ExportLens (Prelude.Maybe Prelude.Text)+exportLens_lensVersion = Lens.lens (\ExportLens' {lensVersion} -> lensVersion) (\s@ExportLens' {} a -> s {lensVersion = a} :: ExportLens)++-- | Undocumented member.+exportLens_lensAlias :: Lens.Lens' ExportLens Prelude.Text+exportLens_lensAlias = Lens.lens (\ExportLens' {lensAlias} -> lensAlias) (\s@ExportLens' {} a -> s {lensAlias = a} :: ExportLens)++instance Core.AWSRequest ExportLens where+  type AWSResponse ExportLens = ExportLensResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ExportLensResponse'+            Prelude.<$> (x Data..?> "LensJSON")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ExportLens where+  hashWithSalt _salt ExportLens' {..} =+    _salt+      `Prelude.hashWithSalt` lensVersion+      `Prelude.hashWithSalt` lensAlias++instance Prelude.NFData ExportLens where+  rnf ExportLens' {..} =+    Prelude.rnf lensVersion+      `Prelude.seq` Prelude.rnf lensAlias++instance Data.ToHeaders ExportLens where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ExportLens where+  toPath ExportLens' {..} =+    Prelude.mconcat+      ["/lenses/", Data.toBS lensAlias, "/export"]++instance Data.ToQuery ExportLens where+  toQuery ExportLens' {..} =+    Prelude.mconcat ["LensVersion" Data.=: lensVersion]++-- | /See:/ 'newExportLensResponse' smart constructor.+data ExportLensResponse = ExportLensResponse'+  { -- | The JSON for the lens.+    lensJSON :: 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 'ExportLensResponse' 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:+--+-- 'lensJSON', 'exportLensResponse_lensJSON' - The JSON for the lens.+--+-- 'httpStatus', 'exportLensResponse_httpStatus' - The response's http status code.+newExportLensResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ExportLensResponse+newExportLensResponse pHttpStatus_ =+  ExportLensResponse'+    { lensJSON = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The JSON for the lens.+exportLensResponse_lensJSON :: Lens.Lens' ExportLensResponse (Prelude.Maybe Prelude.Text)+exportLensResponse_lensJSON = Lens.lens (\ExportLensResponse' {lensJSON} -> lensJSON) (\s@ExportLensResponse' {} a -> s {lensJSON = a} :: ExportLensResponse)++-- | The response's http status code.+exportLensResponse_httpStatus :: Lens.Lens' ExportLensResponse Prelude.Int+exportLensResponse_httpStatus = Lens.lens (\ExportLensResponse' {httpStatus} -> httpStatus) (\s@ExportLensResponse' {} a -> s {httpStatus = a} :: ExportLensResponse)++instance Prelude.NFData ExportLensResponse where+  rnf ExportLensResponse' {..} =+    Prelude.rnf lensJSON+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/GetAnswer.hs view
@@ -0,0 +1,252 @@+{-# 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.WellArchitected.GetAnswer+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the answer to a specific question in a workload review.+module Amazonka.WellArchitected.GetAnswer+  ( -- * Creating a Request+    GetAnswer (..),+    newGetAnswer,++    -- * Request Lenses+    getAnswer_milestoneNumber,+    getAnswer_workloadId,+    getAnswer_lensAlias,+    getAnswer_questionId,++    -- * Destructuring the Response+    GetAnswerResponse (..),+    newGetAnswerResponse,++    -- * Response Lenses+    getAnswerResponse_answer,+    getAnswerResponse_lensAlias,+    getAnswerResponse_lensArn,+    getAnswerResponse_milestoneNumber,+    getAnswerResponse_workloadId,+    getAnswerResponse_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.WellArchitected.Types++-- | Input to get answer.+--+-- /See:/ 'newGetAnswer' smart constructor.+data GetAnswer = GetAnswer'+  { milestoneNumber :: Prelude.Maybe Prelude.Natural,+    workloadId :: Prelude.Text,+    lensAlias :: Prelude.Text,+    questionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAnswer' 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:+--+-- 'milestoneNumber', 'getAnswer_milestoneNumber' - Undocumented member.+--+-- 'workloadId', 'getAnswer_workloadId' - Undocumented member.+--+-- 'lensAlias', 'getAnswer_lensAlias' - Undocumented member.+--+-- 'questionId', 'getAnswer_questionId' - Undocumented member.+newGetAnswer ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'lensAlias'+  Prelude.Text ->+  -- | 'questionId'+  Prelude.Text ->+  GetAnswer+newGetAnswer pWorkloadId_ pLensAlias_ pQuestionId_ =+  GetAnswer'+    { milestoneNumber = Prelude.Nothing,+      workloadId = pWorkloadId_,+      lensAlias = pLensAlias_,+      questionId = pQuestionId_+    }++-- | Undocumented member.+getAnswer_milestoneNumber :: Lens.Lens' GetAnswer (Prelude.Maybe Prelude.Natural)+getAnswer_milestoneNumber = Lens.lens (\GetAnswer' {milestoneNumber} -> milestoneNumber) (\s@GetAnswer' {} a -> s {milestoneNumber = a} :: GetAnswer)++-- | Undocumented member.+getAnswer_workloadId :: Lens.Lens' GetAnswer Prelude.Text+getAnswer_workloadId = Lens.lens (\GetAnswer' {workloadId} -> workloadId) (\s@GetAnswer' {} a -> s {workloadId = a} :: GetAnswer)++-- | Undocumented member.+getAnswer_lensAlias :: Lens.Lens' GetAnswer Prelude.Text+getAnswer_lensAlias = Lens.lens (\GetAnswer' {lensAlias} -> lensAlias) (\s@GetAnswer' {} a -> s {lensAlias = a} :: GetAnswer)++-- | Undocumented member.+getAnswer_questionId :: Lens.Lens' GetAnswer Prelude.Text+getAnswer_questionId = Lens.lens (\GetAnswer' {questionId} -> questionId) (\s@GetAnswer' {} a -> s {questionId = a} :: GetAnswer)++instance Core.AWSRequest GetAnswer where+  type AWSResponse GetAnswer = GetAnswerResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAnswerResponse'+            Prelude.<$> (x Data..?> "Answer")+            Prelude.<*> (x Data..?> "LensAlias")+            Prelude.<*> (x Data..?> "LensArn")+            Prelude.<*> (x Data..?> "MilestoneNumber")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAnswer where+  hashWithSalt _salt GetAnswer' {..} =+    _salt+      `Prelude.hashWithSalt` milestoneNumber+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` questionId++instance Prelude.NFData GetAnswer where+  rnf GetAnswer' {..} =+    Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf questionId++instance Data.ToHeaders GetAnswer where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetAnswer where+  toPath GetAnswer' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/lensReviews/",+        Data.toBS lensAlias,+        "/answers/",+        Data.toBS questionId+      ]++instance Data.ToQuery GetAnswer where+  toQuery GetAnswer' {..} =+    Prelude.mconcat+      ["MilestoneNumber" Data.=: milestoneNumber]++-- | Output of a get answer call.+--+-- /See:/ 'newGetAnswerResponse' smart constructor.+data GetAnswerResponse = GetAnswerResponse'+  { answer :: Prelude.Maybe Answer,+    lensAlias :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    milestoneNumber :: Prelude.Maybe Prelude.Natural,+    workloadId :: 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 'GetAnswerResponse' 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:+--+-- 'answer', 'getAnswerResponse_answer' - Undocumented member.+--+-- 'lensAlias', 'getAnswerResponse_lensAlias' - Undocumented member.+--+-- 'lensArn', 'getAnswerResponse_lensArn' - The ARN for the lens.+--+-- 'milestoneNumber', 'getAnswerResponse_milestoneNumber' - Undocumented member.+--+-- 'workloadId', 'getAnswerResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'getAnswerResponse_httpStatus' - The response's http status code.+newGetAnswerResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAnswerResponse+newGetAnswerResponse pHttpStatus_ =+  GetAnswerResponse'+    { answer = Prelude.Nothing,+      lensAlias = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      milestoneNumber = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getAnswerResponse_answer :: Lens.Lens' GetAnswerResponse (Prelude.Maybe Answer)+getAnswerResponse_answer = Lens.lens (\GetAnswerResponse' {answer} -> answer) (\s@GetAnswerResponse' {} a -> s {answer = a} :: GetAnswerResponse)++-- | Undocumented member.+getAnswerResponse_lensAlias :: Lens.Lens' GetAnswerResponse (Prelude.Maybe Prelude.Text)+getAnswerResponse_lensAlias = Lens.lens (\GetAnswerResponse' {lensAlias} -> lensAlias) (\s@GetAnswerResponse' {} a -> s {lensAlias = a} :: GetAnswerResponse)++-- | The ARN for the lens.+getAnswerResponse_lensArn :: Lens.Lens' GetAnswerResponse (Prelude.Maybe Prelude.Text)+getAnswerResponse_lensArn = Lens.lens (\GetAnswerResponse' {lensArn} -> lensArn) (\s@GetAnswerResponse' {} a -> s {lensArn = a} :: GetAnswerResponse)++-- | Undocumented member.+getAnswerResponse_milestoneNumber :: Lens.Lens' GetAnswerResponse (Prelude.Maybe Prelude.Natural)+getAnswerResponse_milestoneNumber = Lens.lens (\GetAnswerResponse' {milestoneNumber} -> milestoneNumber) (\s@GetAnswerResponse' {} a -> s {milestoneNumber = a} :: GetAnswerResponse)++-- | Undocumented member.+getAnswerResponse_workloadId :: Lens.Lens' GetAnswerResponse (Prelude.Maybe Prelude.Text)+getAnswerResponse_workloadId = Lens.lens (\GetAnswerResponse' {workloadId} -> workloadId) (\s@GetAnswerResponse' {} a -> s {workloadId = a} :: GetAnswerResponse)++-- | The response's http status code.+getAnswerResponse_httpStatus :: Lens.Lens' GetAnswerResponse Prelude.Int+getAnswerResponse_httpStatus = Lens.lens (\GetAnswerResponse' {httpStatus} -> httpStatus) (\s@GetAnswerResponse' {} a -> s {httpStatus = a} :: GetAnswerResponse)++instance Prelude.NFData GetAnswerResponse where+  rnf GetAnswerResponse' {..} =+    Prelude.rnf answer+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/GetLens.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.GetLens+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get an existing lens.+module Amazonka.WellArchitected.GetLens+  ( -- * Creating a Request+    GetLens (..),+    newGetLens,++    -- * Request Lenses+    getLens_lensVersion,+    getLens_lensAlias,++    -- * Destructuring the Response+    GetLensResponse (..),+    newGetLensResponse,++    -- * Response Lenses+    getLensResponse_lens,+    getLensResponse_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.WellArchitected.Types++-- | /See:/ 'newGetLens' smart constructor.+data GetLens = GetLens'+  { -- | The lens version to be retrieved.+    lensVersion :: Prelude.Maybe Prelude.Text,+    lensAlias :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLens' 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:+--+-- 'lensVersion', 'getLens_lensVersion' - The lens version to be retrieved.+--+-- 'lensAlias', 'getLens_lensAlias' - Undocumented member.+newGetLens ::+  -- | 'lensAlias'+  Prelude.Text ->+  GetLens+newGetLens pLensAlias_ =+  GetLens'+    { lensVersion = Prelude.Nothing,+      lensAlias = pLensAlias_+    }++-- | The lens version to be retrieved.+getLens_lensVersion :: Lens.Lens' GetLens (Prelude.Maybe Prelude.Text)+getLens_lensVersion = Lens.lens (\GetLens' {lensVersion} -> lensVersion) (\s@GetLens' {} a -> s {lensVersion = a} :: GetLens)++-- | Undocumented member.+getLens_lensAlias :: Lens.Lens' GetLens Prelude.Text+getLens_lensAlias = Lens.lens (\GetLens' {lensAlias} -> lensAlias) (\s@GetLens' {} a -> s {lensAlias = a} :: GetLens)++instance Core.AWSRequest GetLens where+  type AWSResponse GetLens = GetLensResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetLensResponse'+            Prelude.<$> (x Data..?> "Lens")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetLens where+  hashWithSalt _salt GetLens' {..} =+    _salt+      `Prelude.hashWithSalt` lensVersion+      `Prelude.hashWithSalt` lensAlias++instance Prelude.NFData GetLens where+  rnf GetLens' {..} =+    Prelude.rnf lensVersion+      `Prelude.seq` Prelude.rnf lensAlias++instance Data.ToHeaders GetLens where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetLens where+  toPath GetLens' {..} =+    Prelude.mconcat ["/lenses/", Data.toBS lensAlias]++instance Data.ToQuery GetLens where+  toQuery GetLens' {..} =+    Prelude.mconcat ["LensVersion" Data.=: lensVersion]++-- | /See:/ 'newGetLensResponse' smart constructor.+data GetLensResponse = GetLensResponse'+  { -- | A lens return object.+    lens :: Prelude.Maybe Lens,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLensResponse' 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:+--+-- 'lens', 'getLensResponse_lens' - A lens return object.+--+-- 'httpStatus', 'getLensResponse_httpStatus' - The response's http status code.+newGetLensResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetLensResponse+newGetLensResponse pHttpStatus_ =+  GetLensResponse'+    { lens = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A lens return object.+getLensResponse_lens :: Lens.Lens' GetLensResponse (Prelude.Maybe Lens)+getLensResponse_lens = Lens.lens (\GetLensResponse' {lens} -> lens) (\s@GetLensResponse' {} a -> s {lens = a} :: GetLensResponse)++-- | The response's http status code.+getLensResponse_httpStatus :: Lens.Lens' GetLensResponse Prelude.Int+getLensResponse_httpStatus = Lens.lens (\GetLensResponse' {httpStatus} -> httpStatus) (\s@GetLensResponse' {} a -> s {httpStatus = a} :: GetLensResponse)++instance Prelude.NFData GetLensResponse where+  rnf GetLensResponse' {..} =+    Prelude.rnf lens+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/GetLensReview.hs view
@@ -0,0 +1,217 @@+{-# 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.WellArchitected.GetLensReview+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get lens review.+module Amazonka.WellArchitected.GetLensReview+  ( -- * Creating a Request+    GetLensReview (..),+    newGetLensReview,++    -- * Request Lenses+    getLensReview_milestoneNumber,+    getLensReview_workloadId,+    getLensReview_lensAlias,++    -- * Destructuring the Response+    GetLensReviewResponse (..),+    newGetLensReviewResponse,++    -- * Response Lenses+    getLensReviewResponse_lensReview,+    getLensReviewResponse_milestoneNumber,+    getLensReviewResponse_workloadId,+    getLensReviewResponse_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.WellArchitected.Types++-- | Input to get lens review.+--+-- /See:/ 'newGetLensReview' smart constructor.+data GetLensReview = GetLensReview'+  { milestoneNumber :: Prelude.Maybe Prelude.Natural,+    workloadId :: Prelude.Text,+    lensAlias :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLensReview' 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:+--+-- 'milestoneNumber', 'getLensReview_milestoneNumber' - Undocumented member.+--+-- 'workloadId', 'getLensReview_workloadId' - Undocumented member.+--+-- 'lensAlias', 'getLensReview_lensAlias' - Undocumented member.+newGetLensReview ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'lensAlias'+  Prelude.Text ->+  GetLensReview+newGetLensReview pWorkloadId_ pLensAlias_ =+  GetLensReview'+    { milestoneNumber = Prelude.Nothing,+      workloadId = pWorkloadId_,+      lensAlias = pLensAlias_+    }++-- | Undocumented member.+getLensReview_milestoneNumber :: Lens.Lens' GetLensReview (Prelude.Maybe Prelude.Natural)+getLensReview_milestoneNumber = Lens.lens (\GetLensReview' {milestoneNumber} -> milestoneNumber) (\s@GetLensReview' {} a -> s {milestoneNumber = a} :: GetLensReview)++-- | Undocumented member.+getLensReview_workloadId :: Lens.Lens' GetLensReview Prelude.Text+getLensReview_workloadId = Lens.lens (\GetLensReview' {workloadId} -> workloadId) (\s@GetLensReview' {} a -> s {workloadId = a} :: GetLensReview)++-- | Undocumented member.+getLensReview_lensAlias :: Lens.Lens' GetLensReview Prelude.Text+getLensReview_lensAlias = Lens.lens (\GetLensReview' {lensAlias} -> lensAlias) (\s@GetLensReview' {} a -> s {lensAlias = a} :: GetLensReview)++instance Core.AWSRequest GetLensReview where+  type+    AWSResponse GetLensReview =+      GetLensReviewResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetLensReviewResponse'+            Prelude.<$> (x Data..?> "LensReview")+            Prelude.<*> (x Data..?> "MilestoneNumber")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetLensReview where+  hashWithSalt _salt GetLensReview' {..} =+    _salt+      `Prelude.hashWithSalt` milestoneNumber+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` lensAlias++instance Prelude.NFData GetLensReview where+  rnf GetLensReview' {..} =+    Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf lensAlias++instance Data.ToHeaders GetLensReview where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetLensReview where+  toPath GetLensReview' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/lensReviews/",+        Data.toBS lensAlias+      ]++instance Data.ToQuery GetLensReview where+  toQuery GetLensReview' {..} =+    Prelude.mconcat+      ["MilestoneNumber" Data.=: milestoneNumber]++-- | Output of a get lens review call.+--+-- /See:/ 'newGetLensReviewResponse' smart constructor.+data GetLensReviewResponse = GetLensReviewResponse'+  { lensReview :: Prelude.Maybe LensReview,+    milestoneNumber :: Prelude.Maybe Prelude.Natural,+    workloadId :: 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 'GetLensReviewResponse' 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:+--+-- 'lensReview', 'getLensReviewResponse_lensReview' - Undocumented member.+--+-- 'milestoneNumber', 'getLensReviewResponse_milestoneNumber' - Undocumented member.+--+-- 'workloadId', 'getLensReviewResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'getLensReviewResponse_httpStatus' - The response's http status code.+newGetLensReviewResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetLensReviewResponse+newGetLensReviewResponse pHttpStatus_ =+  GetLensReviewResponse'+    { lensReview =+        Prelude.Nothing,+      milestoneNumber = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getLensReviewResponse_lensReview :: Lens.Lens' GetLensReviewResponse (Prelude.Maybe LensReview)+getLensReviewResponse_lensReview = Lens.lens (\GetLensReviewResponse' {lensReview} -> lensReview) (\s@GetLensReviewResponse' {} a -> s {lensReview = a} :: GetLensReviewResponse)++-- | Undocumented member.+getLensReviewResponse_milestoneNumber :: Lens.Lens' GetLensReviewResponse (Prelude.Maybe Prelude.Natural)+getLensReviewResponse_milestoneNumber = Lens.lens (\GetLensReviewResponse' {milestoneNumber} -> milestoneNumber) (\s@GetLensReviewResponse' {} a -> s {milestoneNumber = a} :: GetLensReviewResponse)++-- | Undocumented member.+getLensReviewResponse_workloadId :: Lens.Lens' GetLensReviewResponse (Prelude.Maybe Prelude.Text)+getLensReviewResponse_workloadId = Lens.lens (\GetLensReviewResponse' {workloadId} -> workloadId) (\s@GetLensReviewResponse' {} a -> s {workloadId = a} :: GetLensReviewResponse)++-- | The response's http status code.+getLensReviewResponse_httpStatus :: Lens.Lens' GetLensReviewResponse Prelude.Int+getLensReviewResponse_httpStatus = Lens.lens (\GetLensReviewResponse' {httpStatus} -> httpStatus) (\s@GetLensReviewResponse' {} a -> s {httpStatus = a} :: GetLensReviewResponse)++instance Prelude.NFData GetLensReviewResponse where+  rnf GetLensReviewResponse' {..} =+    Prelude.rnf lensReview+      `Prelude.seq` Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/GetLensReviewReport.hs view
@@ -0,0 +1,219 @@+{-# 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.WellArchitected.GetLensReviewReport+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get lens review report.+module Amazonka.WellArchitected.GetLensReviewReport+  ( -- * Creating a Request+    GetLensReviewReport (..),+    newGetLensReviewReport,++    -- * Request Lenses+    getLensReviewReport_milestoneNumber,+    getLensReviewReport_workloadId,+    getLensReviewReport_lensAlias,++    -- * Destructuring the Response+    GetLensReviewReportResponse (..),+    newGetLensReviewReportResponse,++    -- * Response Lenses+    getLensReviewReportResponse_lensReviewReport,+    getLensReviewReportResponse_milestoneNumber,+    getLensReviewReportResponse_workloadId,+    getLensReviewReportResponse_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.WellArchitected.Types++-- | Input to get lens review report.+--+-- /See:/ 'newGetLensReviewReport' smart constructor.+data GetLensReviewReport = GetLensReviewReport'+  { milestoneNumber :: Prelude.Maybe Prelude.Natural,+    workloadId :: Prelude.Text,+    lensAlias :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLensReviewReport' 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:+--+-- 'milestoneNumber', 'getLensReviewReport_milestoneNumber' - Undocumented member.+--+-- 'workloadId', 'getLensReviewReport_workloadId' - Undocumented member.+--+-- 'lensAlias', 'getLensReviewReport_lensAlias' - Undocumented member.+newGetLensReviewReport ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'lensAlias'+  Prelude.Text ->+  GetLensReviewReport+newGetLensReviewReport pWorkloadId_ pLensAlias_ =+  GetLensReviewReport'+    { milestoneNumber =+        Prelude.Nothing,+      workloadId = pWorkloadId_,+      lensAlias = pLensAlias_+    }++-- | Undocumented member.+getLensReviewReport_milestoneNumber :: Lens.Lens' GetLensReviewReport (Prelude.Maybe Prelude.Natural)+getLensReviewReport_milestoneNumber = Lens.lens (\GetLensReviewReport' {milestoneNumber} -> milestoneNumber) (\s@GetLensReviewReport' {} a -> s {milestoneNumber = a} :: GetLensReviewReport)++-- | Undocumented member.+getLensReviewReport_workloadId :: Lens.Lens' GetLensReviewReport Prelude.Text+getLensReviewReport_workloadId = Lens.lens (\GetLensReviewReport' {workloadId} -> workloadId) (\s@GetLensReviewReport' {} a -> s {workloadId = a} :: GetLensReviewReport)++-- | Undocumented member.+getLensReviewReport_lensAlias :: Lens.Lens' GetLensReviewReport Prelude.Text+getLensReviewReport_lensAlias = Lens.lens (\GetLensReviewReport' {lensAlias} -> lensAlias) (\s@GetLensReviewReport' {} a -> s {lensAlias = a} :: GetLensReviewReport)++instance Core.AWSRequest GetLensReviewReport where+  type+    AWSResponse GetLensReviewReport =+      GetLensReviewReportResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetLensReviewReportResponse'+            Prelude.<$> (x Data..?> "LensReviewReport")+            Prelude.<*> (x Data..?> "MilestoneNumber")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetLensReviewReport where+  hashWithSalt _salt GetLensReviewReport' {..} =+    _salt+      `Prelude.hashWithSalt` milestoneNumber+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` lensAlias++instance Prelude.NFData GetLensReviewReport where+  rnf GetLensReviewReport' {..} =+    Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf lensAlias++instance Data.ToHeaders GetLensReviewReport where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetLensReviewReport where+  toPath GetLensReviewReport' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/lensReviews/",+        Data.toBS lensAlias,+        "/report"+      ]++instance Data.ToQuery GetLensReviewReport where+  toQuery GetLensReviewReport' {..} =+    Prelude.mconcat+      ["MilestoneNumber" Data.=: milestoneNumber]++-- | Output of a get lens review report call.+--+-- /See:/ 'newGetLensReviewReportResponse' smart constructor.+data GetLensReviewReportResponse = GetLensReviewReportResponse'+  { lensReviewReport :: Prelude.Maybe LensReviewReport,+    milestoneNumber :: Prelude.Maybe Prelude.Natural,+    workloadId :: 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 'GetLensReviewReportResponse' 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:+--+-- 'lensReviewReport', 'getLensReviewReportResponse_lensReviewReport' - Undocumented member.+--+-- 'milestoneNumber', 'getLensReviewReportResponse_milestoneNumber' - Undocumented member.+--+-- 'workloadId', 'getLensReviewReportResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'getLensReviewReportResponse_httpStatus' - The response's http status code.+newGetLensReviewReportResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetLensReviewReportResponse+newGetLensReviewReportResponse pHttpStatus_ =+  GetLensReviewReportResponse'+    { lensReviewReport =+        Prelude.Nothing,+      milestoneNumber = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getLensReviewReportResponse_lensReviewReport :: Lens.Lens' GetLensReviewReportResponse (Prelude.Maybe LensReviewReport)+getLensReviewReportResponse_lensReviewReport = Lens.lens (\GetLensReviewReportResponse' {lensReviewReport} -> lensReviewReport) (\s@GetLensReviewReportResponse' {} a -> s {lensReviewReport = a} :: GetLensReviewReportResponse)++-- | Undocumented member.+getLensReviewReportResponse_milestoneNumber :: Lens.Lens' GetLensReviewReportResponse (Prelude.Maybe Prelude.Natural)+getLensReviewReportResponse_milestoneNumber = Lens.lens (\GetLensReviewReportResponse' {milestoneNumber} -> milestoneNumber) (\s@GetLensReviewReportResponse' {} a -> s {milestoneNumber = a} :: GetLensReviewReportResponse)++-- | Undocumented member.+getLensReviewReportResponse_workloadId :: Lens.Lens' GetLensReviewReportResponse (Prelude.Maybe Prelude.Text)+getLensReviewReportResponse_workloadId = Lens.lens (\GetLensReviewReportResponse' {workloadId} -> workloadId) (\s@GetLensReviewReportResponse' {} a -> s {workloadId = a} :: GetLensReviewReportResponse)++-- | The response's http status code.+getLensReviewReportResponse_httpStatus :: Lens.Lens' GetLensReviewReportResponse Prelude.Int+getLensReviewReportResponse_httpStatus = Lens.lens (\GetLensReviewReportResponse' {httpStatus} -> httpStatus) (\s@GetLensReviewReportResponse' {} a -> s {httpStatus = a} :: GetLensReviewReportResponse)++instance Prelude.NFData GetLensReviewReportResponse where+  rnf GetLensReviewReportResponse' {..} =+    Prelude.rnf lensReviewReport+      `Prelude.seq` Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/GetLensVersionDifference.hs view
@@ -0,0 +1,255 @@+{-# 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.WellArchitected.GetLensVersionDifference+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get lens version differences.+module Amazonka.WellArchitected.GetLensVersionDifference+  ( -- * Creating a Request+    GetLensVersionDifference (..),+    newGetLensVersionDifference,++    -- * Request Lenses+    getLensVersionDifference_baseLensVersion,+    getLensVersionDifference_targetLensVersion,+    getLensVersionDifference_lensAlias,++    -- * Destructuring the Response+    GetLensVersionDifferenceResponse (..),+    newGetLensVersionDifferenceResponse,++    -- * Response Lenses+    getLensVersionDifferenceResponse_baseLensVersion,+    getLensVersionDifferenceResponse_latestLensVersion,+    getLensVersionDifferenceResponse_lensAlias,+    getLensVersionDifferenceResponse_lensArn,+    getLensVersionDifferenceResponse_targetLensVersion,+    getLensVersionDifferenceResponse_versionDifferences,+    getLensVersionDifferenceResponse_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.WellArchitected.Types++-- | /See:/ 'newGetLensVersionDifference' smart constructor.+data GetLensVersionDifference = GetLensVersionDifference'+  { -- | The base version of the lens.+    baseLensVersion :: Prelude.Maybe Prelude.Text,+    -- | The lens version to target a difference for.+    targetLensVersion :: Prelude.Maybe Prelude.Text,+    lensAlias :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLensVersionDifference' 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:+--+-- 'baseLensVersion', 'getLensVersionDifference_baseLensVersion' - The base version of the lens.+--+-- 'targetLensVersion', 'getLensVersionDifference_targetLensVersion' - The lens version to target a difference for.+--+-- 'lensAlias', 'getLensVersionDifference_lensAlias' - Undocumented member.+newGetLensVersionDifference ::+  -- | 'lensAlias'+  Prelude.Text ->+  GetLensVersionDifference+newGetLensVersionDifference pLensAlias_ =+  GetLensVersionDifference'+    { baseLensVersion =+        Prelude.Nothing,+      targetLensVersion = Prelude.Nothing,+      lensAlias = pLensAlias_+    }++-- | The base version of the lens.+getLensVersionDifference_baseLensVersion :: Lens.Lens' GetLensVersionDifference (Prelude.Maybe Prelude.Text)+getLensVersionDifference_baseLensVersion = Lens.lens (\GetLensVersionDifference' {baseLensVersion} -> baseLensVersion) (\s@GetLensVersionDifference' {} a -> s {baseLensVersion = a} :: GetLensVersionDifference)++-- | The lens version to target a difference for.+getLensVersionDifference_targetLensVersion :: Lens.Lens' GetLensVersionDifference (Prelude.Maybe Prelude.Text)+getLensVersionDifference_targetLensVersion = Lens.lens (\GetLensVersionDifference' {targetLensVersion} -> targetLensVersion) (\s@GetLensVersionDifference' {} a -> s {targetLensVersion = a} :: GetLensVersionDifference)++-- | Undocumented member.+getLensVersionDifference_lensAlias :: Lens.Lens' GetLensVersionDifference Prelude.Text+getLensVersionDifference_lensAlias = Lens.lens (\GetLensVersionDifference' {lensAlias} -> lensAlias) (\s@GetLensVersionDifference' {} a -> s {lensAlias = a} :: GetLensVersionDifference)++instance Core.AWSRequest GetLensVersionDifference where+  type+    AWSResponse GetLensVersionDifference =+      GetLensVersionDifferenceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetLensVersionDifferenceResponse'+            Prelude.<$> (x Data..?> "BaseLensVersion")+            Prelude.<*> (x Data..?> "LatestLensVersion")+            Prelude.<*> (x Data..?> "LensAlias")+            Prelude.<*> (x Data..?> "LensArn")+            Prelude.<*> (x Data..?> "TargetLensVersion")+            Prelude.<*> (x Data..?> "VersionDifferences")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetLensVersionDifference where+  hashWithSalt _salt GetLensVersionDifference' {..} =+    _salt+      `Prelude.hashWithSalt` baseLensVersion+      `Prelude.hashWithSalt` targetLensVersion+      `Prelude.hashWithSalt` lensAlias++instance Prelude.NFData GetLensVersionDifference where+  rnf GetLensVersionDifference' {..} =+    Prelude.rnf baseLensVersion+      `Prelude.seq` Prelude.rnf targetLensVersion+      `Prelude.seq` Prelude.rnf lensAlias++instance Data.ToHeaders GetLensVersionDifference where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetLensVersionDifference where+  toPath GetLensVersionDifference' {..} =+    Prelude.mconcat+      [ "/lenses/",+        Data.toBS lensAlias,+        "/versionDifference"+      ]++instance Data.ToQuery GetLensVersionDifference where+  toQuery GetLensVersionDifference' {..} =+    Prelude.mconcat+      [ "BaseLensVersion" Data.=: baseLensVersion,+        "TargetLensVersion" Data.=: targetLensVersion+      ]++-- | /See:/ 'newGetLensVersionDifferenceResponse' smart constructor.+data GetLensVersionDifferenceResponse = GetLensVersionDifferenceResponse'+  { -- | The base version of the lens.+    baseLensVersion :: Prelude.Maybe Prelude.Text,+    -- | The latest version of the lens.+    latestLensVersion :: Prelude.Maybe Prelude.Text,+    lensAlias :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    -- | The target lens version for the lens.+    targetLensVersion :: Prelude.Maybe Prelude.Text,+    versionDifferences :: Prelude.Maybe VersionDifferences,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLensVersionDifferenceResponse' 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:+--+-- 'baseLensVersion', 'getLensVersionDifferenceResponse_baseLensVersion' - The base version of the lens.+--+-- 'latestLensVersion', 'getLensVersionDifferenceResponse_latestLensVersion' - The latest version of the lens.+--+-- 'lensAlias', 'getLensVersionDifferenceResponse_lensAlias' - Undocumented member.+--+-- 'lensArn', 'getLensVersionDifferenceResponse_lensArn' - The ARN for the lens.+--+-- 'targetLensVersion', 'getLensVersionDifferenceResponse_targetLensVersion' - The target lens version for the lens.+--+-- 'versionDifferences', 'getLensVersionDifferenceResponse_versionDifferences' - Undocumented member.+--+-- 'httpStatus', 'getLensVersionDifferenceResponse_httpStatus' - The response's http status code.+newGetLensVersionDifferenceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetLensVersionDifferenceResponse+newGetLensVersionDifferenceResponse pHttpStatus_ =+  GetLensVersionDifferenceResponse'+    { baseLensVersion =+        Prelude.Nothing,+      latestLensVersion = Prelude.Nothing,+      lensAlias = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      targetLensVersion = Prelude.Nothing,+      versionDifferences = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The base version of the lens.+getLensVersionDifferenceResponse_baseLensVersion :: Lens.Lens' GetLensVersionDifferenceResponse (Prelude.Maybe Prelude.Text)+getLensVersionDifferenceResponse_baseLensVersion = Lens.lens (\GetLensVersionDifferenceResponse' {baseLensVersion} -> baseLensVersion) (\s@GetLensVersionDifferenceResponse' {} a -> s {baseLensVersion = a} :: GetLensVersionDifferenceResponse)++-- | The latest version of the lens.+getLensVersionDifferenceResponse_latestLensVersion :: Lens.Lens' GetLensVersionDifferenceResponse (Prelude.Maybe Prelude.Text)+getLensVersionDifferenceResponse_latestLensVersion = Lens.lens (\GetLensVersionDifferenceResponse' {latestLensVersion} -> latestLensVersion) (\s@GetLensVersionDifferenceResponse' {} a -> s {latestLensVersion = a} :: GetLensVersionDifferenceResponse)++-- | Undocumented member.+getLensVersionDifferenceResponse_lensAlias :: Lens.Lens' GetLensVersionDifferenceResponse (Prelude.Maybe Prelude.Text)+getLensVersionDifferenceResponse_lensAlias = Lens.lens (\GetLensVersionDifferenceResponse' {lensAlias} -> lensAlias) (\s@GetLensVersionDifferenceResponse' {} a -> s {lensAlias = a} :: GetLensVersionDifferenceResponse)++-- | The ARN for the lens.+getLensVersionDifferenceResponse_lensArn :: Lens.Lens' GetLensVersionDifferenceResponse (Prelude.Maybe Prelude.Text)+getLensVersionDifferenceResponse_lensArn = Lens.lens (\GetLensVersionDifferenceResponse' {lensArn} -> lensArn) (\s@GetLensVersionDifferenceResponse' {} a -> s {lensArn = a} :: GetLensVersionDifferenceResponse)++-- | The target lens version for the lens.+getLensVersionDifferenceResponse_targetLensVersion :: Lens.Lens' GetLensVersionDifferenceResponse (Prelude.Maybe Prelude.Text)+getLensVersionDifferenceResponse_targetLensVersion = Lens.lens (\GetLensVersionDifferenceResponse' {targetLensVersion} -> targetLensVersion) (\s@GetLensVersionDifferenceResponse' {} a -> s {targetLensVersion = a} :: GetLensVersionDifferenceResponse)++-- | Undocumented member.+getLensVersionDifferenceResponse_versionDifferences :: Lens.Lens' GetLensVersionDifferenceResponse (Prelude.Maybe VersionDifferences)+getLensVersionDifferenceResponse_versionDifferences = Lens.lens (\GetLensVersionDifferenceResponse' {versionDifferences} -> versionDifferences) (\s@GetLensVersionDifferenceResponse' {} a -> s {versionDifferences = a} :: GetLensVersionDifferenceResponse)++-- | The response's http status code.+getLensVersionDifferenceResponse_httpStatus :: Lens.Lens' GetLensVersionDifferenceResponse Prelude.Int+getLensVersionDifferenceResponse_httpStatus = Lens.lens (\GetLensVersionDifferenceResponse' {httpStatus} -> httpStatus) (\s@GetLensVersionDifferenceResponse' {} a -> s {httpStatus = a} :: GetLensVersionDifferenceResponse)++instance+  Prelude.NFData+    GetLensVersionDifferenceResponse+  where+  rnf GetLensVersionDifferenceResponse' {..} =+    Prelude.rnf baseLensVersion+      `Prelude.seq` Prelude.rnf latestLensVersion+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf targetLensVersion+      `Prelude.seq` Prelude.rnf versionDifferences+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/GetMilestone.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.GetMilestone+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a milestone for an existing workload.+module Amazonka.WellArchitected.GetMilestone+  ( -- * Creating a Request+    GetMilestone (..),+    newGetMilestone,++    -- * Request Lenses+    getMilestone_workloadId,+    getMilestone_milestoneNumber,++    -- * Destructuring the Response+    GetMilestoneResponse (..),+    newGetMilestoneResponse,++    -- * Response Lenses+    getMilestoneResponse_milestone,+    getMilestoneResponse_workloadId,+    getMilestoneResponse_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.WellArchitected.Types++-- | Input to get a milestone.+--+-- /See:/ 'newGetMilestone' smart constructor.+data GetMilestone = GetMilestone'+  { workloadId :: Prelude.Text,+    milestoneNumber :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMilestone' 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:+--+-- 'workloadId', 'getMilestone_workloadId' - Undocumented member.+--+-- 'milestoneNumber', 'getMilestone_milestoneNumber' - Undocumented member.+newGetMilestone ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'milestoneNumber'+  Prelude.Natural ->+  GetMilestone+newGetMilestone pWorkloadId_ pMilestoneNumber_ =+  GetMilestone'+    { workloadId = pWorkloadId_,+      milestoneNumber = pMilestoneNumber_+    }++-- | Undocumented member.+getMilestone_workloadId :: Lens.Lens' GetMilestone Prelude.Text+getMilestone_workloadId = Lens.lens (\GetMilestone' {workloadId} -> workloadId) (\s@GetMilestone' {} a -> s {workloadId = a} :: GetMilestone)++-- | Undocumented member.+getMilestone_milestoneNumber :: Lens.Lens' GetMilestone Prelude.Natural+getMilestone_milestoneNumber = Lens.lens (\GetMilestone' {milestoneNumber} -> milestoneNumber) (\s@GetMilestone' {} a -> s {milestoneNumber = a} :: GetMilestone)++instance Core.AWSRequest GetMilestone where+  type AWSResponse GetMilestone = GetMilestoneResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetMilestoneResponse'+            Prelude.<$> (x Data..?> "Milestone")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetMilestone where+  hashWithSalt _salt GetMilestone' {..} =+    _salt+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` milestoneNumber++instance Prelude.NFData GetMilestone where+  rnf GetMilestone' {..} =+    Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf milestoneNumber++instance Data.ToHeaders GetMilestone where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetMilestone where+  toPath GetMilestone' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/milestones/",+        Data.toBS milestoneNumber+      ]++instance Data.ToQuery GetMilestone where+  toQuery = Prelude.const Prelude.mempty++-- | Output of a get milestone call.+--+-- /See:/ 'newGetMilestoneResponse' smart constructor.+data GetMilestoneResponse = GetMilestoneResponse'+  { milestone :: Prelude.Maybe Milestone,+    workloadId :: 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 'GetMilestoneResponse' 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:+--+-- 'milestone', 'getMilestoneResponse_milestone' - Undocumented member.+--+-- 'workloadId', 'getMilestoneResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'getMilestoneResponse_httpStatus' - The response's http status code.+newGetMilestoneResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetMilestoneResponse+newGetMilestoneResponse pHttpStatus_ =+  GetMilestoneResponse'+    { milestone = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getMilestoneResponse_milestone :: Lens.Lens' GetMilestoneResponse (Prelude.Maybe Milestone)+getMilestoneResponse_milestone = Lens.lens (\GetMilestoneResponse' {milestone} -> milestone) (\s@GetMilestoneResponse' {} a -> s {milestone = a} :: GetMilestoneResponse)++-- | Undocumented member.+getMilestoneResponse_workloadId :: Lens.Lens' GetMilestoneResponse (Prelude.Maybe Prelude.Text)+getMilestoneResponse_workloadId = Lens.lens (\GetMilestoneResponse' {workloadId} -> workloadId) (\s@GetMilestoneResponse' {} a -> s {workloadId = a} :: GetMilestoneResponse)++-- | The response's http status code.+getMilestoneResponse_httpStatus :: Lens.Lens' GetMilestoneResponse Prelude.Int+getMilestoneResponse_httpStatus = Lens.lens (\GetMilestoneResponse' {httpStatus} -> httpStatus) (\s@GetMilestoneResponse' {} a -> s {httpStatus = a} :: GetMilestoneResponse)++instance Prelude.NFData GetMilestoneResponse where+  rnf GetMilestoneResponse' {..} =+    Prelude.rnf milestone+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/GetWorkload.hs view
@@ -0,0 +1,158 @@+{-# 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.WellArchitected.GetWorkload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get an existing workload.+module Amazonka.WellArchitected.GetWorkload+  ( -- * Creating a Request+    GetWorkload (..),+    newGetWorkload,++    -- * Request Lenses+    getWorkload_workloadId,++    -- * Destructuring the Response+    GetWorkloadResponse (..),+    newGetWorkloadResponse,++    -- * Response Lenses+    getWorkloadResponse_workload,+    getWorkloadResponse_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.WellArchitected.Types++-- | Input to get a workload.+--+-- /See:/ 'newGetWorkload' smart constructor.+data GetWorkload = GetWorkload'+  { workloadId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWorkload' 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:+--+-- 'workloadId', 'getWorkload_workloadId' - Undocumented member.+newGetWorkload ::+  -- | 'workloadId'+  Prelude.Text ->+  GetWorkload+newGetWorkload pWorkloadId_ =+  GetWorkload' {workloadId = pWorkloadId_}++-- | Undocumented member.+getWorkload_workloadId :: Lens.Lens' GetWorkload Prelude.Text+getWorkload_workloadId = Lens.lens (\GetWorkload' {workloadId} -> workloadId) (\s@GetWorkload' {} a -> s {workloadId = a} :: GetWorkload)++instance Core.AWSRequest GetWorkload where+  type AWSResponse GetWorkload = GetWorkloadResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetWorkloadResponse'+            Prelude.<$> (x Data..?> "Workload")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetWorkload where+  hashWithSalt _salt GetWorkload' {..} =+    _salt `Prelude.hashWithSalt` workloadId++instance Prelude.NFData GetWorkload where+  rnf GetWorkload' {..} = Prelude.rnf workloadId++instance Data.ToHeaders GetWorkload where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetWorkload where+  toPath GetWorkload' {..} =+    Prelude.mconcat+      ["/workloads/", Data.toBS workloadId]++instance Data.ToQuery GetWorkload where+  toQuery = Prelude.const Prelude.mempty++-- | Output of a get workload call.+--+-- /See:/ 'newGetWorkloadResponse' smart constructor.+data GetWorkloadResponse = GetWorkloadResponse'+  { workload :: Prelude.Maybe Workload,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWorkloadResponse' 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:+--+-- 'workload', 'getWorkloadResponse_workload' - Undocumented member.+--+-- 'httpStatus', 'getWorkloadResponse_httpStatus' - The response's http status code.+newGetWorkloadResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetWorkloadResponse+newGetWorkloadResponse pHttpStatus_ =+  GetWorkloadResponse'+    { workload = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getWorkloadResponse_workload :: Lens.Lens' GetWorkloadResponse (Prelude.Maybe Workload)+getWorkloadResponse_workload = Lens.lens (\GetWorkloadResponse' {workload} -> workload) (\s@GetWorkloadResponse' {} a -> s {workload = a} :: GetWorkloadResponse)++-- | The response's http status code.+getWorkloadResponse_httpStatus :: Lens.Lens' GetWorkloadResponse Prelude.Int+getWorkloadResponse_httpStatus = Lens.lens (\GetWorkloadResponse' {httpStatus} -> httpStatus) (\s@GetWorkloadResponse' {} a -> s {httpStatus = a} :: GetWorkloadResponse)++instance Prelude.NFData GetWorkloadResponse where+  rnf GetWorkloadResponse' {..} =+    Prelude.rnf workload+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ImportLens.hs view
@@ -0,0 +1,237 @@+{-# 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.WellArchitected.ImportLens+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Import a new lens.+--+-- The lens cannot be applied to workloads or shared with other Amazon Web+-- Services accounts until it\'s published with CreateLensVersion+--+-- Lenses are defined in JSON. For more information, see+-- <https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses-format-specification.html JSON format specification>+-- in the /Well-Architected Tool User Guide/.+--+-- A custom lens cannot exceed 500 KB in size.+--+-- __Disclaimer__+--+-- Do not include or gather personal identifiable information (PII) of end+-- users or other identifiable individuals in or via your custom lenses. If+-- your custom lens or those shared with you and used in your account do+-- include or collect PII you are responsible for: ensuring that the+-- included PII is processed in accordance with applicable law, providing+-- adequate privacy notices, and obtaining necessary consents for+-- processing such data.+module Amazonka.WellArchitected.ImportLens+  ( -- * Creating a Request+    ImportLens (..),+    newImportLens,++    -- * Request Lenses+    importLens_lensAlias,+    importLens_tags,+    importLens_jSONString,+    importLens_clientRequestToken,++    -- * Destructuring the Response+    ImportLensResponse (..),+    newImportLensResponse,++    -- * Response Lenses+    importLensResponse_lensArn,+    importLensResponse_status,+    importLensResponse_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.WellArchitected.Types++-- | /See:/ 'newImportLens' smart constructor.+data ImportLens = ImportLens'+  { lensAlias :: Prelude.Maybe Prelude.Text,+    -- | Tags to associate to a lens.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The JSON representation of a lens.+    jSONString :: Prelude.Text,+    clientRequestToken :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImportLens' 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:+--+-- 'lensAlias', 'importLens_lensAlias' - Undocumented member.+--+-- 'tags', 'importLens_tags' - Tags to associate to a lens.+--+-- 'jSONString', 'importLens_jSONString' - The JSON representation of a lens.+--+-- 'clientRequestToken', 'importLens_clientRequestToken' - Undocumented member.+newImportLens ::+  -- | 'jSONString'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  ImportLens+newImportLens pJSONString_ pClientRequestToken_ =+  ImportLens'+    { lensAlias = Prelude.Nothing,+      tags = Prelude.Nothing,+      jSONString = pJSONString_,+      clientRequestToken = pClientRequestToken_+    }++-- | Undocumented member.+importLens_lensAlias :: Lens.Lens' ImportLens (Prelude.Maybe Prelude.Text)+importLens_lensAlias = Lens.lens (\ImportLens' {lensAlias} -> lensAlias) (\s@ImportLens' {} a -> s {lensAlias = a} :: ImportLens)++-- | Tags to associate to a lens.+importLens_tags :: Lens.Lens' ImportLens (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+importLens_tags = Lens.lens (\ImportLens' {tags} -> tags) (\s@ImportLens' {} a -> s {tags = a} :: ImportLens) Prelude.. Lens.mapping Lens.coerced++-- | The JSON representation of a lens.+importLens_jSONString :: Lens.Lens' ImportLens Prelude.Text+importLens_jSONString = Lens.lens (\ImportLens' {jSONString} -> jSONString) (\s@ImportLens' {} a -> s {jSONString = a} :: ImportLens)++-- | Undocumented member.+importLens_clientRequestToken :: Lens.Lens' ImportLens Prelude.Text+importLens_clientRequestToken = Lens.lens (\ImportLens' {clientRequestToken} -> clientRequestToken) (\s@ImportLens' {} a -> s {clientRequestToken = a} :: ImportLens)++instance Core.AWSRequest ImportLens where+  type AWSResponse ImportLens = ImportLensResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ImportLensResponse'+            Prelude.<$> (x Data..?> "LensArn")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ImportLens where+  hashWithSalt _salt ImportLens' {..} =+    _salt+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` jSONString+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData ImportLens where+  rnf ImportLens' {..} =+    Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf jSONString+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders ImportLens where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ImportLens where+  toJSON ImportLens' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LensAlias" Data..=) Prelude.<$> lensAlias,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("JSONString" Data..= jSONString),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath ImportLens where+  toPath = Prelude.const "/importLens"++instance Data.ToQuery ImportLens where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newImportLensResponse' smart constructor.+data ImportLensResponse = ImportLensResponse'+  { -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    -- | The status of the imported lens.+    status :: Prelude.Maybe ImportLensStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImportLensResponse' 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:+--+-- 'lensArn', 'importLensResponse_lensArn' - The ARN for the lens.+--+-- 'status', 'importLensResponse_status' - The status of the imported lens.+--+-- 'httpStatus', 'importLensResponse_httpStatus' - The response's http status code.+newImportLensResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ImportLensResponse+newImportLensResponse pHttpStatus_ =+  ImportLensResponse'+    { lensArn = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN for the lens.+importLensResponse_lensArn :: Lens.Lens' ImportLensResponse (Prelude.Maybe Prelude.Text)+importLensResponse_lensArn = Lens.lens (\ImportLensResponse' {lensArn} -> lensArn) (\s@ImportLensResponse' {} a -> s {lensArn = a} :: ImportLensResponse)++-- | The status of the imported lens.+importLensResponse_status :: Lens.Lens' ImportLensResponse (Prelude.Maybe ImportLensStatus)+importLensResponse_status = Lens.lens (\ImportLensResponse' {status} -> status) (\s@ImportLensResponse' {} a -> s {status = a} :: ImportLensResponse)++-- | The response's http status code.+importLensResponse_httpStatus :: Lens.Lens' ImportLensResponse Prelude.Int+importLensResponse_httpStatus = Lens.lens (\ImportLensResponse' {httpStatus} -> httpStatus) (\s@ImportLensResponse' {} a -> s {httpStatus = a} :: ImportLensResponse)++instance Prelude.NFData ImportLensResponse where+  rnf ImportLensResponse' {..} =+    Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/Lens.hs view
@@ -0,0 +1,737 @@+{-# 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.WellArchitected.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.WellArchitected.Lens+  ( -- * Operations++    -- ** AssociateLenses+    associateLenses_workloadId,+    associateLenses_lensAliases,++    -- ** CreateLensShare+    createLensShare_lensAlias,+    createLensShare_sharedWith,+    createLensShare_clientRequestToken,+    createLensShareResponse_shareId,+    createLensShareResponse_httpStatus,++    -- ** CreateLensVersion+    createLensVersion_isMajorVersion,+    createLensVersion_lensAlias,+    createLensVersion_lensVersion,+    createLensVersion_clientRequestToken,+    createLensVersionResponse_lensArn,+    createLensVersionResponse_lensVersion,+    createLensVersionResponse_httpStatus,++    -- ** CreateMilestone+    createMilestone_workloadId,+    createMilestone_milestoneName,+    createMilestone_clientRequestToken,+    createMilestoneResponse_milestoneNumber,+    createMilestoneResponse_workloadId,+    createMilestoneResponse_httpStatus,++    -- ** CreateWorkload+    createWorkload_accountIds,+    createWorkload_applications,+    createWorkload_architecturalDesign,+    createWorkload_awsRegions,+    createWorkload_discoveryConfig,+    createWorkload_industry,+    createWorkload_industryType,+    createWorkload_nonAwsRegions,+    createWorkload_notes,+    createWorkload_pillarPriorities,+    createWorkload_reviewOwner,+    createWorkload_tags,+    createWorkload_workloadName,+    createWorkload_description,+    createWorkload_environment,+    createWorkload_lenses,+    createWorkload_clientRequestToken,+    createWorkloadResponse_workloadArn,+    createWorkloadResponse_workloadId,+    createWorkloadResponse_httpStatus,++    -- ** CreateWorkloadShare+    createWorkloadShare_workloadId,+    createWorkloadShare_sharedWith,+    createWorkloadShare_permissionType,+    createWorkloadShare_clientRequestToken,+    createWorkloadShareResponse_shareId,+    createWorkloadShareResponse_workloadId,+    createWorkloadShareResponse_httpStatus,++    -- ** DeleteLens+    deleteLens_lensAlias,+    deleteLens_clientRequestToken,+    deleteLens_lensStatus,++    -- ** DeleteLensShare+    deleteLensShare_shareId,+    deleteLensShare_lensAlias,+    deleteLensShare_clientRequestToken,++    -- ** DeleteWorkload+    deleteWorkload_workloadId,+    deleteWorkload_clientRequestToken,++    -- ** DeleteWorkloadShare+    deleteWorkloadShare_shareId,+    deleteWorkloadShare_workloadId,+    deleteWorkloadShare_clientRequestToken,++    -- ** DisassociateLenses+    disassociateLenses_workloadId,+    disassociateLenses_lensAliases,++    -- ** ExportLens+    exportLens_lensVersion,+    exportLens_lensAlias,+    exportLensResponse_lensJSON,+    exportLensResponse_httpStatus,++    -- ** GetAnswer+    getAnswer_milestoneNumber,+    getAnswer_workloadId,+    getAnswer_lensAlias,+    getAnswer_questionId,+    getAnswerResponse_answer,+    getAnswerResponse_lensAlias,+    getAnswerResponse_lensArn,+    getAnswerResponse_milestoneNumber,+    getAnswerResponse_workloadId,+    getAnswerResponse_httpStatus,++    -- ** GetLens+    getLens_lensVersion,+    getLens_lensAlias,+    getLensResponse_lens,+    getLensResponse_httpStatus,++    -- ** GetLensReview+    getLensReview_milestoneNumber,+    getLensReview_workloadId,+    getLensReview_lensAlias,+    getLensReviewResponse_lensReview,+    getLensReviewResponse_milestoneNumber,+    getLensReviewResponse_workloadId,+    getLensReviewResponse_httpStatus,++    -- ** GetLensReviewReport+    getLensReviewReport_milestoneNumber,+    getLensReviewReport_workloadId,+    getLensReviewReport_lensAlias,+    getLensReviewReportResponse_lensReviewReport,+    getLensReviewReportResponse_milestoneNumber,+    getLensReviewReportResponse_workloadId,+    getLensReviewReportResponse_httpStatus,++    -- ** GetLensVersionDifference+    getLensVersionDifference_baseLensVersion,+    getLensVersionDifference_targetLensVersion,+    getLensVersionDifference_lensAlias,+    getLensVersionDifferenceResponse_baseLensVersion,+    getLensVersionDifferenceResponse_latestLensVersion,+    getLensVersionDifferenceResponse_lensAlias,+    getLensVersionDifferenceResponse_lensArn,+    getLensVersionDifferenceResponse_targetLensVersion,+    getLensVersionDifferenceResponse_versionDifferences,+    getLensVersionDifferenceResponse_httpStatus,++    -- ** GetMilestone+    getMilestone_workloadId,+    getMilestone_milestoneNumber,+    getMilestoneResponse_milestone,+    getMilestoneResponse_workloadId,+    getMilestoneResponse_httpStatus,++    -- ** GetWorkload+    getWorkload_workloadId,+    getWorkloadResponse_workload,+    getWorkloadResponse_httpStatus,++    -- ** ImportLens+    importLens_lensAlias,+    importLens_tags,+    importLens_jSONString,+    importLens_clientRequestToken,+    importLensResponse_lensArn,+    importLensResponse_status,+    importLensResponse_httpStatus,++    -- ** ListAnswers+    listAnswers_maxResults,+    listAnswers_milestoneNumber,+    listAnswers_nextToken,+    listAnswers_pillarId,+    listAnswers_workloadId,+    listAnswers_lensAlias,+    listAnswersResponse_answerSummaries,+    listAnswersResponse_lensAlias,+    listAnswersResponse_lensArn,+    listAnswersResponse_milestoneNumber,+    listAnswersResponse_nextToken,+    listAnswersResponse_workloadId,+    listAnswersResponse_httpStatus,++    -- ** ListCheckDetails+    listCheckDetails_maxResults,+    listCheckDetails_nextToken,+    listCheckDetails_workloadId,+    listCheckDetails_lensArn,+    listCheckDetails_pillarId,+    listCheckDetails_questionId,+    listCheckDetails_choiceId,+    listCheckDetailsResponse_checkDetails,+    listCheckDetailsResponse_nextToken,+    listCheckDetailsResponse_httpStatus,++    -- ** ListCheckSummaries+    listCheckSummaries_maxResults,+    listCheckSummaries_nextToken,+    listCheckSummaries_workloadId,+    listCheckSummaries_lensArn,+    listCheckSummaries_pillarId,+    listCheckSummaries_questionId,+    listCheckSummaries_choiceId,+    listCheckSummariesResponse_checkSummaries,+    listCheckSummariesResponse_nextToken,+    listCheckSummariesResponse_httpStatus,++    -- ** ListLensReviewImprovements+    listLensReviewImprovements_maxResults,+    listLensReviewImprovements_milestoneNumber,+    listLensReviewImprovements_nextToken,+    listLensReviewImprovements_pillarId,+    listLensReviewImprovements_workloadId,+    listLensReviewImprovements_lensAlias,+    listLensReviewImprovementsResponse_improvementSummaries,+    listLensReviewImprovementsResponse_lensAlias,+    listLensReviewImprovementsResponse_lensArn,+    listLensReviewImprovementsResponse_milestoneNumber,+    listLensReviewImprovementsResponse_nextToken,+    listLensReviewImprovementsResponse_workloadId,+    listLensReviewImprovementsResponse_httpStatus,++    -- ** ListLensReviews+    listLensReviews_maxResults,+    listLensReviews_milestoneNumber,+    listLensReviews_nextToken,+    listLensReviews_workloadId,+    listLensReviewsResponse_lensReviewSummaries,+    listLensReviewsResponse_milestoneNumber,+    listLensReviewsResponse_nextToken,+    listLensReviewsResponse_workloadId,+    listLensReviewsResponse_httpStatus,++    -- ** ListLensShares+    listLensShares_maxResults,+    listLensShares_nextToken,+    listLensShares_sharedWithPrefix,+    listLensShares_status,+    listLensShares_lensAlias,+    listLensSharesResponse_lensShareSummaries,+    listLensSharesResponse_nextToken,+    listLensSharesResponse_httpStatus,++    -- ** ListLenses+    listLenses_lensName,+    listLenses_lensStatus,+    listLenses_lensType,+    listLenses_maxResults,+    listLenses_nextToken,+    listLensesResponse_lensSummaries,+    listLensesResponse_nextToken,+    listLensesResponse_httpStatus,++    -- ** ListMilestones+    listMilestones_maxResults,+    listMilestones_nextToken,+    listMilestones_workloadId,+    listMilestonesResponse_milestoneSummaries,+    listMilestonesResponse_nextToken,+    listMilestonesResponse_workloadId,+    listMilestonesResponse_httpStatus,++    -- ** ListNotifications+    listNotifications_maxResults,+    listNotifications_nextToken,+    listNotifications_workloadId,+    listNotificationsResponse_nextToken,+    listNotificationsResponse_notificationSummaries,+    listNotificationsResponse_httpStatus,++    -- ** ListShareInvitations+    listShareInvitations_lensNamePrefix,+    listShareInvitations_maxResults,+    listShareInvitations_nextToken,+    listShareInvitations_shareResourceType,+    listShareInvitations_workloadNamePrefix,+    listShareInvitationsResponse_nextToken,+    listShareInvitationsResponse_shareInvitationSummaries,+    listShareInvitationsResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_workloadArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** ListWorkloadShares+    listWorkloadShares_maxResults,+    listWorkloadShares_nextToken,+    listWorkloadShares_sharedWithPrefix,+    listWorkloadShares_status,+    listWorkloadShares_workloadId,+    listWorkloadSharesResponse_nextToken,+    listWorkloadSharesResponse_workloadId,+    listWorkloadSharesResponse_workloadShareSummaries,+    listWorkloadSharesResponse_httpStatus,++    -- ** ListWorkloads+    listWorkloads_maxResults,+    listWorkloads_nextToken,+    listWorkloads_workloadNamePrefix,+    listWorkloadsResponse_nextToken,+    listWorkloadsResponse_workloadSummaries,+    listWorkloadsResponse_httpStatus,++    -- ** TagResource+    tagResource_workloadArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_workloadArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateAnswer+    updateAnswer_choiceUpdates,+    updateAnswer_isApplicable,+    updateAnswer_notes,+    updateAnswer_reason,+    updateAnswer_selectedChoices,+    updateAnswer_workloadId,+    updateAnswer_lensAlias,+    updateAnswer_questionId,+    updateAnswerResponse_answer,+    updateAnswerResponse_lensAlias,+    updateAnswerResponse_lensArn,+    updateAnswerResponse_workloadId,+    updateAnswerResponse_httpStatus,++    -- ** UpdateGlobalSettings+    updateGlobalSettings_organizationSharingStatus,++    -- ** UpdateLensReview+    updateLensReview_lensNotes,+    updateLensReview_pillarNotes,+    updateLensReview_workloadId,+    updateLensReview_lensAlias,+    updateLensReviewResponse_lensReview,+    updateLensReviewResponse_workloadId,+    updateLensReviewResponse_httpStatus,++    -- ** UpdateShareInvitation+    updateShareInvitation_shareInvitationId,+    updateShareInvitation_shareInvitationAction,+    updateShareInvitationResponse_shareInvitation,+    updateShareInvitationResponse_httpStatus,++    -- ** UpdateWorkload+    updateWorkload_accountIds,+    updateWorkload_applications,+    updateWorkload_architecturalDesign,+    updateWorkload_awsRegions,+    updateWorkload_description,+    updateWorkload_discoveryConfig,+    updateWorkload_environment,+    updateWorkload_improvementStatus,+    updateWorkload_industry,+    updateWorkload_industryType,+    updateWorkload_isReviewOwnerUpdateAcknowledged,+    updateWorkload_nonAwsRegions,+    updateWorkload_notes,+    updateWorkload_pillarPriorities,+    updateWorkload_reviewOwner,+    updateWorkload_workloadName,+    updateWorkload_workloadId,+    updateWorkloadResponse_workload,+    updateWorkloadResponse_httpStatus,++    -- ** UpdateWorkloadShare+    updateWorkloadShare_shareId,+    updateWorkloadShare_workloadId,+    updateWorkloadShare_permissionType,+    updateWorkloadShareResponse_workloadId,+    updateWorkloadShareResponse_workloadShare,+    updateWorkloadShareResponse_httpStatus,++    -- ** UpgradeLensReview+    upgradeLensReview_clientRequestToken,+    upgradeLensReview_workloadId,+    upgradeLensReview_lensAlias,+    upgradeLensReview_milestoneName,++    -- * Types++    -- ** AdditionalResources+    additionalResources_content,+    additionalResources_type,++    -- ** Answer+    answer_choiceAnswers,+    answer_choices,+    answer_helpfulResourceDisplayText,+    answer_helpfulResourceUrl,+    answer_improvementPlanUrl,+    answer_isApplicable,+    answer_notes,+    answer_pillarId,+    answer_questionDescription,+    answer_questionId,+    answer_questionTitle,+    answer_reason,+    answer_risk,+    answer_selectedChoices,++    -- ** AnswerSummary+    answerSummary_choiceAnswerSummaries,+    answerSummary_choices,+    answerSummary_isApplicable,+    answerSummary_pillarId,+    answerSummary_questionId,+    answerSummary_questionTitle,+    answerSummary_reason,+    answerSummary_risk,+    answerSummary_selectedChoices,++    -- ** CheckDetail+    checkDetail_accountId,+    checkDetail_choiceId,+    checkDetail_description,+    checkDetail_flaggedResources,+    checkDetail_id,+    checkDetail_lensArn,+    checkDetail_name,+    checkDetail_pillarId,+    checkDetail_provider,+    checkDetail_questionId,+    checkDetail_reason,+    checkDetail_status,+    checkDetail_updatedAt,++    -- ** CheckSummary+    checkSummary_accountSummary,+    checkSummary_choiceId,+    checkSummary_description,+    checkSummary_id,+    checkSummary_lensArn,+    checkSummary_name,+    checkSummary_pillarId,+    checkSummary_provider,+    checkSummary_questionId,+    checkSummary_status,+    checkSummary_updatedAt,++    -- ** Choice+    choice_additionalResources,+    choice_choiceId,+    choice_description,+    choice_helpfulResource,+    choice_improvementPlan,+    choice_title,++    -- ** ChoiceAnswer+    choiceAnswer_choiceId,+    choiceAnswer_notes,+    choiceAnswer_reason,+    choiceAnswer_status,++    -- ** ChoiceAnswerSummary+    choiceAnswerSummary_choiceId,+    choiceAnswerSummary_reason,+    choiceAnswerSummary_status,++    -- ** ChoiceContent+    choiceContent_displayText,+    choiceContent_url,++    -- ** ChoiceImprovementPlan+    choiceImprovementPlan_choiceId,+    choiceImprovementPlan_displayText,+    choiceImprovementPlan_improvementPlanUrl,++    -- ** ChoiceUpdate+    choiceUpdate_notes,+    choiceUpdate_reason,+    choiceUpdate_status,++    -- ** ImprovementSummary+    improvementSummary_improvementPlanUrl,+    improvementSummary_improvementPlans,+    improvementSummary_pillarId,+    improvementSummary_questionId,+    improvementSummary_questionTitle,+    improvementSummary_risk,++    -- ** Lens+    lens_description,+    lens_lensArn,+    lens_lensVersion,+    lens_name,+    lens_owner,+    lens_shareInvitationId,+    lens_tags,++    -- ** LensReview+    lensReview_lensAlias,+    lensReview_lensArn,+    lensReview_lensName,+    lensReview_lensStatus,+    lensReview_lensVersion,+    lensReview_nextToken,+    lensReview_notes,+    lensReview_pillarReviewSummaries,+    lensReview_riskCounts,+    lensReview_updatedAt,++    -- ** LensReviewReport+    lensReviewReport_base64String,+    lensReviewReport_lensAlias,+    lensReviewReport_lensArn,++    -- ** LensReviewSummary+    lensReviewSummary_lensAlias,+    lensReviewSummary_lensArn,+    lensReviewSummary_lensName,+    lensReviewSummary_lensStatus,+    lensReviewSummary_lensVersion,+    lensReviewSummary_riskCounts,+    lensReviewSummary_updatedAt,++    -- ** LensShareSummary+    lensShareSummary_shareId,+    lensShareSummary_sharedWith,+    lensShareSummary_status,+    lensShareSummary_statusMessage,++    -- ** LensSummary+    lensSummary_createdAt,+    lensSummary_description,+    lensSummary_lensAlias,+    lensSummary_lensArn,+    lensSummary_lensName,+    lensSummary_lensStatus,+    lensSummary_lensType,+    lensSummary_lensVersion,+    lensSummary_owner,+    lensSummary_updatedAt,++    -- ** LensUpgradeSummary+    lensUpgradeSummary_currentLensVersion,+    lensUpgradeSummary_latestLensVersion,+    lensUpgradeSummary_lensAlias,+    lensUpgradeSummary_lensArn,+    lensUpgradeSummary_workloadId,+    lensUpgradeSummary_workloadName,++    -- ** Milestone+    milestone_milestoneName,+    milestone_milestoneNumber,+    milestone_recordedAt,+    milestone_workload,++    -- ** MilestoneSummary+    milestoneSummary_milestoneName,+    milestoneSummary_milestoneNumber,+    milestoneSummary_recordedAt,+    milestoneSummary_workloadSummary,++    -- ** NotificationSummary+    notificationSummary_lensUpgradeSummary,+    notificationSummary_type,++    -- ** PillarDifference+    pillarDifference_differenceStatus,+    pillarDifference_pillarId,+    pillarDifference_pillarName,+    pillarDifference_questionDifferences,++    -- ** PillarReviewSummary+    pillarReviewSummary_notes,+    pillarReviewSummary_pillarId,+    pillarReviewSummary_pillarName,+    pillarReviewSummary_riskCounts,++    -- ** QuestionDifference+    questionDifference_differenceStatus,+    questionDifference_questionId,+    questionDifference_questionTitle,++    -- ** ShareInvitation+    shareInvitation_lensAlias,+    shareInvitation_lensArn,+    shareInvitation_shareInvitationId,+    shareInvitation_shareResourceType,+    shareInvitation_workloadId,++    -- ** ShareInvitationSummary+    shareInvitationSummary_lensArn,+    shareInvitationSummary_lensName,+    shareInvitationSummary_permissionType,+    shareInvitationSummary_shareInvitationId,+    shareInvitationSummary_shareResourceType,+    shareInvitationSummary_sharedBy,+    shareInvitationSummary_sharedWith,+    shareInvitationSummary_workloadId,+    shareInvitationSummary_workloadName,++    -- ** VersionDifferences+    versionDifferences_pillarDifferences,++    -- ** Workload+    workload_accountIds,+    workload_applications,+    workload_architecturalDesign,+    workload_awsRegions,+    workload_description,+    workload_discoveryConfig,+    workload_environment,+    workload_improvementStatus,+    workload_industry,+    workload_industryType,+    workload_isReviewOwnerUpdateAcknowledged,+    workload_lenses,+    workload_nonAwsRegions,+    workload_notes,+    workload_owner,+    workload_pillarPriorities,+    workload_reviewOwner,+    workload_reviewRestrictionDate,+    workload_riskCounts,+    workload_shareInvitationId,+    workload_tags,+    workload_updatedAt,+    workload_workloadArn,+    workload_workloadId,+    workload_workloadName,++    -- ** WorkloadDiscoveryConfig+    workloadDiscoveryConfig_trustedAdvisorIntegrationStatus,++    -- ** WorkloadShare+    workloadShare_permissionType,+    workloadShare_shareId,+    workloadShare_sharedBy,+    workloadShare_sharedWith,+    workloadShare_status,+    workloadShare_workloadId,+    workloadShare_workloadName,++    -- ** WorkloadShareSummary+    workloadShareSummary_permissionType,+    workloadShareSummary_shareId,+    workloadShareSummary_sharedWith,+    workloadShareSummary_status,+    workloadShareSummary_statusMessage,++    -- ** WorkloadSummary+    workloadSummary_improvementStatus,+    workloadSummary_lenses,+    workloadSummary_owner,+    workloadSummary_riskCounts,+    workloadSummary_updatedAt,+    workloadSummary_workloadArn,+    workloadSummary_workloadId,+    workloadSummary_workloadName,+  )+where++import Amazonka.WellArchitected.AssociateLenses+import Amazonka.WellArchitected.CreateLensShare+import Amazonka.WellArchitected.CreateLensVersion+import Amazonka.WellArchitected.CreateMilestone+import Amazonka.WellArchitected.CreateWorkload+import Amazonka.WellArchitected.CreateWorkloadShare+import Amazonka.WellArchitected.DeleteLens+import Amazonka.WellArchitected.DeleteLensShare+import Amazonka.WellArchitected.DeleteWorkload+import Amazonka.WellArchitected.DeleteWorkloadShare+import Amazonka.WellArchitected.DisassociateLenses+import Amazonka.WellArchitected.ExportLens+import Amazonka.WellArchitected.GetAnswer+import Amazonka.WellArchitected.GetLens+import Amazonka.WellArchitected.GetLensReview+import Amazonka.WellArchitected.GetLensReviewReport+import Amazonka.WellArchitected.GetLensVersionDifference+import Amazonka.WellArchitected.GetMilestone+import Amazonka.WellArchitected.GetWorkload+import Amazonka.WellArchitected.ImportLens+import Amazonka.WellArchitected.ListAnswers+import Amazonka.WellArchitected.ListCheckDetails+import Amazonka.WellArchitected.ListCheckSummaries+import Amazonka.WellArchitected.ListLensReviewImprovements+import Amazonka.WellArchitected.ListLensReviews+import Amazonka.WellArchitected.ListLensShares+import Amazonka.WellArchitected.ListLenses+import Amazonka.WellArchitected.ListMilestones+import Amazonka.WellArchitected.ListNotifications+import Amazonka.WellArchitected.ListShareInvitations+import Amazonka.WellArchitected.ListTagsForResource+import Amazonka.WellArchitected.ListWorkloadShares+import Amazonka.WellArchitected.ListWorkloads+import Amazonka.WellArchitected.TagResource+import Amazonka.WellArchitected.Types.AdditionalResources+import Amazonka.WellArchitected.Types.Answer+import Amazonka.WellArchitected.Types.AnswerSummary+import Amazonka.WellArchitected.Types.CheckDetail+import Amazonka.WellArchitected.Types.CheckSummary+import Amazonka.WellArchitected.Types.Choice+import Amazonka.WellArchitected.Types.ChoiceAnswer+import Amazonka.WellArchitected.Types.ChoiceAnswerSummary+import Amazonka.WellArchitected.Types.ChoiceContent+import Amazonka.WellArchitected.Types.ChoiceImprovementPlan+import Amazonka.WellArchitected.Types.ChoiceUpdate+import Amazonka.WellArchitected.Types.ImprovementSummary+import Amazonka.WellArchitected.Types.Lens+import Amazonka.WellArchitected.Types.LensReview+import Amazonka.WellArchitected.Types.LensReviewReport+import Amazonka.WellArchitected.Types.LensReviewSummary+import Amazonka.WellArchitected.Types.LensShareSummary+import Amazonka.WellArchitected.Types.LensSummary+import Amazonka.WellArchitected.Types.LensUpgradeSummary+import Amazonka.WellArchitected.Types.Milestone+import Amazonka.WellArchitected.Types.MilestoneSummary+import Amazonka.WellArchitected.Types.NotificationSummary+import Amazonka.WellArchitected.Types.PillarDifference+import Amazonka.WellArchitected.Types.PillarReviewSummary+import Amazonka.WellArchitected.Types.QuestionDifference+import Amazonka.WellArchitected.Types.ShareInvitation+import Amazonka.WellArchitected.Types.ShareInvitationSummary+import Amazonka.WellArchitected.Types.VersionDifferences+import Amazonka.WellArchitected.Types.Workload+import Amazonka.WellArchitected.Types.WorkloadDiscoveryConfig+import Amazonka.WellArchitected.Types.WorkloadShare+import Amazonka.WellArchitected.Types.WorkloadShareSummary+import Amazonka.WellArchitected.Types.WorkloadSummary+import Amazonka.WellArchitected.UntagResource+import Amazonka.WellArchitected.UpdateAnswer+import Amazonka.WellArchitected.UpdateGlobalSettings+import Amazonka.WellArchitected.UpdateLensReview+import Amazonka.WellArchitected.UpdateShareInvitation+import Amazonka.WellArchitected.UpdateWorkload+import Amazonka.WellArchitected.UpdateWorkloadShare+import Amazonka.WellArchitected.UpgradeLensReview
+ gen/Amazonka/WellArchitected/ListAnswers.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.WellArchitected.ListAnswers+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List of answers.+module Amazonka.WellArchitected.ListAnswers+  ( -- * Creating a Request+    ListAnswers (..),+    newListAnswers,++    -- * Request Lenses+    listAnswers_maxResults,+    listAnswers_milestoneNumber,+    listAnswers_nextToken,+    listAnswers_pillarId,+    listAnswers_workloadId,+    listAnswers_lensAlias,++    -- * Destructuring the Response+    ListAnswersResponse (..),+    newListAnswersResponse,++    -- * Response Lenses+    listAnswersResponse_answerSummaries,+    listAnswersResponse_lensAlias,+    listAnswersResponse_lensArn,+    listAnswersResponse_milestoneNumber,+    listAnswersResponse_nextToken,+    listAnswersResponse_workloadId,+    listAnswersResponse_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.WellArchitected.Types++-- | Input to list answers.+--+-- /See:/ 'newListAnswers' smart constructor.+data ListAnswers = ListAnswers'+  { -- | The maximum number of results to return for this request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    milestoneNumber :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    pillarId :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Text,+    lensAlias :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAnswers' 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', 'listAnswers_maxResults' - The maximum number of results to return for this request.+--+-- 'milestoneNumber', 'listAnswers_milestoneNumber' - Undocumented member.+--+-- 'nextToken', 'listAnswers_nextToken' - Undocumented member.+--+-- 'pillarId', 'listAnswers_pillarId' - Undocumented member.+--+-- 'workloadId', 'listAnswers_workloadId' - Undocumented member.+--+-- 'lensAlias', 'listAnswers_lensAlias' - Undocumented member.+newListAnswers ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'lensAlias'+  Prelude.Text ->+  ListAnswers+newListAnswers pWorkloadId_ pLensAlias_ =+  ListAnswers'+    { maxResults = Prelude.Nothing,+      milestoneNumber = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      pillarId = Prelude.Nothing,+      workloadId = pWorkloadId_,+      lensAlias = pLensAlias_+    }++-- | The maximum number of results to return for this request.+listAnswers_maxResults :: Lens.Lens' ListAnswers (Prelude.Maybe Prelude.Natural)+listAnswers_maxResults = Lens.lens (\ListAnswers' {maxResults} -> maxResults) (\s@ListAnswers' {} a -> s {maxResults = a} :: ListAnswers)++-- | Undocumented member.+listAnswers_milestoneNumber :: Lens.Lens' ListAnswers (Prelude.Maybe Prelude.Natural)+listAnswers_milestoneNumber = Lens.lens (\ListAnswers' {milestoneNumber} -> milestoneNumber) (\s@ListAnswers' {} a -> s {milestoneNumber = a} :: ListAnswers)++-- | Undocumented member.+listAnswers_nextToken :: Lens.Lens' ListAnswers (Prelude.Maybe Prelude.Text)+listAnswers_nextToken = Lens.lens (\ListAnswers' {nextToken} -> nextToken) (\s@ListAnswers' {} a -> s {nextToken = a} :: ListAnswers)++-- | Undocumented member.+listAnswers_pillarId :: Lens.Lens' ListAnswers (Prelude.Maybe Prelude.Text)+listAnswers_pillarId = Lens.lens (\ListAnswers' {pillarId} -> pillarId) (\s@ListAnswers' {} a -> s {pillarId = a} :: ListAnswers)++-- | Undocumented member.+listAnswers_workloadId :: Lens.Lens' ListAnswers Prelude.Text+listAnswers_workloadId = Lens.lens (\ListAnswers' {workloadId} -> workloadId) (\s@ListAnswers' {} a -> s {workloadId = a} :: ListAnswers)++-- | Undocumented member.+listAnswers_lensAlias :: Lens.Lens' ListAnswers Prelude.Text+listAnswers_lensAlias = Lens.lens (\ListAnswers' {lensAlias} -> lensAlias) (\s@ListAnswers' {} a -> s {lensAlias = a} :: ListAnswers)++instance Core.AWSRequest ListAnswers where+  type AWSResponse ListAnswers = ListAnswersResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAnswersResponse'+            Prelude.<$> ( x+                            Data..?> "AnswerSummaries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "LensAlias")+            Prelude.<*> (x Data..?> "LensArn")+            Prelude.<*> (x Data..?> "MilestoneNumber")+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAnswers where+  hashWithSalt _salt ListAnswers' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` milestoneNumber+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` pillarId+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` lensAlias++instance Prelude.NFData ListAnswers where+  rnf ListAnswers' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf pillarId+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf lensAlias++instance Data.ToHeaders ListAnswers where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListAnswers where+  toPath ListAnswers' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/lensReviews/",+        Data.toBS lensAlias,+        "/answers"+      ]++instance Data.ToQuery ListAnswers where+  toQuery ListAnswers' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "MilestoneNumber" Data.=: milestoneNumber,+        "NextToken" Data.=: nextToken,+        "PillarId" Data.=: pillarId+      ]++-- | Output of a list answers call.+--+-- /See:/ 'newListAnswersResponse' smart constructor.+data ListAnswersResponse = ListAnswersResponse'+  { answerSummaries :: Prelude.Maybe [AnswerSummary],+    lensAlias :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    milestoneNumber :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    workloadId :: 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 'ListAnswersResponse' 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:+--+-- 'answerSummaries', 'listAnswersResponse_answerSummaries' - Undocumented member.+--+-- 'lensAlias', 'listAnswersResponse_lensAlias' - Undocumented member.+--+-- 'lensArn', 'listAnswersResponse_lensArn' - The ARN for the lens.+--+-- 'milestoneNumber', 'listAnswersResponse_milestoneNumber' - Undocumented member.+--+-- 'nextToken', 'listAnswersResponse_nextToken' - Undocumented member.+--+-- 'workloadId', 'listAnswersResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'listAnswersResponse_httpStatus' - The response's http status code.+newListAnswersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAnswersResponse+newListAnswersResponse pHttpStatus_ =+  ListAnswersResponse'+    { answerSummaries =+        Prelude.Nothing,+      lensAlias = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      milestoneNumber = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listAnswersResponse_answerSummaries :: Lens.Lens' ListAnswersResponse (Prelude.Maybe [AnswerSummary])+listAnswersResponse_answerSummaries = Lens.lens (\ListAnswersResponse' {answerSummaries} -> answerSummaries) (\s@ListAnswersResponse' {} a -> s {answerSummaries = a} :: ListAnswersResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listAnswersResponse_lensAlias :: Lens.Lens' ListAnswersResponse (Prelude.Maybe Prelude.Text)+listAnswersResponse_lensAlias = Lens.lens (\ListAnswersResponse' {lensAlias} -> lensAlias) (\s@ListAnswersResponse' {} a -> s {lensAlias = a} :: ListAnswersResponse)++-- | The ARN for the lens.+listAnswersResponse_lensArn :: Lens.Lens' ListAnswersResponse (Prelude.Maybe Prelude.Text)+listAnswersResponse_lensArn = Lens.lens (\ListAnswersResponse' {lensArn} -> lensArn) (\s@ListAnswersResponse' {} a -> s {lensArn = a} :: ListAnswersResponse)++-- | Undocumented member.+listAnswersResponse_milestoneNumber :: Lens.Lens' ListAnswersResponse (Prelude.Maybe Prelude.Natural)+listAnswersResponse_milestoneNumber = Lens.lens (\ListAnswersResponse' {milestoneNumber} -> milestoneNumber) (\s@ListAnswersResponse' {} a -> s {milestoneNumber = a} :: ListAnswersResponse)++-- | Undocumented member.+listAnswersResponse_nextToken :: Lens.Lens' ListAnswersResponse (Prelude.Maybe Prelude.Text)+listAnswersResponse_nextToken = Lens.lens (\ListAnswersResponse' {nextToken} -> nextToken) (\s@ListAnswersResponse' {} a -> s {nextToken = a} :: ListAnswersResponse)++-- | Undocumented member.+listAnswersResponse_workloadId :: Lens.Lens' ListAnswersResponse (Prelude.Maybe Prelude.Text)+listAnswersResponse_workloadId = Lens.lens (\ListAnswersResponse' {workloadId} -> workloadId) (\s@ListAnswersResponse' {} a -> s {workloadId = a} :: ListAnswersResponse)++-- | The response's http status code.+listAnswersResponse_httpStatus :: Lens.Lens' ListAnswersResponse Prelude.Int+listAnswersResponse_httpStatus = Lens.lens (\ListAnswersResponse' {httpStatus} -> httpStatus) (\s@ListAnswersResponse' {} a -> s {httpStatus = a} :: ListAnswersResponse)++instance Prelude.NFData ListAnswersResponse where+  rnf ListAnswersResponse' {..} =+    Prelude.rnf answerSummaries+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ListCheckDetails.hs view
@@ -0,0 +1,270 @@+{-# 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.WellArchitected.ListCheckDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List of Trusted Advisor check details by account related to the+-- workload.+module Amazonka.WellArchitected.ListCheckDetails+  ( -- * Creating a Request+    ListCheckDetails (..),+    newListCheckDetails,++    -- * Request Lenses+    listCheckDetails_maxResults,+    listCheckDetails_nextToken,+    listCheckDetails_workloadId,+    listCheckDetails_lensArn,+    listCheckDetails_pillarId,+    listCheckDetails_questionId,+    listCheckDetails_choiceId,++    -- * Destructuring the Response+    ListCheckDetailsResponse (..),+    newListCheckDetailsResponse,++    -- * Response Lenses+    listCheckDetailsResponse_checkDetails,+    listCheckDetailsResponse_nextToken,+    listCheckDetailsResponse_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.WellArchitected.Types++-- | /See:/ 'newListCheckDetails' smart constructor.+data ListCheckDetails = ListCheckDetails'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Text,+    -- | Well-Architected Lens ARN.+    lensArn :: Prelude.Text,+    pillarId :: Prelude.Text,+    questionId :: Prelude.Text,+    choiceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCheckDetails' 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', 'listCheckDetails_maxResults' - Undocumented member.+--+-- 'nextToken', 'listCheckDetails_nextToken' - Undocumented member.+--+-- 'workloadId', 'listCheckDetails_workloadId' - Undocumented member.+--+-- 'lensArn', 'listCheckDetails_lensArn' - Well-Architected Lens ARN.+--+-- 'pillarId', 'listCheckDetails_pillarId' - Undocumented member.+--+-- 'questionId', 'listCheckDetails_questionId' - Undocumented member.+--+-- 'choiceId', 'listCheckDetails_choiceId' - Undocumented member.+newListCheckDetails ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'lensArn'+  Prelude.Text ->+  -- | 'pillarId'+  Prelude.Text ->+  -- | 'questionId'+  Prelude.Text ->+  -- | 'choiceId'+  Prelude.Text ->+  ListCheckDetails+newListCheckDetails+  pWorkloadId_+  pLensArn_+  pPillarId_+  pQuestionId_+  pChoiceId_ =+    ListCheckDetails'+      { maxResults = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        workloadId = pWorkloadId_,+        lensArn = pLensArn_,+        pillarId = pPillarId_,+        questionId = pQuestionId_,+        choiceId = pChoiceId_+      }++-- | Undocumented member.+listCheckDetails_maxResults :: Lens.Lens' ListCheckDetails (Prelude.Maybe Prelude.Natural)+listCheckDetails_maxResults = Lens.lens (\ListCheckDetails' {maxResults} -> maxResults) (\s@ListCheckDetails' {} a -> s {maxResults = a} :: ListCheckDetails)++-- | Undocumented member.+listCheckDetails_nextToken :: Lens.Lens' ListCheckDetails (Prelude.Maybe Prelude.Text)+listCheckDetails_nextToken = Lens.lens (\ListCheckDetails' {nextToken} -> nextToken) (\s@ListCheckDetails' {} a -> s {nextToken = a} :: ListCheckDetails)++-- | Undocumented member.+listCheckDetails_workloadId :: Lens.Lens' ListCheckDetails Prelude.Text+listCheckDetails_workloadId = Lens.lens (\ListCheckDetails' {workloadId} -> workloadId) (\s@ListCheckDetails' {} a -> s {workloadId = a} :: ListCheckDetails)++-- | Well-Architected Lens ARN.+listCheckDetails_lensArn :: Lens.Lens' ListCheckDetails Prelude.Text+listCheckDetails_lensArn = Lens.lens (\ListCheckDetails' {lensArn} -> lensArn) (\s@ListCheckDetails' {} a -> s {lensArn = a} :: ListCheckDetails)++-- | Undocumented member.+listCheckDetails_pillarId :: Lens.Lens' ListCheckDetails Prelude.Text+listCheckDetails_pillarId = Lens.lens (\ListCheckDetails' {pillarId} -> pillarId) (\s@ListCheckDetails' {} a -> s {pillarId = a} :: ListCheckDetails)++-- | Undocumented member.+listCheckDetails_questionId :: Lens.Lens' ListCheckDetails Prelude.Text+listCheckDetails_questionId = Lens.lens (\ListCheckDetails' {questionId} -> questionId) (\s@ListCheckDetails' {} a -> s {questionId = a} :: ListCheckDetails)++-- | Undocumented member.+listCheckDetails_choiceId :: Lens.Lens' ListCheckDetails Prelude.Text+listCheckDetails_choiceId = Lens.lens (\ListCheckDetails' {choiceId} -> choiceId) (\s@ListCheckDetails' {} a -> s {choiceId = a} :: ListCheckDetails)++instance Core.AWSRequest ListCheckDetails where+  type+    AWSResponse ListCheckDetails =+      ListCheckDetailsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListCheckDetailsResponse'+            Prelude.<$> (x Data..?> "CheckDetails" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListCheckDetails where+  hashWithSalt _salt ListCheckDetails' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` lensArn+      `Prelude.hashWithSalt` pillarId+      `Prelude.hashWithSalt` questionId+      `Prelude.hashWithSalt` choiceId++instance Prelude.NFData ListCheckDetails where+  rnf ListCheckDetails' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf pillarId+      `Prelude.seq` Prelude.rnf questionId+      `Prelude.seq` Prelude.rnf choiceId++instance Data.ToHeaders ListCheckDetails where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListCheckDetails where+  toJSON ListCheckDetails' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("LensArn" Data..= lensArn),+            Prelude.Just ("PillarId" Data..= pillarId),+            Prelude.Just ("QuestionId" Data..= questionId),+            Prelude.Just ("ChoiceId" Data..= choiceId)+          ]+      )++instance Data.ToPath ListCheckDetails where+  toPath ListCheckDetails' {..} =+    Prelude.mconcat+      ["/workloads/", Data.toBS workloadId, "/checks"]++instance Data.ToQuery ListCheckDetails where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListCheckDetailsResponse' smart constructor.+data ListCheckDetailsResponse = ListCheckDetailsResponse'+  { -- | The details about the Trusted Advisor checks related to the+    -- Well-Architected best practice.+    checkDetails :: Prelude.Maybe [CheckDetail],+    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 'ListCheckDetailsResponse' 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:+--+-- 'checkDetails', 'listCheckDetailsResponse_checkDetails' - The details about the Trusted Advisor checks related to the+-- Well-Architected best practice.+--+-- 'nextToken', 'listCheckDetailsResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'listCheckDetailsResponse_httpStatus' - The response's http status code.+newListCheckDetailsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListCheckDetailsResponse+newListCheckDetailsResponse pHttpStatus_ =+  ListCheckDetailsResponse'+    { checkDetails =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The details about the Trusted Advisor checks related to the+-- Well-Architected best practice.+listCheckDetailsResponse_checkDetails :: Lens.Lens' ListCheckDetailsResponse (Prelude.Maybe [CheckDetail])+listCheckDetailsResponse_checkDetails = Lens.lens (\ListCheckDetailsResponse' {checkDetails} -> checkDetails) (\s@ListCheckDetailsResponse' {} a -> s {checkDetails = a} :: ListCheckDetailsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listCheckDetailsResponse_nextToken :: Lens.Lens' ListCheckDetailsResponse (Prelude.Maybe Prelude.Text)+listCheckDetailsResponse_nextToken = Lens.lens (\ListCheckDetailsResponse' {nextToken} -> nextToken) (\s@ListCheckDetailsResponse' {} a -> s {nextToken = a} :: ListCheckDetailsResponse)++-- | The response's http status code.+listCheckDetailsResponse_httpStatus :: Lens.Lens' ListCheckDetailsResponse Prelude.Int+listCheckDetailsResponse_httpStatus = Lens.lens (\ListCheckDetailsResponse' {httpStatus} -> httpStatus) (\s@ListCheckDetailsResponse' {} a -> s {httpStatus = a} :: ListCheckDetailsResponse)++instance Prelude.NFData ListCheckDetailsResponse where+  rnf ListCheckDetailsResponse' {..} =+    Prelude.rnf checkDetails+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ListCheckSummaries.hs view
@@ -0,0 +1,273 @@+{-# 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.WellArchitected.ListCheckSummaries+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List of Trusted Advisor checks summarized for all accounts related to+-- the workload.+module Amazonka.WellArchitected.ListCheckSummaries+  ( -- * Creating a Request+    ListCheckSummaries (..),+    newListCheckSummaries,++    -- * Request Lenses+    listCheckSummaries_maxResults,+    listCheckSummaries_nextToken,+    listCheckSummaries_workloadId,+    listCheckSummaries_lensArn,+    listCheckSummaries_pillarId,+    listCheckSummaries_questionId,+    listCheckSummaries_choiceId,++    -- * Destructuring the Response+    ListCheckSummariesResponse (..),+    newListCheckSummariesResponse,++    -- * Response Lenses+    listCheckSummariesResponse_checkSummaries,+    listCheckSummariesResponse_nextToken,+    listCheckSummariesResponse_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.WellArchitected.Types++-- | /See:/ 'newListCheckSummaries' smart constructor.+data ListCheckSummaries = ListCheckSummaries'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Text,+    -- | Well-Architected Lens ARN.+    lensArn :: Prelude.Text,+    pillarId :: Prelude.Text,+    questionId :: Prelude.Text,+    choiceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCheckSummaries' 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', 'listCheckSummaries_maxResults' - Undocumented member.+--+-- 'nextToken', 'listCheckSummaries_nextToken' - Undocumented member.+--+-- 'workloadId', 'listCheckSummaries_workloadId' - Undocumented member.+--+-- 'lensArn', 'listCheckSummaries_lensArn' - Well-Architected Lens ARN.+--+-- 'pillarId', 'listCheckSummaries_pillarId' - Undocumented member.+--+-- 'questionId', 'listCheckSummaries_questionId' - Undocumented member.+--+-- 'choiceId', 'listCheckSummaries_choiceId' - Undocumented member.+newListCheckSummaries ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'lensArn'+  Prelude.Text ->+  -- | 'pillarId'+  Prelude.Text ->+  -- | 'questionId'+  Prelude.Text ->+  -- | 'choiceId'+  Prelude.Text ->+  ListCheckSummaries+newListCheckSummaries+  pWorkloadId_+  pLensArn_+  pPillarId_+  pQuestionId_+  pChoiceId_ =+    ListCheckSummaries'+      { maxResults = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        workloadId = pWorkloadId_,+        lensArn = pLensArn_,+        pillarId = pPillarId_,+        questionId = pQuestionId_,+        choiceId = pChoiceId_+      }++-- | Undocumented member.+listCheckSummaries_maxResults :: Lens.Lens' ListCheckSummaries (Prelude.Maybe Prelude.Natural)+listCheckSummaries_maxResults = Lens.lens (\ListCheckSummaries' {maxResults} -> maxResults) (\s@ListCheckSummaries' {} a -> s {maxResults = a} :: ListCheckSummaries)++-- | Undocumented member.+listCheckSummaries_nextToken :: Lens.Lens' ListCheckSummaries (Prelude.Maybe Prelude.Text)+listCheckSummaries_nextToken = Lens.lens (\ListCheckSummaries' {nextToken} -> nextToken) (\s@ListCheckSummaries' {} a -> s {nextToken = a} :: ListCheckSummaries)++-- | Undocumented member.+listCheckSummaries_workloadId :: Lens.Lens' ListCheckSummaries Prelude.Text+listCheckSummaries_workloadId = Lens.lens (\ListCheckSummaries' {workloadId} -> workloadId) (\s@ListCheckSummaries' {} a -> s {workloadId = a} :: ListCheckSummaries)++-- | Well-Architected Lens ARN.+listCheckSummaries_lensArn :: Lens.Lens' ListCheckSummaries Prelude.Text+listCheckSummaries_lensArn = Lens.lens (\ListCheckSummaries' {lensArn} -> lensArn) (\s@ListCheckSummaries' {} a -> s {lensArn = a} :: ListCheckSummaries)++-- | Undocumented member.+listCheckSummaries_pillarId :: Lens.Lens' ListCheckSummaries Prelude.Text+listCheckSummaries_pillarId = Lens.lens (\ListCheckSummaries' {pillarId} -> pillarId) (\s@ListCheckSummaries' {} a -> s {pillarId = a} :: ListCheckSummaries)++-- | Undocumented member.+listCheckSummaries_questionId :: Lens.Lens' ListCheckSummaries Prelude.Text+listCheckSummaries_questionId = Lens.lens (\ListCheckSummaries' {questionId} -> questionId) (\s@ListCheckSummaries' {} a -> s {questionId = a} :: ListCheckSummaries)++-- | Undocumented member.+listCheckSummaries_choiceId :: Lens.Lens' ListCheckSummaries Prelude.Text+listCheckSummaries_choiceId = Lens.lens (\ListCheckSummaries' {choiceId} -> choiceId) (\s@ListCheckSummaries' {} a -> s {choiceId = a} :: ListCheckSummaries)++instance Core.AWSRequest ListCheckSummaries where+  type+    AWSResponse ListCheckSummaries =+      ListCheckSummariesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListCheckSummariesResponse'+            Prelude.<$> (x Data..?> "CheckSummaries" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListCheckSummaries where+  hashWithSalt _salt ListCheckSummaries' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` lensArn+      `Prelude.hashWithSalt` pillarId+      `Prelude.hashWithSalt` questionId+      `Prelude.hashWithSalt` choiceId++instance Prelude.NFData ListCheckSummaries where+  rnf ListCheckSummaries' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf pillarId+      `Prelude.seq` Prelude.rnf questionId+      `Prelude.seq` Prelude.rnf choiceId++instance Data.ToHeaders ListCheckSummaries where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListCheckSummaries where+  toJSON ListCheckSummaries' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("LensArn" Data..= lensArn),+            Prelude.Just ("PillarId" Data..= pillarId),+            Prelude.Just ("QuestionId" Data..= questionId),+            Prelude.Just ("ChoiceId" Data..= choiceId)+          ]+      )++instance Data.ToPath ListCheckSummaries where+  toPath ListCheckSummaries' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/checkSummaries"+      ]++instance Data.ToQuery ListCheckSummaries where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListCheckSummariesResponse' smart constructor.+data ListCheckSummariesResponse = ListCheckSummariesResponse'+  { -- | List of Trusted Advisor summaries related to the Well-Architected best+    -- practice.+    checkSummaries :: Prelude.Maybe [CheckSummary],+    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 'ListCheckSummariesResponse' 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:+--+-- 'checkSummaries', 'listCheckSummariesResponse_checkSummaries' - List of Trusted Advisor summaries related to the Well-Architected best+-- practice.+--+-- 'nextToken', 'listCheckSummariesResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'listCheckSummariesResponse_httpStatus' - The response's http status code.+newListCheckSummariesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListCheckSummariesResponse+newListCheckSummariesResponse pHttpStatus_ =+  ListCheckSummariesResponse'+    { checkSummaries =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | List of Trusted Advisor summaries related to the Well-Architected best+-- practice.+listCheckSummariesResponse_checkSummaries :: Lens.Lens' ListCheckSummariesResponse (Prelude.Maybe [CheckSummary])+listCheckSummariesResponse_checkSummaries = Lens.lens (\ListCheckSummariesResponse' {checkSummaries} -> checkSummaries) (\s@ListCheckSummariesResponse' {} a -> s {checkSummaries = a} :: ListCheckSummariesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listCheckSummariesResponse_nextToken :: Lens.Lens' ListCheckSummariesResponse (Prelude.Maybe Prelude.Text)+listCheckSummariesResponse_nextToken = Lens.lens (\ListCheckSummariesResponse' {nextToken} -> nextToken) (\s@ListCheckSummariesResponse' {} a -> s {nextToken = a} :: ListCheckSummariesResponse)++-- | The response's http status code.+listCheckSummariesResponse_httpStatus :: Lens.Lens' ListCheckSummariesResponse Prelude.Int+listCheckSummariesResponse_httpStatus = Lens.lens (\ListCheckSummariesResponse' {httpStatus} -> httpStatus) (\s@ListCheckSummariesResponse' {} a -> s {httpStatus = a} :: ListCheckSummariesResponse)++instance Prelude.NFData ListCheckSummariesResponse where+  rnf ListCheckSummariesResponse' {..} =+    Prelude.rnf checkSummaries+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ListLensReviewImprovements.hs view
@@ -0,0 +1,299 @@+{-# 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.WellArchitected.ListLensReviewImprovements+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List lens review improvements.+module Amazonka.WellArchitected.ListLensReviewImprovements+  ( -- * Creating a Request+    ListLensReviewImprovements (..),+    newListLensReviewImprovements,++    -- * Request Lenses+    listLensReviewImprovements_maxResults,+    listLensReviewImprovements_milestoneNumber,+    listLensReviewImprovements_nextToken,+    listLensReviewImprovements_pillarId,+    listLensReviewImprovements_workloadId,+    listLensReviewImprovements_lensAlias,++    -- * Destructuring the Response+    ListLensReviewImprovementsResponse (..),+    newListLensReviewImprovementsResponse,++    -- * Response Lenses+    listLensReviewImprovementsResponse_improvementSummaries,+    listLensReviewImprovementsResponse_lensAlias,+    listLensReviewImprovementsResponse_lensArn,+    listLensReviewImprovementsResponse_milestoneNumber,+    listLensReviewImprovementsResponse_nextToken,+    listLensReviewImprovementsResponse_workloadId,+    listLensReviewImprovementsResponse_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.WellArchitected.Types++-- | Input to list lens review improvements.+--+-- /See:/ 'newListLensReviewImprovements' smart constructor.+data ListLensReviewImprovements = ListLensReviewImprovements'+  { -- | The maximum number of results to return for this request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    milestoneNumber :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    pillarId :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Text,+    lensAlias :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLensReviewImprovements' 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', 'listLensReviewImprovements_maxResults' - The maximum number of results to return for this request.+--+-- 'milestoneNumber', 'listLensReviewImprovements_milestoneNumber' - Undocumented member.+--+-- 'nextToken', 'listLensReviewImprovements_nextToken' - Undocumented member.+--+-- 'pillarId', 'listLensReviewImprovements_pillarId' - Undocumented member.+--+-- 'workloadId', 'listLensReviewImprovements_workloadId' - Undocumented member.+--+-- 'lensAlias', 'listLensReviewImprovements_lensAlias' - Undocumented member.+newListLensReviewImprovements ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'lensAlias'+  Prelude.Text ->+  ListLensReviewImprovements+newListLensReviewImprovements+  pWorkloadId_+  pLensAlias_ =+    ListLensReviewImprovements'+      { maxResults =+          Prelude.Nothing,+        milestoneNumber = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        pillarId = Prelude.Nothing,+        workloadId = pWorkloadId_,+        lensAlias = pLensAlias_+      }++-- | The maximum number of results to return for this request.+listLensReviewImprovements_maxResults :: Lens.Lens' ListLensReviewImprovements (Prelude.Maybe Prelude.Natural)+listLensReviewImprovements_maxResults = Lens.lens (\ListLensReviewImprovements' {maxResults} -> maxResults) (\s@ListLensReviewImprovements' {} a -> s {maxResults = a} :: ListLensReviewImprovements)++-- | Undocumented member.+listLensReviewImprovements_milestoneNumber :: Lens.Lens' ListLensReviewImprovements (Prelude.Maybe Prelude.Natural)+listLensReviewImprovements_milestoneNumber = Lens.lens (\ListLensReviewImprovements' {milestoneNumber} -> milestoneNumber) (\s@ListLensReviewImprovements' {} a -> s {milestoneNumber = a} :: ListLensReviewImprovements)++-- | Undocumented member.+listLensReviewImprovements_nextToken :: Lens.Lens' ListLensReviewImprovements (Prelude.Maybe Prelude.Text)+listLensReviewImprovements_nextToken = Lens.lens (\ListLensReviewImprovements' {nextToken} -> nextToken) (\s@ListLensReviewImprovements' {} a -> s {nextToken = a} :: ListLensReviewImprovements)++-- | Undocumented member.+listLensReviewImprovements_pillarId :: Lens.Lens' ListLensReviewImprovements (Prelude.Maybe Prelude.Text)+listLensReviewImprovements_pillarId = Lens.lens (\ListLensReviewImprovements' {pillarId} -> pillarId) (\s@ListLensReviewImprovements' {} a -> s {pillarId = a} :: ListLensReviewImprovements)++-- | Undocumented member.+listLensReviewImprovements_workloadId :: Lens.Lens' ListLensReviewImprovements Prelude.Text+listLensReviewImprovements_workloadId = Lens.lens (\ListLensReviewImprovements' {workloadId} -> workloadId) (\s@ListLensReviewImprovements' {} a -> s {workloadId = a} :: ListLensReviewImprovements)++-- | Undocumented member.+listLensReviewImprovements_lensAlias :: Lens.Lens' ListLensReviewImprovements Prelude.Text+listLensReviewImprovements_lensAlias = Lens.lens (\ListLensReviewImprovements' {lensAlias} -> lensAlias) (\s@ListLensReviewImprovements' {} a -> s {lensAlias = a} :: ListLensReviewImprovements)++instance Core.AWSRequest ListLensReviewImprovements where+  type+    AWSResponse ListLensReviewImprovements =+      ListLensReviewImprovementsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListLensReviewImprovementsResponse'+            Prelude.<$> ( x+                            Data..?> "ImprovementSummaries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "LensAlias")+            Prelude.<*> (x Data..?> "LensArn")+            Prelude.<*> (x Data..?> "MilestoneNumber")+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListLensReviewImprovements where+  hashWithSalt _salt ListLensReviewImprovements' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` milestoneNumber+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` pillarId+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` lensAlias++instance Prelude.NFData ListLensReviewImprovements where+  rnf ListLensReviewImprovements' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf pillarId+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf lensAlias++instance Data.ToHeaders ListLensReviewImprovements where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListLensReviewImprovements where+  toPath ListLensReviewImprovements' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/lensReviews/",+        Data.toBS lensAlias,+        "/improvements"+      ]++instance Data.ToQuery ListLensReviewImprovements where+  toQuery ListLensReviewImprovements' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "MilestoneNumber" Data.=: milestoneNumber,+        "NextToken" Data.=: nextToken,+        "PillarId" Data.=: pillarId+      ]++-- | Output of a list lens review improvements call.+--+-- /See:/ 'newListLensReviewImprovementsResponse' smart constructor.+data ListLensReviewImprovementsResponse = ListLensReviewImprovementsResponse'+  { improvementSummaries :: Prelude.Maybe [ImprovementSummary],+    lensAlias :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    milestoneNumber :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    workloadId :: 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 'ListLensReviewImprovementsResponse' 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:+--+-- 'improvementSummaries', 'listLensReviewImprovementsResponse_improvementSummaries' - Undocumented member.+--+-- 'lensAlias', 'listLensReviewImprovementsResponse_lensAlias' - Undocumented member.+--+-- 'lensArn', 'listLensReviewImprovementsResponse_lensArn' - The ARN for the lens.+--+-- 'milestoneNumber', 'listLensReviewImprovementsResponse_milestoneNumber' - Undocumented member.+--+-- 'nextToken', 'listLensReviewImprovementsResponse_nextToken' - Undocumented member.+--+-- 'workloadId', 'listLensReviewImprovementsResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'listLensReviewImprovementsResponse_httpStatus' - The response's http status code.+newListLensReviewImprovementsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListLensReviewImprovementsResponse+newListLensReviewImprovementsResponse pHttpStatus_ =+  ListLensReviewImprovementsResponse'+    { improvementSummaries =+        Prelude.Nothing,+      lensAlias = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      milestoneNumber = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listLensReviewImprovementsResponse_improvementSummaries :: Lens.Lens' ListLensReviewImprovementsResponse (Prelude.Maybe [ImprovementSummary])+listLensReviewImprovementsResponse_improvementSummaries = Lens.lens (\ListLensReviewImprovementsResponse' {improvementSummaries} -> improvementSummaries) (\s@ListLensReviewImprovementsResponse' {} a -> s {improvementSummaries = a} :: ListLensReviewImprovementsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listLensReviewImprovementsResponse_lensAlias :: Lens.Lens' ListLensReviewImprovementsResponse (Prelude.Maybe Prelude.Text)+listLensReviewImprovementsResponse_lensAlias = Lens.lens (\ListLensReviewImprovementsResponse' {lensAlias} -> lensAlias) (\s@ListLensReviewImprovementsResponse' {} a -> s {lensAlias = a} :: ListLensReviewImprovementsResponse)++-- | The ARN for the lens.+listLensReviewImprovementsResponse_lensArn :: Lens.Lens' ListLensReviewImprovementsResponse (Prelude.Maybe Prelude.Text)+listLensReviewImprovementsResponse_lensArn = Lens.lens (\ListLensReviewImprovementsResponse' {lensArn} -> lensArn) (\s@ListLensReviewImprovementsResponse' {} a -> s {lensArn = a} :: ListLensReviewImprovementsResponse)++-- | Undocumented member.+listLensReviewImprovementsResponse_milestoneNumber :: Lens.Lens' ListLensReviewImprovementsResponse (Prelude.Maybe Prelude.Natural)+listLensReviewImprovementsResponse_milestoneNumber = Lens.lens (\ListLensReviewImprovementsResponse' {milestoneNumber} -> milestoneNumber) (\s@ListLensReviewImprovementsResponse' {} a -> s {milestoneNumber = a} :: ListLensReviewImprovementsResponse)++-- | Undocumented member.+listLensReviewImprovementsResponse_nextToken :: Lens.Lens' ListLensReviewImprovementsResponse (Prelude.Maybe Prelude.Text)+listLensReviewImprovementsResponse_nextToken = Lens.lens (\ListLensReviewImprovementsResponse' {nextToken} -> nextToken) (\s@ListLensReviewImprovementsResponse' {} a -> s {nextToken = a} :: ListLensReviewImprovementsResponse)++-- | Undocumented member.+listLensReviewImprovementsResponse_workloadId :: Lens.Lens' ListLensReviewImprovementsResponse (Prelude.Maybe Prelude.Text)+listLensReviewImprovementsResponse_workloadId = Lens.lens (\ListLensReviewImprovementsResponse' {workloadId} -> workloadId) (\s@ListLensReviewImprovementsResponse' {} a -> s {workloadId = a} :: ListLensReviewImprovementsResponse)++-- | The response's http status code.+listLensReviewImprovementsResponse_httpStatus :: Lens.Lens' ListLensReviewImprovementsResponse Prelude.Int+listLensReviewImprovementsResponse_httpStatus = Lens.lens (\ListLensReviewImprovementsResponse' {httpStatus} -> httpStatus) (\s@ListLensReviewImprovementsResponse' {} a -> s {httpStatus = a} :: ListLensReviewImprovementsResponse)++instance+  Prelude.NFData+    ListLensReviewImprovementsResponse+  where+  rnf ListLensReviewImprovementsResponse' {..} =+    Prelude.rnf improvementSummaries+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ListLensReviews.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.WellArchitected.ListLensReviews+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List lens reviews.+module Amazonka.WellArchitected.ListLensReviews+  ( -- * Creating a Request+    ListLensReviews (..),+    newListLensReviews,++    -- * Request Lenses+    listLensReviews_maxResults,+    listLensReviews_milestoneNumber,+    listLensReviews_nextToken,+    listLensReviews_workloadId,++    -- * Destructuring the Response+    ListLensReviewsResponse (..),+    newListLensReviewsResponse,++    -- * Response Lenses+    listLensReviewsResponse_lensReviewSummaries,+    listLensReviewsResponse_milestoneNumber,+    listLensReviewsResponse_nextToken,+    listLensReviewsResponse_workloadId,+    listLensReviewsResponse_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.WellArchitected.Types++-- | Input to list lens reviews.+--+-- /See:/ 'newListLensReviews' smart constructor.+data ListLensReviews = ListLensReviews'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    milestoneNumber :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLensReviews' 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', 'listLensReviews_maxResults' - Undocumented member.+--+-- 'milestoneNumber', 'listLensReviews_milestoneNumber' - Undocumented member.+--+-- 'nextToken', 'listLensReviews_nextToken' - Undocumented member.+--+-- 'workloadId', 'listLensReviews_workloadId' - Undocumented member.+newListLensReviews ::+  -- | 'workloadId'+  Prelude.Text ->+  ListLensReviews+newListLensReviews pWorkloadId_ =+  ListLensReviews'+    { maxResults = Prelude.Nothing,+      milestoneNumber = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      workloadId = pWorkloadId_+    }++-- | Undocumented member.+listLensReviews_maxResults :: Lens.Lens' ListLensReviews (Prelude.Maybe Prelude.Natural)+listLensReviews_maxResults = Lens.lens (\ListLensReviews' {maxResults} -> maxResults) (\s@ListLensReviews' {} a -> s {maxResults = a} :: ListLensReviews)++-- | Undocumented member.+listLensReviews_milestoneNumber :: Lens.Lens' ListLensReviews (Prelude.Maybe Prelude.Natural)+listLensReviews_milestoneNumber = Lens.lens (\ListLensReviews' {milestoneNumber} -> milestoneNumber) (\s@ListLensReviews' {} a -> s {milestoneNumber = a} :: ListLensReviews)++-- | Undocumented member.+listLensReviews_nextToken :: Lens.Lens' ListLensReviews (Prelude.Maybe Prelude.Text)+listLensReviews_nextToken = Lens.lens (\ListLensReviews' {nextToken} -> nextToken) (\s@ListLensReviews' {} a -> s {nextToken = a} :: ListLensReviews)++-- | Undocumented member.+listLensReviews_workloadId :: Lens.Lens' ListLensReviews Prelude.Text+listLensReviews_workloadId = Lens.lens (\ListLensReviews' {workloadId} -> workloadId) (\s@ListLensReviews' {} a -> s {workloadId = a} :: ListLensReviews)++instance Core.AWSRequest ListLensReviews where+  type+    AWSResponse ListLensReviews =+      ListLensReviewsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListLensReviewsResponse'+            Prelude.<$> ( x+                            Data..?> "LensReviewSummaries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "MilestoneNumber")+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListLensReviews where+  hashWithSalt _salt ListLensReviews' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` milestoneNumber+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` workloadId++instance Prelude.NFData ListLensReviews where+  rnf ListLensReviews' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workloadId++instance Data.ToHeaders ListLensReviews where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListLensReviews where+  toPath ListLensReviews' {..} =+    Prelude.mconcat+      ["/workloads/", Data.toBS workloadId, "/lensReviews"]++instance Data.ToQuery ListLensReviews where+  toQuery ListLensReviews' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "MilestoneNumber" Data.=: milestoneNumber,+        "NextToken" Data.=: nextToken+      ]++-- | Output of a list lens reviews call.+--+-- /See:/ 'newListLensReviewsResponse' smart constructor.+data ListLensReviewsResponse = ListLensReviewsResponse'+  { lensReviewSummaries :: Prelude.Maybe [LensReviewSummary],+    milestoneNumber :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    workloadId :: 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 'ListLensReviewsResponse' 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:+--+-- 'lensReviewSummaries', 'listLensReviewsResponse_lensReviewSummaries' - Undocumented member.+--+-- 'milestoneNumber', 'listLensReviewsResponse_milestoneNumber' - Undocumented member.+--+-- 'nextToken', 'listLensReviewsResponse_nextToken' - Undocumented member.+--+-- 'workloadId', 'listLensReviewsResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'listLensReviewsResponse_httpStatus' - The response's http status code.+newListLensReviewsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListLensReviewsResponse+newListLensReviewsResponse pHttpStatus_ =+  ListLensReviewsResponse'+    { lensReviewSummaries =+        Prelude.Nothing,+      milestoneNumber = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listLensReviewsResponse_lensReviewSummaries :: Lens.Lens' ListLensReviewsResponse (Prelude.Maybe [LensReviewSummary])+listLensReviewsResponse_lensReviewSummaries = Lens.lens (\ListLensReviewsResponse' {lensReviewSummaries} -> lensReviewSummaries) (\s@ListLensReviewsResponse' {} a -> s {lensReviewSummaries = a} :: ListLensReviewsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listLensReviewsResponse_milestoneNumber :: Lens.Lens' ListLensReviewsResponse (Prelude.Maybe Prelude.Natural)+listLensReviewsResponse_milestoneNumber = Lens.lens (\ListLensReviewsResponse' {milestoneNumber} -> milestoneNumber) (\s@ListLensReviewsResponse' {} a -> s {milestoneNumber = a} :: ListLensReviewsResponse)++-- | Undocumented member.+listLensReviewsResponse_nextToken :: Lens.Lens' ListLensReviewsResponse (Prelude.Maybe Prelude.Text)+listLensReviewsResponse_nextToken = Lens.lens (\ListLensReviewsResponse' {nextToken} -> nextToken) (\s@ListLensReviewsResponse' {} a -> s {nextToken = a} :: ListLensReviewsResponse)++-- | Undocumented member.+listLensReviewsResponse_workloadId :: Lens.Lens' ListLensReviewsResponse (Prelude.Maybe Prelude.Text)+listLensReviewsResponse_workloadId = Lens.lens (\ListLensReviewsResponse' {workloadId} -> workloadId) (\s@ListLensReviewsResponse' {} a -> s {workloadId = a} :: ListLensReviewsResponse)++-- | The response's http status code.+listLensReviewsResponse_httpStatus :: Lens.Lens' ListLensReviewsResponse Prelude.Int+listLensReviewsResponse_httpStatus = Lens.lens (\ListLensReviewsResponse' {httpStatus} -> httpStatus) (\s@ListLensReviewsResponse' {} a -> s {httpStatus = a} :: ListLensReviewsResponse)++instance Prelude.NFData ListLensReviewsResponse where+  rnf ListLensReviewsResponse' {..} =+    Prelude.rnf lensReviewSummaries+      `Prelude.seq` Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ListLensShares.hs view
@@ -0,0 +1,231 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.ListLensShares+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the lens shares associated with the lens.+module Amazonka.WellArchitected.ListLensShares+  ( -- * Creating a Request+    ListLensShares (..),+    newListLensShares,++    -- * Request Lenses+    listLensShares_maxResults,+    listLensShares_nextToken,+    listLensShares_sharedWithPrefix,+    listLensShares_status,+    listLensShares_lensAlias,++    -- * Destructuring the Response+    ListLensSharesResponse (..),+    newListLensSharesResponse,++    -- * Response Lenses+    listLensSharesResponse_lensShareSummaries,+    listLensSharesResponse_nextToken,+    listLensSharesResponse_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.WellArchitected.Types++-- | /See:/ 'newListLensShares' smart constructor.+data ListLensShares = ListLensShares'+  { -- | The maximum number of results to return for this request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID, IAM role, organization ID, or+    -- organizational unit (OU) ID with which the lens is shared.+    sharedWithPrefix :: Prelude.Maybe Prelude.Text,+    status :: Prelude.Maybe ShareStatus,+    lensAlias :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLensShares' 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', 'listLensShares_maxResults' - The maximum number of results to return for this request.+--+-- 'nextToken', 'listLensShares_nextToken' - Undocumented member.+--+-- 'sharedWithPrefix', 'listLensShares_sharedWithPrefix' - The Amazon Web Services account ID, IAM role, organization ID, or+-- organizational unit (OU) ID with which the lens is shared.+--+-- 'status', 'listLensShares_status' - Undocumented member.+--+-- 'lensAlias', 'listLensShares_lensAlias' - Undocumented member.+newListLensShares ::+  -- | 'lensAlias'+  Prelude.Text ->+  ListLensShares+newListLensShares pLensAlias_ =+  ListLensShares'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      sharedWithPrefix = Prelude.Nothing,+      status = Prelude.Nothing,+      lensAlias = pLensAlias_+    }++-- | The maximum number of results to return for this request.+listLensShares_maxResults :: Lens.Lens' ListLensShares (Prelude.Maybe Prelude.Natural)+listLensShares_maxResults = Lens.lens (\ListLensShares' {maxResults} -> maxResults) (\s@ListLensShares' {} a -> s {maxResults = a} :: ListLensShares)++-- | Undocumented member.+listLensShares_nextToken :: Lens.Lens' ListLensShares (Prelude.Maybe Prelude.Text)+listLensShares_nextToken = Lens.lens (\ListLensShares' {nextToken} -> nextToken) (\s@ListLensShares' {} a -> s {nextToken = a} :: ListLensShares)++-- | The Amazon Web Services account ID, IAM role, organization ID, or+-- organizational unit (OU) ID with which the lens is shared.+listLensShares_sharedWithPrefix :: Lens.Lens' ListLensShares (Prelude.Maybe Prelude.Text)+listLensShares_sharedWithPrefix = Lens.lens (\ListLensShares' {sharedWithPrefix} -> sharedWithPrefix) (\s@ListLensShares' {} a -> s {sharedWithPrefix = a} :: ListLensShares)++-- | Undocumented member.+listLensShares_status :: Lens.Lens' ListLensShares (Prelude.Maybe ShareStatus)+listLensShares_status = Lens.lens (\ListLensShares' {status} -> status) (\s@ListLensShares' {} a -> s {status = a} :: ListLensShares)++-- | Undocumented member.+listLensShares_lensAlias :: Lens.Lens' ListLensShares Prelude.Text+listLensShares_lensAlias = Lens.lens (\ListLensShares' {lensAlias} -> lensAlias) (\s@ListLensShares' {} a -> s {lensAlias = a} :: ListLensShares)++instance Core.AWSRequest ListLensShares where+  type+    AWSResponse ListLensShares =+      ListLensSharesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListLensSharesResponse'+            Prelude.<$> ( x+                            Data..?> "LensShareSummaries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListLensShares where+  hashWithSalt _salt ListLensShares' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` sharedWithPrefix+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` lensAlias++instance Prelude.NFData ListLensShares where+  rnf ListLensShares' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sharedWithPrefix+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf lensAlias++instance Data.ToHeaders ListLensShares where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListLensShares where+  toPath ListLensShares' {..} =+    Prelude.mconcat+      ["/lenses/", Data.toBS lensAlias, "/shares"]++instance Data.ToQuery ListLensShares where+  toQuery ListLensShares' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken,+        "SharedWithPrefix" Data.=: sharedWithPrefix,+        "Status" Data.=: status+      ]++-- | /See:/ 'newListLensSharesResponse' smart constructor.+data ListLensSharesResponse = ListLensSharesResponse'+  { -- | A list of lens share summaries.+    lensShareSummaries :: Prelude.Maybe [LensShareSummary],+    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 'ListLensSharesResponse' 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:+--+-- 'lensShareSummaries', 'listLensSharesResponse_lensShareSummaries' - A list of lens share summaries.+--+-- 'nextToken', 'listLensSharesResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'listLensSharesResponse_httpStatus' - The response's http status code.+newListLensSharesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListLensSharesResponse+newListLensSharesResponse pHttpStatus_ =+  ListLensSharesResponse'+    { lensShareSummaries =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of lens share summaries.+listLensSharesResponse_lensShareSummaries :: Lens.Lens' ListLensSharesResponse (Prelude.Maybe [LensShareSummary])+listLensSharesResponse_lensShareSummaries = Lens.lens (\ListLensSharesResponse' {lensShareSummaries} -> lensShareSummaries) (\s@ListLensSharesResponse' {} a -> s {lensShareSummaries = a} :: ListLensSharesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listLensSharesResponse_nextToken :: Lens.Lens' ListLensSharesResponse (Prelude.Maybe Prelude.Text)+listLensSharesResponse_nextToken = Lens.lens (\ListLensSharesResponse' {nextToken} -> nextToken) (\s@ListLensSharesResponse' {} a -> s {nextToken = a} :: ListLensSharesResponse)++-- | The response's http status code.+listLensSharesResponse_httpStatus :: Lens.Lens' ListLensSharesResponse Prelude.Int+listLensSharesResponse_httpStatus = Lens.lens (\ListLensSharesResponse' {httpStatus} -> httpStatus) (\s@ListLensSharesResponse' {} a -> s {httpStatus = a} :: ListLensSharesResponse)++instance Prelude.NFData ListLensSharesResponse where+  rnf ListLensSharesResponse' {..} =+    Prelude.rnf lensShareSummaries+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ListLenses.hs view
@@ -0,0 +1,223 @@+{-# 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.WellArchitected.ListLenses+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the available lenses.+module Amazonka.WellArchitected.ListLenses+  ( -- * Creating a Request+    ListLenses (..),+    newListLenses,++    -- * Request Lenses+    listLenses_lensName,+    listLenses_lensStatus,+    listLenses_lensType,+    listLenses_maxResults,+    listLenses_nextToken,++    -- * Destructuring the Response+    ListLensesResponse (..),+    newListLensesResponse,++    -- * Response Lenses+    listLensesResponse_lensSummaries,+    listLensesResponse_nextToken,+    listLensesResponse_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.WellArchitected.Types++-- | Input to list lenses.+--+-- /See:/ 'newListLenses' smart constructor.+data ListLenses = ListLenses'+  { lensName :: Prelude.Maybe Prelude.Text,+    -- | The status of lenses to be returned.+    lensStatus :: Prelude.Maybe LensStatusType,+    -- | The type of lenses to be returned.+    lensType :: Prelude.Maybe LensType,+    maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLenses' 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:+--+-- 'lensName', 'listLenses_lensName' - Undocumented member.+--+-- 'lensStatus', 'listLenses_lensStatus' - The status of lenses to be returned.+--+-- 'lensType', 'listLenses_lensType' - The type of lenses to be returned.+--+-- 'maxResults', 'listLenses_maxResults' - Undocumented member.+--+-- 'nextToken', 'listLenses_nextToken' - Undocumented member.+newListLenses ::+  ListLenses+newListLenses =+  ListLenses'+    { lensName = Prelude.Nothing,+      lensStatus = Prelude.Nothing,+      lensType = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Undocumented member.+listLenses_lensName :: Lens.Lens' ListLenses (Prelude.Maybe Prelude.Text)+listLenses_lensName = Lens.lens (\ListLenses' {lensName} -> lensName) (\s@ListLenses' {} a -> s {lensName = a} :: ListLenses)++-- | The status of lenses to be returned.+listLenses_lensStatus :: Lens.Lens' ListLenses (Prelude.Maybe LensStatusType)+listLenses_lensStatus = Lens.lens (\ListLenses' {lensStatus} -> lensStatus) (\s@ListLenses' {} a -> s {lensStatus = a} :: ListLenses)++-- | The type of lenses to be returned.+listLenses_lensType :: Lens.Lens' ListLenses (Prelude.Maybe LensType)+listLenses_lensType = Lens.lens (\ListLenses' {lensType} -> lensType) (\s@ListLenses' {} a -> s {lensType = a} :: ListLenses)++-- | Undocumented member.+listLenses_maxResults :: Lens.Lens' ListLenses (Prelude.Maybe Prelude.Natural)+listLenses_maxResults = Lens.lens (\ListLenses' {maxResults} -> maxResults) (\s@ListLenses' {} a -> s {maxResults = a} :: ListLenses)++-- | Undocumented member.+listLenses_nextToken :: Lens.Lens' ListLenses (Prelude.Maybe Prelude.Text)+listLenses_nextToken = Lens.lens (\ListLenses' {nextToken} -> nextToken) (\s@ListLenses' {} a -> s {nextToken = a} :: ListLenses)++instance Core.AWSRequest ListLenses where+  type AWSResponse ListLenses = ListLensesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListLensesResponse'+            Prelude.<$> (x Data..?> "LensSummaries" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListLenses where+  hashWithSalt _salt ListLenses' {..} =+    _salt+      `Prelude.hashWithSalt` lensName+      `Prelude.hashWithSalt` lensStatus+      `Prelude.hashWithSalt` lensType+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListLenses where+  rnf ListLenses' {..} =+    Prelude.rnf lensName+      `Prelude.seq` Prelude.rnf lensStatus+      `Prelude.seq` Prelude.rnf lensType+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListLenses where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListLenses where+  toPath = Prelude.const "/lenses"++instance Data.ToQuery ListLenses where+  toQuery ListLenses' {..} =+    Prelude.mconcat+      [ "LensName" Data.=: lensName,+        "LensStatus" Data.=: lensStatus,+        "LensType" Data.=: lensType,+        "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | Output of a list lenses call.+--+-- /See:/ 'newListLensesResponse' smart constructor.+data ListLensesResponse = ListLensesResponse'+  { lensSummaries :: Prelude.Maybe [LensSummary],+    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 'ListLensesResponse' 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:+--+-- 'lensSummaries', 'listLensesResponse_lensSummaries' - Undocumented member.+--+-- 'nextToken', 'listLensesResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'listLensesResponse_httpStatus' - The response's http status code.+newListLensesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListLensesResponse+newListLensesResponse pHttpStatus_ =+  ListLensesResponse'+    { lensSummaries =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listLensesResponse_lensSummaries :: Lens.Lens' ListLensesResponse (Prelude.Maybe [LensSummary])+listLensesResponse_lensSummaries = Lens.lens (\ListLensesResponse' {lensSummaries} -> lensSummaries) (\s@ListLensesResponse' {} a -> s {lensSummaries = a} :: ListLensesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listLensesResponse_nextToken :: Lens.Lens' ListLensesResponse (Prelude.Maybe Prelude.Text)+listLensesResponse_nextToken = Lens.lens (\ListLensesResponse' {nextToken} -> nextToken) (\s@ListLensesResponse' {} a -> s {nextToken = a} :: ListLensesResponse)++-- | The response's http status code.+listLensesResponse_httpStatus :: Lens.Lens' ListLensesResponse Prelude.Int+listLensesResponse_httpStatus = Lens.lens (\ListLensesResponse' {httpStatus} -> httpStatus) (\s@ListLensesResponse' {} a -> s {httpStatus = a} :: ListLensesResponse)++instance Prelude.NFData ListLensesResponse where+  rnf ListLensesResponse' {..} =+    Prelude.rnf lensSummaries+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ListMilestones.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.WellArchitected.ListMilestones+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all milestones for an existing workload.+module Amazonka.WellArchitected.ListMilestones+  ( -- * Creating a Request+    ListMilestones (..),+    newListMilestones,++    -- * Request Lenses+    listMilestones_maxResults,+    listMilestones_nextToken,+    listMilestones_workloadId,++    -- * Destructuring the Response+    ListMilestonesResponse (..),+    newListMilestonesResponse,++    -- * Response Lenses+    listMilestonesResponse_milestoneSummaries,+    listMilestonesResponse_nextToken,+    listMilestonesResponse_workloadId,+    listMilestonesResponse_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.WellArchitected.Types++-- | Input to list all milestones for a workload.+--+-- /See:/ 'newListMilestones' smart constructor.+data ListMilestones = ListMilestones'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMilestones' 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', 'listMilestones_maxResults' - Undocumented member.+--+-- 'nextToken', 'listMilestones_nextToken' - Undocumented member.+--+-- 'workloadId', 'listMilestones_workloadId' - Undocumented member.+newListMilestones ::+  -- | 'workloadId'+  Prelude.Text ->+  ListMilestones+newListMilestones pWorkloadId_ =+  ListMilestones'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      workloadId = pWorkloadId_+    }++-- | Undocumented member.+listMilestones_maxResults :: Lens.Lens' ListMilestones (Prelude.Maybe Prelude.Natural)+listMilestones_maxResults = Lens.lens (\ListMilestones' {maxResults} -> maxResults) (\s@ListMilestones' {} a -> s {maxResults = a} :: ListMilestones)++-- | Undocumented member.+listMilestones_nextToken :: Lens.Lens' ListMilestones (Prelude.Maybe Prelude.Text)+listMilestones_nextToken = Lens.lens (\ListMilestones' {nextToken} -> nextToken) (\s@ListMilestones' {} a -> s {nextToken = a} :: ListMilestones)++-- | Undocumented member.+listMilestones_workloadId :: Lens.Lens' ListMilestones Prelude.Text+listMilestones_workloadId = Lens.lens (\ListMilestones' {workloadId} -> workloadId) (\s@ListMilestones' {} a -> s {workloadId = a} :: ListMilestones)++instance Core.AWSRequest ListMilestones where+  type+    AWSResponse ListMilestones =+      ListMilestonesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListMilestonesResponse'+            Prelude.<$> ( x+                            Data..?> "MilestoneSummaries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListMilestones where+  hashWithSalt _salt ListMilestones' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` workloadId++instance Prelude.NFData ListMilestones where+  rnf ListMilestones' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workloadId++instance Data.ToHeaders ListMilestones where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListMilestones where+  toJSON ListMilestones' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListMilestones where+  toPath ListMilestones' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/milestonesSummaries"+      ]++instance Data.ToQuery ListMilestones where+  toQuery = Prelude.const Prelude.mempty++-- | Output of a list milestones call.+--+-- /See:/ 'newListMilestonesResponse' smart constructor.+data ListMilestonesResponse = ListMilestonesResponse'+  { milestoneSummaries :: Prelude.Maybe [MilestoneSummary],+    nextToken :: Prelude.Maybe Prelude.Text,+    workloadId :: 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 'ListMilestonesResponse' 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:+--+-- 'milestoneSummaries', 'listMilestonesResponse_milestoneSummaries' - Undocumented member.+--+-- 'nextToken', 'listMilestonesResponse_nextToken' - Undocumented member.+--+-- 'workloadId', 'listMilestonesResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'listMilestonesResponse_httpStatus' - The response's http status code.+newListMilestonesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListMilestonesResponse+newListMilestonesResponse pHttpStatus_ =+  ListMilestonesResponse'+    { milestoneSummaries =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listMilestonesResponse_milestoneSummaries :: Lens.Lens' ListMilestonesResponse (Prelude.Maybe [MilestoneSummary])+listMilestonesResponse_milestoneSummaries = Lens.lens (\ListMilestonesResponse' {milestoneSummaries} -> milestoneSummaries) (\s@ListMilestonesResponse' {} a -> s {milestoneSummaries = a} :: ListMilestonesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listMilestonesResponse_nextToken :: Lens.Lens' ListMilestonesResponse (Prelude.Maybe Prelude.Text)+listMilestonesResponse_nextToken = Lens.lens (\ListMilestonesResponse' {nextToken} -> nextToken) (\s@ListMilestonesResponse' {} a -> s {nextToken = a} :: ListMilestonesResponse)++-- | Undocumented member.+listMilestonesResponse_workloadId :: Lens.Lens' ListMilestonesResponse (Prelude.Maybe Prelude.Text)+listMilestonesResponse_workloadId = Lens.lens (\ListMilestonesResponse' {workloadId} -> workloadId) (\s@ListMilestonesResponse' {} a -> s {workloadId = a} :: ListMilestonesResponse)++-- | The response's http status code.+listMilestonesResponse_httpStatus :: Lens.Lens' ListMilestonesResponse Prelude.Int+listMilestonesResponse_httpStatus = Lens.lens (\ListMilestonesResponse' {httpStatus} -> httpStatus) (\s@ListMilestonesResponse' {} a -> s {httpStatus = a} :: ListMilestonesResponse)++instance Prelude.NFData ListMilestonesResponse where+  rnf ListMilestonesResponse' {..} =+    Prelude.rnf milestoneSummaries+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ListNotifications.hs view
@@ -0,0 +1,205 @@+{-# 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.WellArchitected.ListNotifications+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List lens notifications.+module Amazonka.WellArchitected.ListNotifications+  ( -- * Creating a Request+    ListNotifications (..),+    newListNotifications,++    -- * Request Lenses+    listNotifications_maxResults,+    listNotifications_nextToken,+    listNotifications_workloadId,++    -- * Destructuring the Response+    ListNotificationsResponse (..),+    newListNotificationsResponse,++    -- * Response Lenses+    listNotificationsResponse_nextToken,+    listNotificationsResponse_notificationSummaries,+    listNotificationsResponse_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.WellArchitected.Types++-- | /See:/ 'newListNotifications' smart constructor.+data ListNotifications = ListNotifications'+  { -- | The maximum number of results to return for this request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNotifications' 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', 'listNotifications_maxResults' - The maximum number of results to return for this request.+--+-- 'nextToken', 'listNotifications_nextToken' - Undocumented member.+--+-- 'workloadId', 'listNotifications_workloadId' - Undocumented member.+newListNotifications ::+  ListNotifications+newListNotifications =+  ListNotifications'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      workloadId = Prelude.Nothing+    }++-- | The maximum number of results to return for this request.+listNotifications_maxResults :: Lens.Lens' ListNotifications (Prelude.Maybe Prelude.Natural)+listNotifications_maxResults = Lens.lens (\ListNotifications' {maxResults} -> maxResults) (\s@ListNotifications' {} a -> s {maxResults = a} :: ListNotifications)++-- | Undocumented member.+listNotifications_nextToken :: Lens.Lens' ListNotifications (Prelude.Maybe Prelude.Text)+listNotifications_nextToken = Lens.lens (\ListNotifications' {nextToken} -> nextToken) (\s@ListNotifications' {} a -> s {nextToken = a} :: ListNotifications)++-- | Undocumented member.+listNotifications_workloadId :: Lens.Lens' ListNotifications (Prelude.Maybe Prelude.Text)+listNotifications_workloadId = Lens.lens (\ListNotifications' {workloadId} -> workloadId) (\s@ListNotifications' {} a -> s {workloadId = a} :: ListNotifications)++instance Core.AWSRequest ListNotifications where+  type+    AWSResponse ListNotifications =+      ListNotificationsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListNotificationsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "NotificationSummaries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListNotifications where+  hashWithSalt _salt ListNotifications' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` workloadId++instance Prelude.NFData ListNotifications where+  rnf ListNotifications' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workloadId++instance Data.ToHeaders ListNotifications where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListNotifications where+  toJSON ListNotifications' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("WorkloadId" Data..=) Prelude.<$> workloadId+          ]+      )++instance Data.ToPath ListNotifications where+  toPath = Prelude.const "/notifications"++instance Data.ToQuery ListNotifications where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListNotificationsResponse' smart constructor.+data ListNotificationsResponse = ListNotificationsResponse'+  { nextToken :: Prelude.Maybe Prelude.Text,+    -- | List of lens notification summaries in a workload.+    notificationSummaries :: Prelude.Maybe [NotificationSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNotificationsResponse' 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', 'listNotificationsResponse_nextToken' - Undocumented member.+--+-- 'notificationSummaries', 'listNotificationsResponse_notificationSummaries' - List of lens notification summaries in a workload.+--+-- 'httpStatus', 'listNotificationsResponse_httpStatus' - The response's http status code.+newListNotificationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListNotificationsResponse+newListNotificationsResponse pHttpStatus_ =+  ListNotificationsResponse'+    { nextToken =+        Prelude.Nothing,+      notificationSummaries = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listNotificationsResponse_nextToken :: Lens.Lens' ListNotificationsResponse (Prelude.Maybe Prelude.Text)+listNotificationsResponse_nextToken = Lens.lens (\ListNotificationsResponse' {nextToken} -> nextToken) (\s@ListNotificationsResponse' {} a -> s {nextToken = a} :: ListNotificationsResponse)++-- | List of lens notification summaries in a workload.+listNotificationsResponse_notificationSummaries :: Lens.Lens' ListNotificationsResponse (Prelude.Maybe [NotificationSummary])+listNotificationsResponse_notificationSummaries = Lens.lens (\ListNotificationsResponse' {notificationSummaries} -> notificationSummaries) (\s@ListNotificationsResponse' {} a -> s {notificationSummaries = a} :: ListNotificationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listNotificationsResponse_httpStatus :: Lens.Lens' ListNotificationsResponse Prelude.Int+listNotificationsResponse_httpStatus = Lens.lens (\ListNotificationsResponse' {httpStatus} -> httpStatus) (\s@ListNotificationsResponse' {} a -> s {httpStatus = a} :: ListNotificationsResponse)++instance Prelude.NFData ListNotificationsResponse where+  rnf ListNotificationsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf notificationSummaries+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ListShareInvitations.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.WellArchitected.ListShareInvitations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the workload invitations.+module Amazonka.WellArchitected.ListShareInvitations+  ( -- * Creating a Request+    ListShareInvitations (..),+    newListShareInvitations,++    -- * Request Lenses+    listShareInvitations_lensNamePrefix,+    listShareInvitations_maxResults,+    listShareInvitations_nextToken,+    listShareInvitations_shareResourceType,+    listShareInvitations_workloadNamePrefix,++    -- * Destructuring the Response+    ListShareInvitationsResponse (..),+    newListShareInvitationsResponse,++    -- * Response Lenses+    listShareInvitationsResponse_nextToken,+    listShareInvitationsResponse_shareInvitationSummaries,+    listShareInvitationsResponse_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.WellArchitected.Types++-- | Input for List Share Invitations+--+-- /See:/ 'newListShareInvitations' smart constructor.+data ListShareInvitations = ListShareInvitations'+  { -- | An optional string added to the beginning of each lens name returned in+    -- the results.+    lensNamePrefix :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return for this request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The type of share invitations to be returned.+    shareResourceType :: Prelude.Maybe ShareResourceType,+    workloadNamePrefix :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListShareInvitations' 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:+--+-- 'lensNamePrefix', 'listShareInvitations_lensNamePrefix' - An optional string added to the beginning of each lens name returned in+-- the results.+--+-- 'maxResults', 'listShareInvitations_maxResults' - The maximum number of results to return for this request.+--+-- 'nextToken', 'listShareInvitations_nextToken' - Undocumented member.+--+-- 'shareResourceType', 'listShareInvitations_shareResourceType' - The type of share invitations to be returned.+--+-- 'workloadNamePrefix', 'listShareInvitations_workloadNamePrefix' - Undocumented member.+newListShareInvitations ::+  ListShareInvitations+newListShareInvitations =+  ListShareInvitations'+    { lensNamePrefix =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      shareResourceType = Prelude.Nothing,+      workloadNamePrefix = Prelude.Nothing+    }++-- | An optional string added to the beginning of each lens name returned in+-- the results.+listShareInvitations_lensNamePrefix :: Lens.Lens' ListShareInvitations (Prelude.Maybe Prelude.Text)+listShareInvitations_lensNamePrefix = Lens.lens (\ListShareInvitations' {lensNamePrefix} -> lensNamePrefix) (\s@ListShareInvitations' {} a -> s {lensNamePrefix = a} :: ListShareInvitations)++-- | The maximum number of results to return for this request.+listShareInvitations_maxResults :: Lens.Lens' ListShareInvitations (Prelude.Maybe Prelude.Natural)+listShareInvitations_maxResults = Lens.lens (\ListShareInvitations' {maxResults} -> maxResults) (\s@ListShareInvitations' {} a -> s {maxResults = a} :: ListShareInvitations)++-- | Undocumented member.+listShareInvitations_nextToken :: Lens.Lens' ListShareInvitations (Prelude.Maybe Prelude.Text)+listShareInvitations_nextToken = Lens.lens (\ListShareInvitations' {nextToken} -> nextToken) (\s@ListShareInvitations' {} a -> s {nextToken = a} :: ListShareInvitations)++-- | The type of share invitations to be returned.+listShareInvitations_shareResourceType :: Lens.Lens' ListShareInvitations (Prelude.Maybe ShareResourceType)+listShareInvitations_shareResourceType = Lens.lens (\ListShareInvitations' {shareResourceType} -> shareResourceType) (\s@ListShareInvitations' {} a -> s {shareResourceType = a} :: ListShareInvitations)++-- | Undocumented member.+listShareInvitations_workloadNamePrefix :: Lens.Lens' ListShareInvitations (Prelude.Maybe Prelude.Text)+listShareInvitations_workloadNamePrefix = Lens.lens (\ListShareInvitations' {workloadNamePrefix} -> workloadNamePrefix) (\s@ListShareInvitations' {} a -> s {workloadNamePrefix = a} :: ListShareInvitations)++instance Core.AWSRequest ListShareInvitations where+  type+    AWSResponse ListShareInvitations =+      ListShareInvitationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListShareInvitationsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "ShareInvitationSummaries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListShareInvitations where+  hashWithSalt _salt ListShareInvitations' {..} =+    _salt+      `Prelude.hashWithSalt` lensNamePrefix+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` shareResourceType+      `Prelude.hashWithSalt` workloadNamePrefix++instance Prelude.NFData ListShareInvitations where+  rnf ListShareInvitations' {..} =+    Prelude.rnf lensNamePrefix+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf shareResourceType+      `Prelude.seq` Prelude.rnf workloadNamePrefix++instance Data.ToHeaders ListShareInvitations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListShareInvitations where+  toPath = Prelude.const "/shareInvitations"++instance Data.ToQuery ListShareInvitations where+  toQuery ListShareInvitations' {..} =+    Prelude.mconcat+      [ "LensNamePrefix" Data.=: lensNamePrefix,+        "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken,+        "ShareResourceType" Data.=: shareResourceType,+        "WorkloadNamePrefix" Data.=: workloadNamePrefix+      ]++-- | Input for List Share Invitations+--+-- /See:/ 'newListShareInvitationsResponse' smart constructor.+data ListShareInvitationsResponse = ListShareInvitationsResponse'+  { nextToken :: Prelude.Maybe Prelude.Text,+    -- | List of share invitation summaries in a workload.+    shareInvitationSummaries :: Prelude.Maybe [ShareInvitationSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListShareInvitationsResponse' 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', 'listShareInvitationsResponse_nextToken' - Undocumented member.+--+-- 'shareInvitationSummaries', 'listShareInvitationsResponse_shareInvitationSummaries' - List of share invitation summaries in a workload.+--+-- 'httpStatus', 'listShareInvitationsResponse_httpStatus' - The response's http status code.+newListShareInvitationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListShareInvitationsResponse+newListShareInvitationsResponse pHttpStatus_ =+  ListShareInvitationsResponse'+    { nextToken =+        Prelude.Nothing,+      shareInvitationSummaries = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listShareInvitationsResponse_nextToken :: Lens.Lens' ListShareInvitationsResponse (Prelude.Maybe Prelude.Text)+listShareInvitationsResponse_nextToken = Lens.lens (\ListShareInvitationsResponse' {nextToken} -> nextToken) (\s@ListShareInvitationsResponse' {} a -> s {nextToken = a} :: ListShareInvitationsResponse)++-- | List of share invitation summaries in a workload.+listShareInvitationsResponse_shareInvitationSummaries :: Lens.Lens' ListShareInvitationsResponse (Prelude.Maybe [ShareInvitationSummary])+listShareInvitationsResponse_shareInvitationSummaries = Lens.lens (\ListShareInvitationsResponse' {shareInvitationSummaries} -> shareInvitationSummaries) (\s@ListShareInvitationsResponse' {} a -> s {shareInvitationSummaries = a} :: ListShareInvitationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listShareInvitationsResponse_httpStatus :: Lens.Lens' ListShareInvitationsResponse Prelude.Int+listShareInvitationsResponse_httpStatus = Lens.lens (\ListShareInvitationsResponse' {httpStatus} -> httpStatus) (\s@ListShareInvitationsResponse' {} a -> s {httpStatus = a} :: ListShareInvitationsResponse)++instance Prelude.NFData ListShareInvitationsResponse where+  rnf ListShareInvitationsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf shareInvitationSummaries+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ListTagsForResource.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.WellArchitected.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the tags for a resource.+--+-- The WorkloadArn parameter can be either a workload ARN or a custom lens+-- ARN.+module Amazonka.WellArchitected.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_workloadArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.WellArchitected.Types++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { workloadArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'workloadArn', 'listTagsForResource_workloadArn' - Undocumented member.+newListTagsForResource ::+  -- | 'workloadArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pWorkloadArn_ =+  ListTagsForResource' {workloadArn = pWorkloadArn_}++-- | Undocumented member.+listTagsForResource_workloadArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_workloadArn = Lens.lens (\ListTagsForResource' {workloadArn} -> workloadArn) (\s@ListTagsForResource' {} a -> s {workloadArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` workloadArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf workloadArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTagsForResource where+  toPath ListTagsForResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS workloadArn]++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The tags for the 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 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags for the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The tags for the resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ListWorkloadShares.hs view
@@ -0,0 +1,245 @@+{-# 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.WellArchitected.ListWorkloadShares+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the workload shares associated with the workload.+module Amazonka.WellArchitected.ListWorkloadShares+  ( -- * Creating a Request+    ListWorkloadShares (..),+    newListWorkloadShares,++    -- * Request Lenses+    listWorkloadShares_maxResults,+    listWorkloadShares_nextToken,+    listWorkloadShares_sharedWithPrefix,+    listWorkloadShares_status,+    listWorkloadShares_workloadId,++    -- * Destructuring the Response+    ListWorkloadSharesResponse (..),+    newListWorkloadSharesResponse,++    -- * Response Lenses+    listWorkloadSharesResponse_nextToken,+    listWorkloadSharesResponse_workloadId,+    listWorkloadSharesResponse_workloadShareSummaries,+    listWorkloadSharesResponse_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.WellArchitected.Types++-- | Input for List Workload Share+--+-- /See:/ 'newListWorkloadShares' smart constructor.+data ListWorkloadShares = ListWorkloadShares'+  { -- | The maximum number of results to return for this request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID, IAM role, organization ID, or+    -- organizational unit (OU) ID with which the workload is shared.+    sharedWithPrefix :: Prelude.Maybe Prelude.Text,+    status :: Prelude.Maybe ShareStatus,+    workloadId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkloadShares' 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', 'listWorkloadShares_maxResults' - The maximum number of results to return for this request.+--+-- 'nextToken', 'listWorkloadShares_nextToken' - Undocumented member.+--+-- 'sharedWithPrefix', 'listWorkloadShares_sharedWithPrefix' - The Amazon Web Services account ID, IAM role, organization ID, or+-- organizational unit (OU) ID with which the workload is shared.+--+-- 'status', 'listWorkloadShares_status' - Undocumented member.+--+-- 'workloadId', 'listWorkloadShares_workloadId' - Undocumented member.+newListWorkloadShares ::+  -- | 'workloadId'+  Prelude.Text ->+  ListWorkloadShares+newListWorkloadShares pWorkloadId_ =+  ListWorkloadShares'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      sharedWithPrefix = Prelude.Nothing,+      status = Prelude.Nothing,+      workloadId = pWorkloadId_+    }++-- | The maximum number of results to return for this request.+listWorkloadShares_maxResults :: Lens.Lens' ListWorkloadShares (Prelude.Maybe Prelude.Natural)+listWorkloadShares_maxResults = Lens.lens (\ListWorkloadShares' {maxResults} -> maxResults) (\s@ListWorkloadShares' {} a -> s {maxResults = a} :: ListWorkloadShares)++-- | Undocumented member.+listWorkloadShares_nextToken :: Lens.Lens' ListWorkloadShares (Prelude.Maybe Prelude.Text)+listWorkloadShares_nextToken = Lens.lens (\ListWorkloadShares' {nextToken} -> nextToken) (\s@ListWorkloadShares' {} a -> s {nextToken = a} :: ListWorkloadShares)++-- | The Amazon Web Services account ID, IAM role, organization ID, or+-- organizational unit (OU) ID with which the workload is shared.+listWorkloadShares_sharedWithPrefix :: Lens.Lens' ListWorkloadShares (Prelude.Maybe Prelude.Text)+listWorkloadShares_sharedWithPrefix = Lens.lens (\ListWorkloadShares' {sharedWithPrefix} -> sharedWithPrefix) (\s@ListWorkloadShares' {} a -> s {sharedWithPrefix = a} :: ListWorkloadShares)++-- | Undocumented member.+listWorkloadShares_status :: Lens.Lens' ListWorkloadShares (Prelude.Maybe ShareStatus)+listWorkloadShares_status = Lens.lens (\ListWorkloadShares' {status} -> status) (\s@ListWorkloadShares' {} a -> s {status = a} :: ListWorkloadShares)++-- | Undocumented member.+listWorkloadShares_workloadId :: Lens.Lens' ListWorkloadShares Prelude.Text+listWorkloadShares_workloadId = Lens.lens (\ListWorkloadShares' {workloadId} -> workloadId) (\s@ListWorkloadShares' {} a -> s {workloadId = a} :: ListWorkloadShares)++instance Core.AWSRequest ListWorkloadShares where+  type+    AWSResponse ListWorkloadShares =+      ListWorkloadSharesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWorkloadSharesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> ( x+                            Data..?> "WorkloadShareSummaries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListWorkloadShares where+  hashWithSalt _salt ListWorkloadShares' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` sharedWithPrefix+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` workloadId++instance Prelude.NFData ListWorkloadShares where+  rnf ListWorkloadShares' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sharedWithPrefix+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf workloadId++instance Data.ToHeaders ListWorkloadShares where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListWorkloadShares where+  toPath ListWorkloadShares' {..} =+    Prelude.mconcat+      ["/workloads/", Data.toBS workloadId, "/shares"]++instance Data.ToQuery ListWorkloadShares where+  toQuery ListWorkloadShares' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken,+        "SharedWithPrefix" Data.=: sharedWithPrefix,+        "Status" Data.=: status+      ]++-- | Input for List Workload Share+--+-- /See:/ 'newListWorkloadSharesResponse' smart constructor.+data ListWorkloadSharesResponse = ListWorkloadSharesResponse'+  { nextToken :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Maybe Prelude.Text,+    workloadShareSummaries :: Prelude.Maybe [WorkloadShareSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkloadSharesResponse' 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', 'listWorkloadSharesResponse_nextToken' - Undocumented member.+--+-- 'workloadId', 'listWorkloadSharesResponse_workloadId' - Undocumented member.+--+-- 'workloadShareSummaries', 'listWorkloadSharesResponse_workloadShareSummaries' - Undocumented member.+--+-- 'httpStatus', 'listWorkloadSharesResponse_httpStatus' - The response's http status code.+newListWorkloadSharesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWorkloadSharesResponse+newListWorkloadSharesResponse pHttpStatus_ =+  ListWorkloadSharesResponse'+    { nextToken =+        Prelude.Nothing,+      workloadId = Prelude.Nothing,+      workloadShareSummaries = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listWorkloadSharesResponse_nextToken :: Lens.Lens' ListWorkloadSharesResponse (Prelude.Maybe Prelude.Text)+listWorkloadSharesResponse_nextToken = Lens.lens (\ListWorkloadSharesResponse' {nextToken} -> nextToken) (\s@ListWorkloadSharesResponse' {} a -> s {nextToken = a} :: ListWorkloadSharesResponse)++-- | Undocumented member.+listWorkloadSharesResponse_workloadId :: Lens.Lens' ListWorkloadSharesResponse (Prelude.Maybe Prelude.Text)+listWorkloadSharesResponse_workloadId = Lens.lens (\ListWorkloadSharesResponse' {workloadId} -> workloadId) (\s@ListWorkloadSharesResponse' {} a -> s {workloadId = a} :: ListWorkloadSharesResponse)++-- | Undocumented member.+listWorkloadSharesResponse_workloadShareSummaries :: Lens.Lens' ListWorkloadSharesResponse (Prelude.Maybe [WorkloadShareSummary])+listWorkloadSharesResponse_workloadShareSummaries = Lens.lens (\ListWorkloadSharesResponse' {workloadShareSummaries} -> workloadShareSummaries) (\s@ListWorkloadSharesResponse' {} a -> s {workloadShareSummaries = a} :: ListWorkloadSharesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listWorkloadSharesResponse_httpStatus :: Lens.Lens' ListWorkloadSharesResponse Prelude.Int+listWorkloadSharesResponse_httpStatus = Lens.lens (\ListWorkloadSharesResponse' {httpStatus} -> httpStatus) (\s@ListWorkloadSharesResponse' {} a -> s {httpStatus = a} :: ListWorkloadSharesResponse)++instance Prelude.NFData ListWorkloadSharesResponse where+  rnf ListWorkloadSharesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf workloadShareSummaries+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/ListWorkloads.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.WellArchitected.ListWorkloads+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List workloads. Paginated.+module Amazonka.WellArchitected.ListWorkloads+  ( -- * Creating a Request+    ListWorkloads (..),+    newListWorkloads,++    -- * Request Lenses+    listWorkloads_maxResults,+    listWorkloads_nextToken,+    listWorkloads_workloadNamePrefix,++    -- * Destructuring the Response+    ListWorkloadsResponse (..),+    newListWorkloadsResponse,++    -- * Response Lenses+    listWorkloadsResponse_nextToken,+    listWorkloadsResponse_workloadSummaries,+    listWorkloadsResponse_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.WellArchitected.Types++-- | Input to list all workloads.+--+-- /See:/ 'newListWorkloads' smart constructor.+data ListWorkloads = ListWorkloads'+  { -- | The maximum number of results to return for this request.+    maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    workloadNamePrefix :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkloads' 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', 'listWorkloads_maxResults' - The maximum number of results to return for this request.+--+-- 'nextToken', 'listWorkloads_nextToken' - Undocumented member.+--+-- 'workloadNamePrefix', 'listWorkloads_workloadNamePrefix' - Undocumented member.+newListWorkloads ::+  ListWorkloads+newListWorkloads =+  ListWorkloads'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      workloadNamePrefix = Prelude.Nothing+    }++-- | The maximum number of results to return for this request.+listWorkloads_maxResults :: Lens.Lens' ListWorkloads (Prelude.Maybe Prelude.Natural)+listWorkloads_maxResults = Lens.lens (\ListWorkloads' {maxResults} -> maxResults) (\s@ListWorkloads' {} a -> s {maxResults = a} :: ListWorkloads)++-- | Undocumented member.+listWorkloads_nextToken :: Lens.Lens' ListWorkloads (Prelude.Maybe Prelude.Text)+listWorkloads_nextToken = Lens.lens (\ListWorkloads' {nextToken} -> nextToken) (\s@ListWorkloads' {} a -> s {nextToken = a} :: ListWorkloads)++-- | Undocumented member.+listWorkloads_workloadNamePrefix :: Lens.Lens' ListWorkloads (Prelude.Maybe Prelude.Text)+listWorkloads_workloadNamePrefix = Lens.lens (\ListWorkloads' {workloadNamePrefix} -> workloadNamePrefix) (\s@ListWorkloads' {} a -> s {workloadNamePrefix = a} :: ListWorkloads)++instance Core.AWSRequest ListWorkloads where+  type+    AWSResponse ListWorkloads =+      ListWorkloadsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWorkloadsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "WorkloadSummaries"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListWorkloads where+  hashWithSalt _salt ListWorkloads' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` workloadNamePrefix++instance Prelude.NFData ListWorkloads where+  rnf ListWorkloads' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workloadNamePrefix++instance Data.ToHeaders ListWorkloads where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListWorkloads where+  toJSON ListWorkloads' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("WorkloadNamePrefix" Data..=)+              Prelude.<$> workloadNamePrefix+          ]+      )++instance Data.ToPath ListWorkloads where+  toPath = Prelude.const "/workloadsSummaries"++instance Data.ToQuery ListWorkloads where+  toQuery = Prelude.const Prelude.mempty++-- | Output of a list workloads call.+--+-- /See:/ 'newListWorkloadsResponse' smart constructor.+data ListWorkloadsResponse = ListWorkloadsResponse'+  { nextToken :: Prelude.Maybe Prelude.Text,+    workloadSummaries :: Prelude.Maybe [WorkloadSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkloadsResponse' 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', 'listWorkloadsResponse_nextToken' - Undocumented member.+--+-- 'workloadSummaries', 'listWorkloadsResponse_workloadSummaries' - Undocumented member.+--+-- 'httpStatus', 'listWorkloadsResponse_httpStatus' - The response's http status code.+newListWorkloadsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWorkloadsResponse+newListWorkloadsResponse pHttpStatus_ =+  ListWorkloadsResponse'+    { nextToken = Prelude.Nothing,+      workloadSummaries = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listWorkloadsResponse_nextToken :: Lens.Lens' ListWorkloadsResponse (Prelude.Maybe Prelude.Text)+listWorkloadsResponse_nextToken = Lens.lens (\ListWorkloadsResponse' {nextToken} -> nextToken) (\s@ListWorkloadsResponse' {} a -> s {nextToken = a} :: ListWorkloadsResponse)++-- | Undocumented member.+listWorkloadsResponse_workloadSummaries :: Lens.Lens' ListWorkloadsResponse (Prelude.Maybe [WorkloadSummary])+listWorkloadsResponse_workloadSummaries = Lens.lens (\ListWorkloadsResponse' {workloadSummaries} -> workloadSummaries) (\s@ListWorkloadsResponse' {} a -> s {workloadSummaries = a} :: ListWorkloadsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listWorkloadsResponse_httpStatus :: Lens.Lens' ListWorkloadsResponse Prelude.Int+listWorkloadsResponse_httpStatus = Lens.lens (\ListWorkloadsResponse' {httpStatus} -> httpStatus) (\s@ListWorkloadsResponse' {} a -> s {httpStatus = a} :: ListWorkloadsResponse)++instance Prelude.NFData ListWorkloadsResponse where+  rnf ListWorkloadsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workloadSummaries+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/TagResource.hs view
@@ -0,0 +1,165 @@+{-# 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.WellArchitected.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 one or more tags to the specified resource.+--+-- The WorkloadArn parameter can be either a workload ARN or a custom lens+-- ARN.+module Amazonka.WellArchitected.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_workloadArn,+    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.WellArchitected.Types++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { workloadArn :: Prelude.Text,+    -- | The tags for the resource.+    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:+--+-- 'workloadArn', 'tagResource_workloadArn' - Undocumented member.+--+-- 'tags', 'tagResource_tags' - The tags for the resource.+newTagResource ::+  -- | 'workloadArn'+  Prelude.Text ->+  TagResource+newTagResource pWorkloadArn_ =+  TagResource'+    { workloadArn = pWorkloadArn_,+      tags = Prelude.mempty+    }++-- | Undocumented member.+tagResource_workloadArn :: Lens.Lens' TagResource Prelude.Text+tagResource_workloadArn = Lens.lens (\TagResource' {workloadArn} -> workloadArn) (\s@TagResource' {} a -> s {workloadArn = a} :: TagResource)++-- | The tags for the resource.+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` workloadArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf workloadArn+      `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 workloadArn]++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/WellArchitected/Types.hs view
@@ -0,0 +1,618 @@+{-# 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.WellArchitected.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.WellArchitected.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _ThrottlingException,+    _ValidationException,++    -- * AdditionalResourceType+    AdditionalResourceType (..),++    -- * AnswerReason+    AnswerReason (..),++    -- * CheckFailureReason+    CheckFailureReason (..),++    -- * CheckProvider+    CheckProvider (..),++    -- * CheckStatus+    CheckStatus (..),++    -- * ChoiceReason+    ChoiceReason (..),++    -- * ChoiceStatus+    ChoiceStatus (..),++    -- * DifferenceStatus+    DifferenceStatus (..),++    -- * ImportLensStatus+    ImportLensStatus (..),++    -- * LensStatus+    LensStatus (..),++    -- * LensStatusType+    LensStatusType (..),++    -- * LensType+    LensType (..),++    -- * NotificationType+    NotificationType (..),++    -- * OrganizationSharingStatus+    OrganizationSharingStatus (..),++    -- * PermissionType+    PermissionType (..),++    -- * Risk+    Risk (..),++    -- * ShareInvitationAction+    ShareInvitationAction (..),++    -- * ShareResourceType+    ShareResourceType (..),++    -- * ShareStatus+    ShareStatus (..),++    -- * TrustedAdvisorIntegrationStatus+    TrustedAdvisorIntegrationStatus (..),++    -- * WorkloadEnvironment+    WorkloadEnvironment (..),++    -- * WorkloadImprovementStatus+    WorkloadImprovementStatus (..),++    -- * AdditionalResources+    AdditionalResources (..),+    newAdditionalResources,+    additionalResources_content,+    additionalResources_type,++    -- * Answer+    Answer (..),+    newAnswer,+    answer_choiceAnswers,+    answer_choices,+    answer_helpfulResourceDisplayText,+    answer_helpfulResourceUrl,+    answer_improvementPlanUrl,+    answer_isApplicable,+    answer_notes,+    answer_pillarId,+    answer_questionDescription,+    answer_questionId,+    answer_questionTitle,+    answer_reason,+    answer_risk,+    answer_selectedChoices,++    -- * AnswerSummary+    AnswerSummary (..),+    newAnswerSummary,+    answerSummary_choiceAnswerSummaries,+    answerSummary_choices,+    answerSummary_isApplicable,+    answerSummary_pillarId,+    answerSummary_questionId,+    answerSummary_questionTitle,+    answerSummary_reason,+    answerSummary_risk,+    answerSummary_selectedChoices,++    -- * CheckDetail+    CheckDetail (..),+    newCheckDetail,+    checkDetail_accountId,+    checkDetail_choiceId,+    checkDetail_description,+    checkDetail_flaggedResources,+    checkDetail_id,+    checkDetail_lensArn,+    checkDetail_name,+    checkDetail_pillarId,+    checkDetail_provider,+    checkDetail_questionId,+    checkDetail_reason,+    checkDetail_status,+    checkDetail_updatedAt,++    -- * CheckSummary+    CheckSummary (..),+    newCheckSummary,+    checkSummary_accountSummary,+    checkSummary_choiceId,+    checkSummary_description,+    checkSummary_id,+    checkSummary_lensArn,+    checkSummary_name,+    checkSummary_pillarId,+    checkSummary_provider,+    checkSummary_questionId,+    checkSummary_status,+    checkSummary_updatedAt,++    -- * Choice+    Choice (..),+    newChoice,+    choice_additionalResources,+    choice_choiceId,+    choice_description,+    choice_helpfulResource,+    choice_improvementPlan,+    choice_title,++    -- * ChoiceAnswer+    ChoiceAnswer (..),+    newChoiceAnswer,+    choiceAnswer_choiceId,+    choiceAnswer_notes,+    choiceAnswer_reason,+    choiceAnswer_status,++    -- * ChoiceAnswerSummary+    ChoiceAnswerSummary (..),+    newChoiceAnswerSummary,+    choiceAnswerSummary_choiceId,+    choiceAnswerSummary_reason,+    choiceAnswerSummary_status,++    -- * ChoiceContent+    ChoiceContent (..),+    newChoiceContent,+    choiceContent_displayText,+    choiceContent_url,++    -- * ChoiceImprovementPlan+    ChoiceImprovementPlan (..),+    newChoiceImprovementPlan,+    choiceImprovementPlan_choiceId,+    choiceImprovementPlan_displayText,+    choiceImprovementPlan_improvementPlanUrl,++    -- * ChoiceUpdate+    ChoiceUpdate (..),+    newChoiceUpdate,+    choiceUpdate_notes,+    choiceUpdate_reason,+    choiceUpdate_status,++    -- * ImprovementSummary+    ImprovementSummary (..),+    newImprovementSummary,+    improvementSummary_improvementPlanUrl,+    improvementSummary_improvementPlans,+    improvementSummary_pillarId,+    improvementSummary_questionId,+    improvementSummary_questionTitle,+    improvementSummary_risk,++    -- * Lens+    Lens (..),+    newLens,+    lens_description,+    lens_lensArn,+    lens_lensVersion,+    lens_name,+    lens_owner,+    lens_shareInvitationId,+    lens_tags,++    -- * LensReview+    LensReview (..),+    newLensReview,+    lensReview_lensAlias,+    lensReview_lensArn,+    lensReview_lensName,+    lensReview_lensStatus,+    lensReview_lensVersion,+    lensReview_nextToken,+    lensReview_notes,+    lensReview_pillarReviewSummaries,+    lensReview_riskCounts,+    lensReview_updatedAt,++    -- * LensReviewReport+    LensReviewReport (..),+    newLensReviewReport,+    lensReviewReport_base64String,+    lensReviewReport_lensAlias,+    lensReviewReport_lensArn,++    -- * LensReviewSummary+    LensReviewSummary (..),+    newLensReviewSummary,+    lensReviewSummary_lensAlias,+    lensReviewSummary_lensArn,+    lensReviewSummary_lensName,+    lensReviewSummary_lensStatus,+    lensReviewSummary_lensVersion,+    lensReviewSummary_riskCounts,+    lensReviewSummary_updatedAt,++    -- * LensShareSummary+    LensShareSummary (..),+    newLensShareSummary,+    lensShareSummary_shareId,+    lensShareSummary_sharedWith,+    lensShareSummary_status,+    lensShareSummary_statusMessage,++    -- * LensSummary+    LensSummary (..),+    newLensSummary,+    lensSummary_createdAt,+    lensSummary_description,+    lensSummary_lensAlias,+    lensSummary_lensArn,+    lensSummary_lensName,+    lensSummary_lensStatus,+    lensSummary_lensType,+    lensSummary_lensVersion,+    lensSummary_owner,+    lensSummary_updatedAt,++    -- * LensUpgradeSummary+    LensUpgradeSummary (..),+    newLensUpgradeSummary,+    lensUpgradeSummary_currentLensVersion,+    lensUpgradeSummary_latestLensVersion,+    lensUpgradeSummary_lensAlias,+    lensUpgradeSummary_lensArn,+    lensUpgradeSummary_workloadId,+    lensUpgradeSummary_workloadName,++    -- * Milestone+    Milestone (..),+    newMilestone,+    milestone_milestoneName,+    milestone_milestoneNumber,+    milestone_recordedAt,+    milestone_workload,++    -- * MilestoneSummary+    MilestoneSummary (..),+    newMilestoneSummary,+    milestoneSummary_milestoneName,+    milestoneSummary_milestoneNumber,+    milestoneSummary_recordedAt,+    milestoneSummary_workloadSummary,++    -- * NotificationSummary+    NotificationSummary (..),+    newNotificationSummary,+    notificationSummary_lensUpgradeSummary,+    notificationSummary_type,++    -- * PillarDifference+    PillarDifference (..),+    newPillarDifference,+    pillarDifference_differenceStatus,+    pillarDifference_pillarId,+    pillarDifference_pillarName,+    pillarDifference_questionDifferences,++    -- * PillarReviewSummary+    PillarReviewSummary (..),+    newPillarReviewSummary,+    pillarReviewSummary_notes,+    pillarReviewSummary_pillarId,+    pillarReviewSummary_pillarName,+    pillarReviewSummary_riskCounts,++    -- * QuestionDifference+    QuestionDifference (..),+    newQuestionDifference,+    questionDifference_differenceStatus,+    questionDifference_questionId,+    questionDifference_questionTitle,++    -- * ShareInvitation+    ShareInvitation (..),+    newShareInvitation,+    shareInvitation_lensAlias,+    shareInvitation_lensArn,+    shareInvitation_shareInvitationId,+    shareInvitation_shareResourceType,+    shareInvitation_workloadId,++    -- * ShareInvitationSummary+    ShareInvitationSummary (..),+    newShareInvitationSummary,+    shareInvitationSummary_lensArn,+    shareInvitationSummary_lensName,+    shareInvitationSummary_permissionType,+    shareInvitationSummary_shareInvitationId,+    shareInvitationSummary_shareResourceType,+    shareInvitationSummary_sharedBy,+    shareInvitationSummary_sharedWith,+    shareInvitationSummary_workloadId,+    shareInvitationSummary_workloadName,++    -- * VersionDifferences+    VersionDifferences (..),+    newVersionDifferences,+    versionDifferences_pillarDifferences,++    -- * Workload+    Workload (..),+    newWorkload,+    workload_accountIds,+    workload_applications,+    workload_architecturalDesign,+    workload_awsRegions,+    workload_description,+    workload_discoveryConfig,+    workload_environment,+    workload_improvementStatus,+    workload_industry,+    workload_industryType,+    workload_isReviewOwnerUpdateAcknowledged,+    workload_lenses,+    workload_nonAwsRegions,+    workload_notes,+    workload_owner,+    workload_pillarPriorities,+    workload_reviewOwner,+    workload_reviewRestrictionDate,+    workload_riskCounts,+    workload_shareInvitationId,+    workload_tags,+    workload_updatedAt,+    workload_workloadArn,+    workload_workloadId,+    workload_workloadName,++    -- * WorkloadDiscoveryConfig+    WorkloadDiscoveryConfig (..),+    newWorkloadDiscoveryConfig,+    workloadDiscoveryConfig_trustedAdvisorIntegrationStatus,++    -- * WorkloadShare+    WorkloadShare (..),+    newWorkloadShare,+    workloadShare_permissionType,+    workloadShare_shareId,+    workloadShare_sharedBy,+    workloadShare_sharedWith,+    workloadShare_status,+    workloadShare_workloadId,+    workloadShare_workloadName,++    -- * WorkloadShareSummary+    WorkloadShareSummary (..),+    newWorkloadShareSummary,+    workloadShareSummary_permissionType,+    workloadShareSummary_shareId,+    workloadShareSummary_sharedWith,+    workloadShareSummary_status,+    workloadShareSummary_statusMessage,++    -- * WorkloadSummary+    WorkloadSummary (..),+    newWorkloadSummary,+    workloadSummary_improvementStatus,+    workloadSummary_lenses,+    workloadSummary_owner,+    workloadSummary_riskCounts,+    workloadSummary_updatedAt,+    workloadSummary_workloadArn,+    workloadSummary_workloadId,+    workloadSummary_workloadName,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign+import Amazonka.WellArchitected.Types.AdditionalResourceType+import Amazonka.WellArchitected.Types.AdditionalResources+import Amazonka.WellArchitected.Types.Answer+import Amazonka.WellArchitected.Types.AnswerReason+import Amazonka.WellArchitected.Types.AnswerSummary+import Amazonka.WellArchitected.Types.CheckDetail+import Amazonka.WellArchitected.Types.CheckFailureReason+import Amazonka.WellArchitected.Types.CheckProvider+import Amazonka.WellArchitected.Types.CheckStatus+import Amazonka.WellArchitected.Types.CheckSummary+import Amazonka.WellArchitected.Types.Choice+import Amazonka.WellArchitected.Types.ChoiceAnswer+import Amazonka.WellArchitected.Types.ChoiceAnswerSummary+import Amazonka.WellArchitected.Types.ChoiceContent+import Amazonka.WellArchitected.Types.ChoiceImprovementPlan+import Amazonka.WellArchitected.Types.ChoiceReason+import Amazonka.WellArchitected.Types.ChoiceStatus+import Amazonka.WellArchitected.Types.ChoiceUpdate+import Amazonka.WellArchitected.Types.DifferenceStatus+import Amazonka.WellArchitected.Types.ImportLensStatus+import Amazonka.WellArchitected.Types.ImprovementSummary+import Amazonka.WellArchitected.Types.Lens+import Amazonka.WellArchitected.Types.LensReview+import Amazonka.WellArchitected.Types.LensReviewReport+import Amazonka.WellArchitected.Types.LensReviewSummary+import Amazonka.WellArchitected.Types.LensShareSummary+import Amazonka.WellArchitected.Types.LensStatus+import Amazonka.WellArchitected.Types.LensStatusType+import Amazonka.WellArchitected.Types.LensSummary+import Amazonka.WellArchitected.Types.LensType+import Amazonka.WellArchitected.Types.LensUpgradeSummary+import Amazonka.WellArchitected.Types.Milestone+import Amazonka.WellArchitected.Types.MilestoneSummary+import Amazonka.WellArchitected.Types.NotificationSummary+import Amazonka.WellArchitected.Types.NotificationType+import Amazonka.WellArchitected.Types.OrganizationSharingStatus+import Amazonka.WellArchitected.Types.PermissionType+import Amazonka.WellArchitected.Types.PillarDifference+import Amazonka.WellArchitected.Types.PillarReviewSummary+import Amazonka.WellArchitected.Types.QuestionDifference+import Amazonka.WellArchitected.Types.Risk+import Amazonka.WellArchitected.Types.ShareInvitation+import Amazonka.WellArchitected.Types.ShareInvitationAction+import Amazonka.WellArchitected.Types.ShareInvitationSummary+import Amazonka.WellArchitected.Types.ShareResourceType+import Amazonka.WellArchitected.Types.ShareStatus+import Amazonka.WellArchitected.Types.TrustedAdvisorIntegrationStatus+import Amazonka.WellArchitected.Types.VersionDifferences+import Amazonka.WellArchitected.Types.Workload+import Amazonka.WellArchitected.Types.WorkloadDiscoveryConfig+import Amazonka.WellArchitected.Types.WorkloadEnvironment+import Amazonka.WellArchitected.Types.WorkloadImprovementStatus+import Amazonka.WellArchitected.Types.WorkloadShare+import Amazonka.WellArchitected.Types.WorkloadShareSummary+import Amazonka.WellArchitected.Types.WorkloadSummary++-- | API version @2020-03-31@ of the Amazon Well-Architected Tool SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "WellArchitected",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "wellarchitected",+      Core.signingName = "wellarchitected",+      Core.version = "2020-03-31",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "WellArchitected",+      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++-- | The resource already exists.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | There is a problem with the Well-Architected Tool API service.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | The requested resource was not found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The user has reached their resource quota.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | 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 user input is not valid.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/WellArchitected/Types/AdditionalResourceType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.AdditionalResourceType+-- 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.WellArchitected.Types.AdditionalResourceType+  ( AdditionalResourceType+      ( ..,+        AdditionalResourceType_HELPFUL_RESOURCE,+        AdditionalResourceType_IMPROVEMENT_PLAN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AdditionalResourceType = AdditionalResourceType'+  { fromAdditionalResourceType ::+      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 AdditionalResourceType_HELPFUL_RESOURCE :: AdditionalResourceType+pattern AdditionalResourceType_HELPFUL_RESOURCE = AdditionalResourceType' "HELPFUL_RESOURCE"++pattern AdditionalResourceType_IMPROVEMENT_PLAN :: AdditionalResourceType+pattern AdditionalResourceType_IMPROVEMENT_PLAN = AdditionalResourceType' "IMPROVEMENT_PLAN"++{-# COMPLETE+  AdditionalResourceType_HELPFUL_RESOURCE,+  AdditionalResourceType_IMPROVEMENT_PLAN,+  AdditionalResourceType'+  #-}
+ gen/Amazonka/WellArchitected/Types/AdditionalResources.hs view
@@ -0,0 +1,88 @@+{-# 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.WellArchitected.Types.AdditionalResources+-- 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.WellArchitected.Types.AdditionalResources 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.WellArchitected.Types.AdditionalResourceType+import Amazonka.WellArchitected.Types.ChoiceContent++-- | The choice level additional resources.+--+-- /See:/ 'newAdditionalResources' smart constructor.+data AdditionalResources = AdditionalResources'+  { -- | The URLs for additional resources, either helpful resources or+    -- improvement plans. Up to five additional URLs can be specified.+    content :: Prelude.Maybe [ChoiceContent],+    -- | Type of additional resource.+    type' :: Prelude.Maybe AdditionalResourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AdditionalResources' 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:+--+-- 'content', 'additionalResources_content' - The URLs for additional resources, either helpful resources or+-- improvement plans. Up to five additional URLs can be specified.+--+-- 'type'', 'additionalResources_type' - Type of additional resource.+newAdditionalResources ::+  AdditionalResources+newAdditionalResources =+  AdditionalResources'+    { content = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The URLs for additional resources, either helpful resources or+-- improvement plans. Up to five additional URLs can be specified.+additionalResources_content :: Lens.Lens' AdditionalResources (Prelude.Maybe [ChoiceContent])+additionalResources_content = Lens.lens (\AdditionalResources' {content} -> content) (\s@AdditionalResources' {} a -> s {content = a} :: AdditionalResources) Prelude.. Lens.mapping Lens.coerced++-- | Type of additional resource.+additionalResources_type :: Lens.Lens' AdditionalResources (Prelude.Maybe AdditionalResourceType)+additionalResources_type = Lens.lens (\AdditionalResources' {type'} -> type') (\s@AdditionalResources' {} a -> s {type' = a} :: AdditionalResources)++instance Data.FromJSON AdditionalResources where+  parseJSON =+    Data.withObject+      "AdditionalResources"+      ( \x ->+          AdditionalResources'+            Prelude.<$> (x Data..:? "Content" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable AdditionalResources where+  hashWithSalt _salt AdditionalResources' {..} =+    _salt+      `Prelude.hashWithSalt` content+      `Prelude.hashWithSalt` type'++instance Prelude.NFData AdditionalResources where+  rnf AdditionalResources' {..} =+    Prelude.rnf content `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/WellArchitected/Types/Answer.hs view
@@ -0,0 +1,224 @@+{-# 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.WellArchitected.Types.Answer+-- 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.WellArchitected.Types.Answer 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.WellArchitected.Types.AnswerReason+import Amazonka.WellArchitected.Types.Choice+import Amazonka.WellArchitected.Types.ChoiceAnswer+import Amazonka.WellArchitected.Types.Risk++-- | An answer of the question.+--+-- /See:/ 'newAnswer' smart constructor.+data Answer = Answer'+  { -- | A list of selected choices to a question in your workload.+    choiceAnswers :: Prelude.Maybe [ChoiceAnswer],+    choices :: Prelude.Maybe [Choice],+    -- | The helpful resource text to be displayed.+    helpfulResourceDisplayText :: Prelude.Maybe Prelude.Text,+    helpfulResourceUrl :: Prelude.Maybe Prelude.Text,+    improvementPlanUrl :: Prelude.Maybe Prelude.Text,+    isApplicable :: Prelude.Maybe Prelude.Bool,+    notes :: Prelude.Maybe Prelude.Text,+    pillarId :: Prelude.Maybe Prelude.Text,+    questionDescription :: Prelude.Maybe Prelude.Text,+    questionId :: Prelude.Maybe Prelude.Text,+    questionTitle :: Prelude.Maybe Prelude.Text,+    -- | The reason why the question is not applicable to your workload.+    reason :: Prelude.Maybe AnswerReason,+    risk :: Prelude.Maybe Risk,+    selectedChoices :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Answer' 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:+--+-- 'choiceAnswers', 'answer_choiceAnswers' - A list of selected choices to a question in your workload.+--+-- 'choices', 'answer_choices' - Undocumented member.+--+-- 'helpfulResourceDisplayText', 'answer_helpfulResourceDisplayText' - The helpful resource text to be displayed.+--+-- 'helpfulResourceUrl', 'answer_helpfulResourceUrl' - Undocumented member.+--+-- 'improvementPlanUrl', 'answer_improvementPlanUrl' - Undocumented member.+--+-- 'isApplicable', 'answer_isApplicable' - Undocumented member.+--+-- 'notes', 'answer_notes' - Undocumented member.+--+-- 'pillarId', 'answer_pillarId' - Undocumented member.+--+-- 'questionDescription', 'answer_questionDescription' - Undocumented member.+--+-- 'questionId', 'answer_questionId' - Undocumented member.+--+-- 'questionTitle', 'answer_questionTitle' - Undocumented member.+--+-- 'reason', 'answer_reason' - The reason why the question is not applicable to your workload.+--+-- 'risk', 'answer_risk' - Undocumented member.+--+-- 'selectedChoices', 'answer_selectedChoices' - Undocumented member.+newAnswer ::+  Answer+newAnswer =+  Answer'+    { choiceAnswers = Prelude.Nothing,+      choices = Prelude.Nothing,+      helpfulResourceDisplayText = Prelude.Nothing,+      helpfulResourceUrl = Prelude.Nothing,+      improvementPlanUrl = Prelude.Nothing,+      isApplicable = Prelude.Nothing,+      notes = Prelude.Nothing,+      pillarId = Prelude.Nothing,+      questionDescription = Prelude.Nothing,+      questionId = Prelude.Nothing,+      questionTitle = Prelude.Nothing,+      reason = Prelude.Nothing,+      risk = Prelude.Nothing,+      selectedChoices = Prelude.Nothing+    }++-- | A list of selected choices to a question in your workload.+answer_choiceAnswers :: Lens.Lens' Answer (Prelude.Maybe [ChoiceAnswer])+answer_choiceAnswers = Lens.lens (\Answer' {choiceAnswers} -> choiceAnswers) (\s@Answer' {} a -> s {choiceAnswers = a} :: Answer) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+answer_choices :: Lens.Lens' Answer (Prelude.Maybe [Choice])+answer_choices = Lens.lens (\Answer' {choices} -> choices) (\s@Answer' {} a -> s {choices = a} :: Answer) Prelude.. Lens.mapping Lens.coerced++-- | The helpful resource text to be displayed.+answer_helpfulResourceDisplayText :: Lens.Lens' Answer (Prelude.Maybe Prelude.Text)+answer_helpfulResourceDisplayText = Lens.lens (\Answer' {helpfulResourceDisplayText} -> helpfulResourceDisplayText) (\s@Answer' {} a -> s {helpfulResourceDisplayText = a} :: Answer)++-- | Undocumented member.+answer_helpfulResourceUrl :: Lens.Lens' Answer (Prelude.Maybe Prelude.Text)+answer_helpfulResourceUrl = Lens.lens (\Answer' {helpfulResourceUrl} -> helpfulResourceUrl) (\s@Answer' {} a -> s {helpfulResourceUrl = a} :: Answer)++-- | Undocumented member.+answer_improvementPlanUrl :: Lens.Lens' Answer (Prelude.Maybe Prelude.Text)+answer_improvementPlanUrl = Lens.lens (\Answer' {improvementPlanUrl} -> improvementPlanUrl) (\s@Answer' {} a -> s {improvementPlanUrl = a} :: Answer)++-- | Undocumented member.+answer_isApplicable :: Lens.Lens' Answer (Prelude.Maybe Prelude.Bool)+answer_isApplicable = Lens.lens (\Answer' {isApplicable} -> isApplicable) (\s@Answer' {} a -> s {isApplicable = a} :: Answer)++-- | Undocumented member.+answer_notes :: Lens.Lens' Answer (Prelude.Maybe Prelude.Text)+answer_notes = Lens.lens (\Answer' {notes} -> notes) (\s@Answer' {} a -> s {notes = a} :: Answer)++-- | Undocumented member.+answer_pillarId :: Lens.Lens' Answer (Prelude.Maybe Prelude.Text)+answer_pillarId = Lens.lens (\Answer' {pillarId} -> pillarId) (\s@Answer' {} a -> s {pillarId = a} :: Answer)++-- | Undocumented member.+answer_questionDescription :: Lens.Lens' Answer (Prelude.Maybe Prelude.Text)+answer_questionDescription = Lens.lens (\Answer' {questionDescription} -> questionDescription) (\s@Answer' {} a -> s {questionDescription = a} :: Answer)++-- | Undocumented member.+answer_questionId :: Lens.Lens' Answer (Prelude.Maybe Prelude.Text)+answer_questionId = Lens.lens (\Answer' {questionId} -> questionId) (\s@Answer' {} a -> s {questionId = a} :: Answer)++-- | Undocumented member.+answer_questionTitle :: Lens.Lens' Answer (Prelude.Maybe Prelude.Text)+answer_questionTitle = Lens.lens (\Answer' {questionTitle} -> questionTitle) (\s@Answer' {} a -> s {questionTitle = a} :: Answer)++-- | The reason why the question is not applicable to your workload.+answer_reason :: Lens.Lens' Answer (Prelude.Maybe AnswerReason)+answer_reason = Lens.lens (\Answer' {reason} -> reason) (\s@Answer' {} a -> s {reason = a} :: Answer)++-- | Undocumented member.+answer_risk :: Lens.Lens' Answer (Prelude.Maybe Risk)+answer_risk = Lens.lens (\Answer' {risk} -> risk) (\s@Answer' {} a -> s {risk = a} :: Answer)++-- | Undocumented member.+answer_selectedChoices :: Lens.Lens' Answer (Prelude.Maybe [Prelude.Text])+answer_selectedChoices = Lens.lens (\Answer' {selectedChoices} -> selectedChoices) (\s@Answer' {} a -> s {selectedChoices = a} :: Answer) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Answer where+  parseJSON =+    Data.withObject+      "Answer"+      ( \x ->+          Answer'+            Prelude.<$> (x Data..:? "ChoiceAnswers" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Choices" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "HelpfulResourceDisplayText")+            Prelude.<*> (x Data..:? "HelpfulResourceUrl")+            Prelude.<*> (x Data..:? "ImprovementPlanUrl")+            Prelude.<*> (x Data..:? "IsApplicable")+            Prelude.<*> (x Data..:? "Notes")+            Prelude.<*> (x Data..:? "PillarId")+            Prelude.<*> (x Data..:? "QuestionDescription")+            Prelude.<*> (x Data..:? "QuestionId")+            Prelude.<*> (x Data..:? "QuestionTitle")+            Prelude.<*> (x Data..:? "Reason")+            Prelude.<*> (x Data..:? "Risk")+            Prelude.<*> ( x+                            Data..:? "SelectedChoices"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable Answer where+  hashWithSalt _salt Answer' {..} =+    _salt+      `Prelude.hashWithSalt` choiceAnswers+      `Prelude.hashWithSalt` choices+      `Prelude.hashWithSalt` helpfulResourceDisplayText+      `Prelude.hashWithSalt` helpfulResourceUrl+      `Prelude.hashWithSalt` improvementPlanUrl+      `Prelude.hashWithSalt` isApplicable+      `Prelude.hashWithSalt` notes+      `Prelude.hashWithSalt` pillarId+      `Prelude.hashWithSalt` questionDescription+      `Prelude.hashWithSalt` questionId+      `Prelude.hashWithSalt` questionTitle+      `Prelude.hashWithSalt` reason+      `Prelude.hashWithSalt` risk+      `Prelude.hashWithSalt` selectedChoices++instance Prelude.NFData Answer where+  rnf Answer' {..} =+    Prelude.rnf choiceAnswers+      `Prelude.seq` Prelude.rnf choices+      `Prelude.seq` Prelude.rnf helpfulResourceDisplayText+      `Prelude.seq` Prelude.rnf helpfulResourceUrl+      `Prelude.seq` Prelude.rnf improvementPlanUrl+      `Prelude.seq` Prelude.rnf isApplicable+      `Prelude.seq` Prelude.rnf notes+      `Prelude.seq` Prelude.rnf pillarId+      `Prelude.seq` Prelude.rnf questionDescription+      `Prelude.seq` Prelude.rnf questionId+      `Prelude.seq` Prelude.rnf questionTitle+      `Prelude.seq` Prelude.rnf reason+      `Prelude.seq` Prelude.rnf risk+      `Prelude.seq` Prelude.rnf selectedChoices
+ gen/Amazonka/WellArchitected/Types/AnswerReason.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.AnswerReason+-- 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.WellArchitected.Types.AnswerReason+  ( AnswerReason+      ( ..,+        AnswerReason_ARCHITECTURE_CONSTRAINTS,+        AnswerReason_BUSINESS_PRIORITIES,+        AnswerReason_NONE,+        AnswerReason_OTHER,+        AnswerReason_OUT_OF_SCOPE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AnswerReason = AnswerReason'+  { fromAnswerReason ::+      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 AnswerReason_ARCHITECTURE_CONSTRAINTS :: AnswerReason+pattern AnswerReason_ARCHITECTURE_CONSTRAINTS = AnswerReason' "ARCHITECTURE_CONSTRAINTS"++pattern AnswerReason_BUSINESS_PRIORITIES :: AnswerReason+pattern AnswerReason_BUSINESS_PRIORITIES = AnswerReason' "BUSINESS_PRIORITIES"++pattern AnswerReason_NONE :: AnswerReason+pattern AnswerReason_NONE = AnswerReason' "NONE"++pattern AnswerReason_OTHER :: AnswerReason+pattern AnswerReason_OTHER = AnswerReason' "OTHER"++pattern AnswerReason_OUT_OF_SCOPE :: AnswerReason+pattern AnswerReason_OUT_OF_SCOPE = AnswerReason' "OUT_OF_SCOPE"++{-# COMPLETE+  AnswerReason_ARCHITECTURE_CONSTRAINTS,+  AnswerReason_BUSINESS_PRIORITIES,+  AnswerReason_NONE,+  AnswerReason_OTHER,+  AnswerReason_OUT_OF_SCOPE,+  AnswerReason'+  #-}
+ gen/Amazonka/WellArchitected/Types/AnswerSummary.hs view
@@ -0,0 +1,175 @@+{-# 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.WellArchitected.Types.AnswerSummary+-- 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.WellArchitected.Types.AnswerSummary 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.WellArchitected.Types.AnswerReason+import Amazonka.WellArchitected.Types.Choice+import Amazonka.WellArchitected.Types.ChoiceAnswerSummary+import Amazonka.WellArchitected.Types.Risk++-- | An answer summary of a lens review in a workload.+--+-- /See:/ 'newAnswerSummary' smart constructor.+data AnswerSummary = AnswerSummary'+  { -- | A list of selected choices to a question in your workload.+    choiceAnswerSummaries :: Prelude.Maybe [ChoiceAnswerSummary],+    choices :: Prelude.Maybe [Choice],+    isApplicable :: Prelude.Maybe Prelude.Bool,+    pillarId :: Prelude.Maybe Prelude.Text,+    questionId :: Prelude.Maybe Prelude.Text,+    questionTitle :: Prelude.Maybe Prelude.Text,+    -- | The reason why a choice is non-applicable to a question in your+    -- workload.+    reason :: Prelude.Maybe AnswerReason,+    risk :: Prelude.Maybe Risk,+    selectedChoices :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnswerSummary' 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:+--+-- 'choiceAnswerSummaries', 'answerSummary_choiceAnswerSummaries' - A list of selected choices to a question in your workload.+--+-- 'choices', 'answerSummary_choices' - Undocumented member.+--+-- 'isApplicable', 'answerSummary_isApplicable' - Undocumented member.+--+-- 'pillarId', 'answerSummary_pillarId' - Undocumented member.+--+-- 'questionId', 'answerSummary_questionId' - Undocumented member.+--+-- 'questionTitle', 'answerSummary_questionTitle' - Undocumented member.+--+-- 'reason', 'answerSummary_reason' - The reason why a choice is non-applicable to a question in your+-- workload.+--+-- 'risk', 'answerSummary_risk' - Undocumented member.+--+-- 'selectedChoices', 'answerSummary_selectedChoices' - Undocumented member.+newAnswerSummary ::+  AnswerSummary+newAnswerSummary =+  AnswerSummary'+    { choiceAnswerSummaries =+        Prelude.Nothing,+      choices = Prelude.Nothing,+      isApplicable = Prelude.Nothing,+      pillarId = Prelude.Nothing,+      questionId = Prelude.Nothing,+      questionTitle = Prelude.Nothing,+      reason = Prelude.Nothing,+      risk = Prelude.Nothing,+      selectedChoices = Prelude.Nothing+    }++-- | A list of selected choices to a question in your workload.+answerSummary_choiceAnswerSummaries :: Lens.Lens' AnswerSummary (Prelude.Maybe [ChoiceAnswerSummary])+answerSummary_choiceAnswerSummaries = Lens.lens (\AnswerSummary' {choiceAnswerSummaries} -> choiceAnswerSummaries) (\s@AnswerSummary' {} a -> s {choiceAnswerSummaries = a} :: AnswerSummary) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+answerSummary_choices :: Lens.Lens' AnswerSummary (Prelude.Maybe [Choice])+answerSummary_choices = Lens.lens (\AnswerSummary' {choices} -> choices) (\s@AnswerSummary' {} a -> s {choices = a} :: AnswerSummary) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+answerSummary_isApplicable :: Lens.Lens' AnswerSummary (Prelude.Maybe Prelude.Bool)+answerSummary_isApplicable = Lens.lens (\AnswerSummary' {isApplicable} -> isApplicable) (\s@AnswerSummary' {} a -> s {isApplicable = a} :: AnswerSummary)++-- | Undocumented member.+answerSummary_pillarId :: Lens.Lens' AnswerSummary (Prelude.Maybe Prelude.Text)+answerSummary_pillarId = Lens.lens (\AnswerSummary' {pillarId} -> pillarId) (\s@AnswerSummary' {} a -> s {pillarId = a} :: AnswerSummary)++-- | Undocumented member.+answerSummary_questionId :: Lens.Lens' AnswerSummary (Prelude.Maybe Prelude.Text)+answerSummary_questionId = Lens.lens (\AnswerSummary' {questionId} -> questionId) (\s@AnswerSummary' {} a -> s {questionId = a} :: AnswerSummary)++-- | Undocumented member.+answerSummary_questionTitle :: Lens.Lens' AnswerSummary (Prelude.Maybe Prelude.Text)+answerSummary_questionTitle = Lens.lens (\AnswerSummary' {questionTitle} -> questionTitle) (\s@AnswerSummary' {} a -> s {questionTitle = a} :: AnswerSummary)++-- | The reason why a choice is non-applicable to a question in your+-- workload.+answerSummary_reason :: Lens.Lens' AnswerSummary (Prelude.Maybe AnswerReason)+answerSummary_reason = Lens.lens (\AnswerSummary' {reason} -> reason) (\s@AnswerSummary' {} a -> s {reason = a} :: AnswerSummary)++-- | Undocumented member.+answerSummary_risk :: Lens.Lens' AnswerSummary (Prelude.Maybe Risk)+answerSummary_risk = Lens.lens (\AnswerSummary' {risk} -> risk) (\s@AnswerSummary' {} a -> s {risk = a} :: AnswerSummary)++-- | Undocumented member.+answerSummary_selectedChoices :: Lens.Lens' AnswerSummary (Prelude.Maybe [Prelude.Text])+answerSummary_selectedChoices = Lens.lens (\AnswerSummary' {selectedChoices} -> selectedChoices) (\s@AnswerSummary' {} a -> s {selectedChoices = a} :: AnswerSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AnswerSummary where+  parseJSON =+    Data.withObject+      "AnswerSummary"+      ( \x ->+          AnswerSummary'+            Prelude.<$> ( x+                            Data..:? "ChoiceAnswerSummaries"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Choices" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "IsApplicable")+            Prelude.<*> (x Data..:? "PillarId")+            Prelude.<*> (x Data..:? "QuestionId")+            Prelude.<*> (x Data..:? "QuestionTitle")+            Prelude.<*> (x Data..:? "Reason")+            Prelude.<*> (x Data..:? "Risk")+            Prelude.<*> ( x+                            Data..:? "SelectedChoices"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable AnswerSummary where+  hashWithSalt _salt AnswerSummary' {..} =+    _salt+      `Prelude.hashWithSalt` choiceAnswerSummaries+      `Prelude.hashWithSalt` choices+      `Prelude.hashWithSalt` isApplicable+      `Prelude.hashWithSalt` pillarId+      `Prelude.hashWithSalt` questionId+      `Prelude.hashWithSalt` questionTitle+      `Prelude.hashWithSalt` reason+      `Prelude.hashWithSalt` risk+      `Prelude.hashWithSalt` selectedChoices++instance Prelude.NFData AnswerSummary where+  rnf AnswerSummary' {..} =+    Prelude.rnf choiceAnswerSummaries+      `Prelude.seq` Prelude.rnf choices+      `Prelude.seq` Prelude.rnf isApplicable+      `Prelude.seq` Prelude.rnf pillarId+      `Prelude.seq` Prelude.rnf questionId+      `Prelude.seq` Prelude.rnf questionTitle+      `Prelude.seq` Prelude.rnf reason+      `Prelude.seq` Prelude.rnf risk+      `Prelude.seq` Prelude.rnf selectedChoices
+ gen/Amazonka/WellArchitected/Types/CheckDetail.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.CheckDetail+-- 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.WellArchitected.Types.CheckDetail 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.WellArchitected.Types.CheckFailureReason+import Amazonka.WellArchitected.Types.CheckProvider+import Amazonka.WellArchitected.Types.CheckStatus++-- | Account details for a Well-Architected best practice in relation to+-- Trusted Advisor checks.+--+-- /See:/ 'newCheckDetail' smart constructor.+data CheckDetail = CheckDetail'+  { accountId :: Prelude.Maybe Prelude.Text,+    choiceId :: Prelude.Maybe Prelude.Text,+    -- | Trusted Advisor check description.+    description :: Prelude.Maybe Prelude.Text,+    -- | Count of flagged resources associated to the check.+    flaggedResources :: Prelude.Maybe Prelude.Natural,+    -- | Trusted Advisor check ID.+    id :: Prelude.Maybe Prelude.Text,+    -- | Well-Architected Lens ARN associated to the check.+    lensArn :: Prelude.Maybe Prelude.Text,+    -- | Trusted Advisor check name.+    name :: Prelude.Maybe Prelude.Text,+    pillarId :: Prelude.Maybe Prelude.Text,+    -- | Provider of the check related to the best practice.+    provider :: Prelude.Maybe CheckProvider,+    questionId :: Prelude.Maybe Prelude.Text,+    -- | Reason associated to the check.+    reason :: Prelude.Maybe CheckFailureReason,+    -- | Status associated to the check.+    status :: Prelude.Maybe CheckStatus,+    updatedAt :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CheckDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'checkDetail_accountId' - Undocumented member.+--+-- 'choiceId', 'checkDetail_choiceId' - Undocumented member.+--+-- 'description', 'checkDetail_description' - Trusted Advisor check description.+--+-- 'flaggedResources', 'checkDetail_flaggedResources' - Count of flagged resources associated to the check.+--+-- 'id', 'checkDetail_id' - Trusted Advisor check ID.+--+-- 'lensArn', 'checkDetail_lensArn' - Well-Architected Lens ARN associated to the check.+--+-- 'name', 'checkDetail_name' - Trusted Advisor check name.+--+-- 'pillarId', 'checkDetail_pillarId' - Undocumented member.+--+-- 'provider', 'checkDetail_provider' - Provider of the check related to the best practice.+--+-- 'questionId', 'checkDetail_questionId' - Undocumented member.+--+-- 'reason', 'checkDetail_reason' - Reason associated to the check.+--+-- 'status', 'checkDetail_status' - Status associated to the check.+--+-- 'updatedAt', 'checkDetail_updatedAt' - Undocumented member.+newCheckDetail ::+  CheckDetail+newCheckDetail =+  CheckDetail'+    { accountId = Prelude.Nothing,+      choiceId = Prelude.Nothing,+      description = Prelude.Nothing,+      flaggedResources = Prelude.Nothing,+      id = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      name = Prelude.Nothing,+      pillarId = Prelude.Nothing,+      provider = Prelude.Nothing,+      questionId = Prelude.Nothing,+      reason = Prelude.Nothing,+      status = Prelude.Nothing,+      updatedAt = Prelude.Nothing+    }++-- | Undocumented member.+checkDetail_accountId :: Lens.Lens' CheckDetail (Prelude.Maybe Prelude.Text)+checkDetail_accountId = Lens.lens (\CheckDetail' {accountId} -> accountId) (\s@CheckDetail' {} a -> s {accountId = a} :: CheckDetail)++-- | Undocumented member.+checkDetail_choiceId :: Lens.Lens' CheckDetail (Prelude.Maybe Prelude.Text)+checkDetail_choiceId = Lens.lens (\CheckDetail' {choiceId} -> choiceId) (\s@CheckDetail' {} a -> s {choiceId = a} :: CheckDetail)++-- | Trusted Advisor check description.+checkDetail_description :: Lens.Lens' CheckDetail (Prelude.Maybe Prelude.Text)+checkDetail_description = Lens.lens (\CheckDetail' {description} -> description) (\s@CheckDetail' {} a -> s {description = a} :: CheckDetail)++-- | Count of flagged resources associated to the check.+checkDetail_flaggedResources :: Lens.Lens' CheckDetail (Prelude.Maybe Prelude.Natural)+checkDetail_flaggedResources = Lens.lens (\CheckDetail' {flaggedResources} -> flaggedResources) (\s@CheckDetail' {} a -> s {flaggedResources = a} :: CheckDetail)++-- | Trusted Advisor check ID.+checkDetail_id :: Lens.Lens' CheckDetail (Prelude.Maybe Prelude.Text)+checkDetail_id = Lens.lens (\CheckDetail' {id} -> id) (\s@CheckDetail' {} a -> s {id = a} :: CheckDetail)++-- | Well-Architected Lens ARN associated to the check.+checkDetail_lensArn :: Lens.Lens' CheckDetail (Prelude.Maybe Prelude.Text)+checkDetail_lensArn = Lens.lens (\CheckDetail' {lensArn} -> lensArn) (\s@CheckDetail' {} a -> s {lensArn = a} :: CheckDetail)++-- | Trusted Advisor check name.+checkDetail_name :: Lens.Lens' CheckDetail (Prelude.Maybe Prelude.Text)+checkDetail_name = Lens.lens (\CheckDetail' {name} -> name) (\s@CheckDetail' {} a -> s {name = a} :: CheckDetail)++-- | Undocumented member.+checkDetail_pillarId :: Lens.Lens' CheckDetail (Prelude.Maybe Prelude.Text)+checkDetail_pillarId = Lens.lens (\CheckDetail' {pillarId} -> pillarId) (\s@CheckDetail' {} a -> s {pillarId = a} :: CheckDetail)++-- | Provider of the check related to the best practice.+checkDetail_provider :: Lens.Lens' CheckDetail (Prelude.Maybe CheckProvider)+checkDetail_provider = Lens.lens (\CheckDetail' {provider} -> provider) (\s@CheckDetail' {} a -> s {provider = a} :: CheckDetail)++-- | Undocumented member.+checkDetail_questionId :: Lens.Lens' CheckDetail (Prelude.Maybe Prelude.Text)+checkDetail_questionId = Lens.lens (\CheckDetail' {questionId} -> questionId) (\s@CheckDetail' {} a -> s {questionId = a} :: CheckDetail)++-- | Reason associated to the check.+checkDetail_reason :: Lens.Lens' CheckDetail (Prelude.Maybe CheckFailureReason)+checkDetail_reason = Lens.lens (\CheckDetail' {reason} -> reason) (\s@CheckDetail' {} a -> s {reason = a} :: CheckDetail)++-- | Status associated to the check.+checkDetail_status :: Lens.Lens' CheckDetail (Prelude.Maybe CheckStatus)+checkDetail_status = Lens.lens (\CheckDetail' {status} -> status) (\s@CheckDetail' {} a -> s {status = a} :: CheckDetail)++-- | Undocumented member.+checkDetail_updatedAt :: Lens.Lens' CheckDetail (Prelude.Maybe Prelude.UTCTime)+checkDetail_updatedAt = Lens.lens (\CheckDetail' {updatedAt} -> updatedAt) (\s@CheckDetail' {} a -> s {updatedAt = a} :: CheckDetail) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON CheckDetail where+  parseJSON =+    Data.withObject+      "CheckDetail"+      ( \x ->+          CheckDetail'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> (x Data..:? "ChoiceId")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "FlaggedResources")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "LensArn")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "PillarId")+            Prelude.<*> (x Data..:? "Provider")+            Prelude.<*> (x Data..:? "QuestionId")+            Prelude.<*> (x Data..:? "Reason")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "UpdatedAt")+      )++instance Prelude.Hashable CheckDetail where+  hashWithSalt _salt CheckDetail' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` choiceId+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` flaggedResources+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lensArn+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` pillarId+      `Prelude.hashWithSalt` provider+      `Prelude.hashWithSalt` questionId+      `Prelude.hashWithSalt` reason+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData CheckDetail where+  rnf CheckDetail' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf choiceId+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf flaggedResources+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf pillarId+      `Prelude.seq` Prelude.rnf provider+      `Prelude.seq` Prelude.rnf questionId+      `Prelude.seq` Prelude.rnf reason+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/WellArchitected/Types/CheckFailureReason.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.CheckFailureReason+-- 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.WellArchitected.Types.CheckFailureReason+  ( CheckFailureReason+      ( ..,+        CheckFailureReason_ACCESS_DENIED,+        CheckFailureReason_ASSUME_ROLE_ERROR,+        CheckFailureReason_PREMIUM_SUPPORT_REQUIRED,+        CheckFailureReason_UNKNOWN_ERROR+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CheckFailureReason = CheckFailureReason'+  { fromCheckFailureReason ::+      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 CheckFailureReason_ACCESS_DENIED :: CheckFailureReason+pattern CheckFailureReason_ACCESS_DENIED = CheckFailureReason' "ACCESS_DENIED"++pattern CheckFailureReason_ASSUME_ROLE_ERROR :: CheckFailureReason+pattern CheckFailureReason_ASSUME_ROLE_ERROR = CheckFailureReason' "ASSUME_ROLE_ERROR"++pattern CheckFailureReason_PREMIUM_SUPPORT_REQUIRED :: CheckFailureReason+pattern CheckFailureReason_PREMIUM_SUPPORT_REQUIRED = CheckFailureReason' "PREMIUM_SUPPORT_REQUIRED"++pattern CheckFailureReason_UNKNOWN_ERROR :: CheckFailureReason+pattern CheckFailureReason_UNKNOWN_ERROR = CheckFailureReason' "UNKNOWN_ERROR"++{-# COMPLETE+  CheckFailureReason_ACCESS_DENIED,+  CheckFailureReason_ASSUME_ROLE_ERROR,+  CheckFailureReason_PREMIUM_SUPPORT_REQUIRED,+  CheckFailureReason_UNKNOWN_ERROR,+  CheckFailureReason'+  #-}
+ gen/Amazonka/WellArchitected/Types/CheckProvider.hs view
@@ -0,0 +1,66 @@+{-# 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.WellArchitected.Types.CheckProvider+-- 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.WellArchitected.Types.CheckProvider+  ( CheckProvider+      ( ..,+        CheckProvider_TRUSTED_ADVISOR+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CheckProvider = CheckProvider'+  { fromCheckProvider ::+      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 CheckProvider_TRUSTED_ADVISOR :: CheckProvider+pattern CheckProvider_TRUSTED_ADVISOR = CheckProvider' "TRUSTED_ADVISOR"++{-# COMPLETE+  CheckProvider_TRUSTED_ADVISOR,+  CheckProvider'+  #-}
+ gen/Amazonka/WellArchitected/Types/CheckStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.CheckStatus+-- 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.WellArchitected.Types.CheckStatus+  ( CheckStatus+      ( ..,+        CheckStatus_ERROR,+        CheckStatus_FETCH_FAILED,+        CheckStatus_NOT_AVAILABLE,+        CheckStatus_OKAY,+        CheckStatus_WARNING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CheckStatus = CheckStatus'+  { fromCheckStatus ::+      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 CheckStatus_ERROR :: CheckStatus+pattern CheckStatus_ERROR = CheckStatus' "ERROR"++pattern CheckStatus_FETCH_FAILED :: CheckStatus+pattern CheckStatus_FETCH_FAILED = CheckStatus' "FETCH_FAILED"++pattern CheckStatus_NOT_AVAILABLE :: CheckStatus+pattern CheckStatus_NOT_AVAILABLE = CheckStatus' "NOT_AVAILABLE"++pattern CheckStatus_OKAY :: CheckStatus+pattern CheckStatus_OKAY = CheckStatus' "OKAY"++pattern CheckStatus_WARNING :: CheckStatus+pattern CheckStatus_WARNING = CheckStatus' "WARNING"++{-# COMPLETE+  CheckStatus_ERROR,+  CheckStatus_FETCH_FAILED,+  CheckStatus_NOT_AVAILABLE,+  CheckStatus_OKAY,+  CheckStatus_WARNING,+  CheckStatus'+  #-}
+ gen/Amazonka/WellArchitected/Types/CheckSummary.hs view
@@ -0,0 +1,190 @@+{-# 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.WellArchitected.Types.CheckSummary+-- 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.WellArchitected.Types.CheckSummary 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.WellArchitected.Types.CheckProvider+import Amazonka.WellArchitected.Types.CheckStatus++-- | Trusted Advisor check summary.+--+-- /See:/ 'newCheckSummary' smart constructor.+data CheckSummary = CheckSummary'+  { -- | Account summary associated to the check.+    accountSummary :: Prelude.Maybe (Prelude.HashMap CheckStatus Prelude.Natural),+    choiceId :: Prelude.Maybe Prelude.Text,+    -- | Trusted Advisor check description.+    description :: Prelude.Maybe Prelude.Text,+    -- | Trusted Advisor check ID.+    id :: Prelude.Maybe Prelude.Text,+    -- | Well-Architected Lens ARN associated to the check.+    lensArn :: Prelude.Maybe Prelude.Text,+    -- | Trusted Advisor check name.+    name :: Prelude.Maybe Prelude.Text,+    pillarId :: Prelude.Maybe Prelude.Text,+    -- | Provider of the check related to the best practice.+    provider :: Prelude.Maybe CheckProvider,+    questionId :: Prelude.Maybe Prelude.Text,+    -- | Status associated to the check.+    status :: Prelude.Maybe CheckStatus,+    updatedAt :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CheckSummary' 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:+--+-- 'accountSummary', 'checkSummary_accountSummary' - Account summary associated to the check.+--+-- 'choiceId', 'checkSummary_choiceId' - Undocumented member.+--+-- 'description', 'checkSummary_description' - Trusted Advisor check description.+--+-- 'id', 'checkSummary_id' - Trusted Advisor check ID.+--+-- 'lensArn', 'checkSummary_lensArn' - Well-Architected Lens ARN associated to the check.+--+-- 'name', 'checkSummary_name' - Trusted Advisor check name.+--+-- 'pillarId', 'checkSummary_pillarId' - Undocumented member.+--+-- 'provider', 'checkSummary_provider' - Provider of the check related to the best practice.+--+-- 'questionId', 'checkSummary_questionId' - Undocumented member.+--+-- 'status', 'checkSummary_status' - Status associated to the check.+--+-- 'updatedAt', 'checkSummary_updatedAt' - Undocumented member.+newCheckSummary ::+  CheckSummary+newCheckSummary =+  CheckSummary'+    { accountSummary = Prelude.Nothing,+      choiceId = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      name = Prelude.Nothing,+      pillarId = Prelude.Nothing,+      provider = Prelude.Nothing,+      questionId = Prelude.Nothing,+      status = Prelude.Nothing,+      updatedAt = Prelude.Nothing+    }++-- | Account summary associated to the check.+checkSummary_accountSummary :: Lens.Lens' CheckSummary (Prelude.Maybe (Prelude.HashMap CheckStatus Prelude.Natural))+checkSummary_accountSummary = Lens.lens (\CheckSummary' {accountSummary} -> accountSummary) (\s@CheckSummary' {} a -> s {accountSummary = a} :: CheckSummary) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+checkSummary_choiceId :: Lens.Lens' CheckSummary (Prelude.Maybe Prelude.Text)+checkSummary_choiceId = Lens.lens (\CheckSummary' {choiceId} -> choiceId) (\s@CheckSummary' {} a -> s {choiceId = a} :: CheckSummary)++-- | Trusted Advisor check description.+checkSummary_description :: Lens.Lens' CheckSummary (Prelude.Maybe Prelude.Text)+checkSummary_description = Lens.lens (\CheckSummary' {description} -> description) (\s@CheckSummary' {} a -> s {description = a} :: CheckSummary)++-- | Trusted Advisor check ID.+checkSummary_id :: Lens.Lens' CheckSummary (Prelude.Maybe Prelude.Text)+checkSummary_id = Lens.lens (\CheckSummary' {id} -> id) (\s@CheckSummary' {} a -> s {id = a} :: CheckSummary)++-- | Well-Architected Lens ARN associated to the check.+checkSummary_lensArn :: Lens.Lens' CheckSummary (Prelude.Maybe Prelude.Text)+checkSummary_lensArn = Lens.lens (\CheckSummary' {lensArn} -> lensArn) (\s@CheckSummary' {} a -> s {lensArn = a} :: CheckSummary)++-- | Trusted Advisor check name.+checkSummary_name :: Lens.Lens' CheckSummary (Prelude.Maybe Prelude.Text)+checkSummary_name = Lens.lens (\CheckSummary' {name} -> name) (\s@CheckSummary' {} a -> s {name = a} :: CheckSummary)++-- | Undocumented member.+checkSummary_pillarId :: Lens.Lens' CheckSummary (Prelude.Maybe Prelude.Text)+checkSummary_pillarId = Lens.lens (\CheckSummary' {pillarId} -> pillarId) (\s@CheckSummary' {} a -> s {pillarId = a} :: CheckSummary)++-- | Provider of the check related to the best practice.+checkSummary_provider :: Lens.Lens' CheckSummary (Prelude.Maybe CheckProvider)+checkSummary_provider = Lens.lens (\CheckSummary' {provider} -> provider) (\s@CheckSummary' {} a -> s {provider = a} :: CheckSummary)++-- | Undocumented member.+checkSummary_questionId :: Lens.Lens' CheckSummary (Prelude.Maybe Prelude.Text)+checkSummary_questionId = Lens.lens (\CheckSummary' {questionId} -> questionId) (\s@CheckSummary' {} a -> s {questionId = a} :: CheckSummary)++-- | Status associated to the check.+checkSummary_status :: Lens.Lens' CheckSummary (Prelude.Maybe CheckStatus)+checkSummary_status = Lens.lens (\CheckSummary' {status} -> status) (\s@CheckSummary' {} a -> s {status = a} :: CheckSummary)++-- | Undocumented member.+checkSummary_updatedAt :: Lens.Lens' CheckSummary (Prelude.Maybe Prelude.UTCTime)+checkSummary_updatedAt = Lens.lens (\CheckSummary' {updatedAt} -> updatedAt) (\s@CheckSummary' {} a -> s {updatedAt = a} :: CheckSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON CheckSummary where+  parseJSON =+    Data.withObject+      "CheckSummary"+      ( \x ->+          CheckSummary'+            Prelude.<$> (x Data..:? "AccountSummary" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ChoiceId")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "LensArn")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "PillarId")+            Prelude.<*> (x Data..:? "Provider")+            Prelude.<*> (x Data..:? "QuestionId")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "UpdatedAt")+      )++instance Prelude.Hashable CheckSummary where+  hashWithSalt _salt CheckSummary' {..} =+    _salt+      `Prelude.hashWithSalt` accountSummary+      `Prelude.hashWithSalt` choiceId+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lensArn+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` pillarId+      `Prelude.hashWithSalt` provider+      `Prelude.hashWithSalt` questionId+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData CheckSummary where+  rnf CheckSummary' {..} =+    Prelude.rnf accountSummary+      `Prelude.seq` Prelude.rnf choiceId+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf pillarId+      `Prelude.seq` Prelude.rnf provider+      `Prelude.seq` Prelude.rnf questionId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/WellArchitected/Types/Choice.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.Choice+-- 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.WellArchitected.Types.Choice 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.WellArchitected.Types.AdditionalResources+import Amazonka.WellArchitected.Types.ChoiceContent++-- | A choice available to answer question.+--+-- /See:/ 'newChoice' smart constructor.+data Choice = Choice'+  { -- | The additional resources for a choice. A choice can have up to two+    -- additional resources: one of type @HELPFUL_RESOURCE@, one of type+    -- @IMPROVEMENT_PLAN@, or both.+    additionalResources :: Prelude.Maybe [AdditionalResources],+    choiceId :: Prelude.Maybe Prelude.Text,+    description :: Prelude.Maybe Prelude.Text,+    -- | The choice level helpful resource.+    helpfulResource :: Prelude.Maybe ChoiceContent,+    -- | The choice level improvement plan.+    improvementPlan :: Prelude.Maybe ChoiceContent,+    title :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Choice' 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:+--+-- 'additionalResources', 'choice_additionalResources' - The additional resources for a choice. A choice can have up to two+-- additional resources: one of type @HELPFUL_RESOURCE@, one of type+-- @IMPROVEMENT_PLAN@, or both.+--+-- 'choiceId', 'choice_choiceId' - Undocumented member.+--+-- 'description', 'choice_description' - Undocumented member.+--+-- 'helpfulResource', 'choice_helpfulResource' - The choice level helpful resource.+--+-- 'improvementPlan', 'choice_improvementPlan' - The choice level improvement plan.+--+-- 'title', 'choice_title' - Undocumented member.+newChoice ::+  Choice+newChoice =+  Choice'+    { additionalResources = Prelude.Nothing,+      choiceId = Prelude.Nothing,+      description = Prelude.Nothing,+      helpfulResource = Prelude.Nothing,+      improvementPlan = Prelude.Nothing,+      title = Prelude.Nothing+    }++-- | The additional resources for a choice. A choice can have up to two+-- additional resources: one of type @HELPFUL_RESOURCE@, one of type+-- @IMPROVEMENT_PLAN@, or both.+choice_additionalResources :: Lens.Lens' Choice (Prelude.Maybe [AdditionalResources])+choice_additionalResources = Lens.lens (\Choice' {additionalResources} -> additionalResources) (\s@Choice' {} a -> s {additionalResources = a} :: Choice) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+choice_choiceId :: Lens.Lens' Choice (Prelude.Maybe Prelude.Text)+choice_choiceId = Lens.lens (\Choice' {choiceId} -> choiceId) (\s@Choice' {} a -> s {choiceId = a} :: Choice)++-- | Undocumented member.+choice_description :: Lens.Lens' Choice (Prelude.Maybe Prelude.Text)+choice_description = Lens.lens (\Choice' {description} -> description) (\s@Choice' {} a -> s {description = a} :: Choice)++-- | The choice level helpful resource.+choice_helpfulResource :: Lens.Lens' Choice (Prelude.Maybe ChoiceContent)+choice_helpfulResource = Lens.lens (\Choice' {helpfulResource} -> helpfulResource) (\s@Choice' {} a -> s {helpfulResource = a} :: Choice)++-- | The choice level improvement plan.+choice_improvementPlan :: Lens.Lens' Choice (Prelude.Maybe ChoiceContent)+choice_improvementPlan = Lens.lens (\Choice' {improvementPlan} -> improvementPlan) (\s@Choice' {} a -> s {improvementPlan = a} :: Choice)++-- | Undocumented member.+choice_title :: Lens.Lens' Choice (Prelude.Maybe Prelude.Text)+choice_title = Lens.lens (\Choice' {title} -> title) (\s@Choice' {} a -> s {title = a} :: Choice)++instance Data.FromJSON Choice where+  parseJSON =+    Data.withObject+      "Choice"+      ( \x ->+          Choice'+            Prelude.<$> ( x+                            Data..:? "AdditionalResources"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "ChoiceId")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "HelpfulResource")+            Prelude.<*> (x Data..:? "ImprovementPlan")+            Prelude.<*> (x Data..:? "Title")+      )++instance Prelude.Hashable Choice where+  hashWithSalt _salt Choice' {..} =+    _salt+      `Prelude.hashWithSalt` additionalResources+      `Prelude.hashWithSalt` choiceId+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` helpfulResource+      `Prelude.hashWithSalt` improvementPlan+      `Prelude.hashWithSalt` title++instance Prelude.NFData Choice where+  rnf Choice' {..} =+    Prelude.rnf additionalResources+      `Prelude.seq` Prelude.rnf choiceId+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf helpfulResource+      `Prelude.seq` Prelude.rnf improvementPlan+      `Prelude.seq` Prelude.rnf title
+ gen/Amazonka/WellArchitected/Types/ChoiceAnswer.hs view
@@ -0,0 +1,112 @@+{-# 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.WellArchitected.Types.ChoiceAnswer+-- 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.WellArchitected.Types.ChoiceAnswer 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.WellArchitected.Types.ChoiceReason+import Amazonka.WellArchitected.Types.ChoiceStatus++-- | A choice that has been answered on a question in your workload.+--+-- /See:/ 'newChoiceAnswer' smart constructor.+data ChoiceAnswer = ChoiceAnswer'+  { choiceId :: Prelude.Maybe Prelude.Text,+    -- | The notes associated with a choice.+    notes :: Prelude.Maybe Prelude.Text,+    -- | The reason why a choice is non-applicable to a question in your+    -- workload.+    reason :: Prelude.Maybe ChoiceReason,+    -- | The status of a choice.+    status :: Prelude.Maybe ChoiceStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChoiceAnswer' 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:+--+-- 'choiceId', 'choiceAnswer_choiceId' - Undocumented member.+--+-- 'notes', 'choiceAnswer_notes' - The notes associated with a choice.+--+-- 'reason', 'choiceAnswer_reason' - The reason why a choice is non-applicable to a question in your+-- workload.+--+-- 'status', 'choiceAnswer_status' - The status of a choice.+newChoiceAnswer ::+  ChoiceAnswer+newChoiceAnswer =+  ChoiceAnswer'+    { choiceId = Prelude.Nothing,+      notes = Prelude.Nothing,+      reason = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | Undocumented member.+choiceAnswer_choiceId :: Lens.Lens' ChoiceAnswer (Prelude.Maybe Prelude.Text)+choiceAnswer_choiceId = Lens.lens (\ChoiceAnswer' {choiceId} -> choiceId) (\s@ChoiceAnswer' {} a -> s {choiceId = a} :: ChoiceAnswer)++-- | The notes associated with a choice.+choiceAnswer_notes :: Lens.Lens' ChoiceAnswer (Prelude.Maybe Prelude.Text)+choiceAnswer_notes = Lens.lens (\ChoiceAnswer' {notes} -> notes) (\s@ChoiceAnswer' {} a -> s {notes = a} :: ChoiceAnswer)++-- | The reason why a choice is non-applicable to a question in your+-- workload.+choiceAnswer_reason :: Lens.Lens' ChoiceAnswer (Prelude.Maybe ChoiceReason)+choiceAnswer_reason = Lens.lens (\ChoiceAnswer' {reason} -> reason) (\s@ChoiceAnswer' {} a -> s {reason = a} :: ChoiceAnswer)++-- | The status of a choice.+choiceAnswer_status :: Lens.Lens' ChoiceAnswer (Prelude.Maybe ChoiceStatus)+choiceAnswer_status = Lens.lens (\ChoiceAnswer' {status} -> status) (\s@ChoiceAnswer' {} a -> s {status = a} :: ChoiceAnswer)++instance Data.FromJSON ChoiceAnswer where+  parseJSON =+    Data.withObject+      "ChoiceAnswer"+      ( \x ->+          ChoiceAnswer'+            Prelude.<$> (x Data..:? "ChoiceId")+            Prelude.<*> (x Data..:? "Notes")+            Prelude.<*> (x Data..:? "Reason")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable ChoiceAnswer where+  hashWithSalt _salt ChoiceAnswer' {..} =+    _salt+      `Prelude.hashWithSalt` choiceId+      `Prelude.hashWithSalt` notes+      `Prelude.hashWithSalt` reason+      `Prelude.hashWithSalt` status++instance Prelude.NFData ChoiceAnswer where+  rnf ChoiceAnswer' {..} =+    Prelude.rnf choiceId+      `Prelude.seq` Prelude.rnf notes+      `Prelude.seq` Prelude.rnf reason+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/WellArchitected/Types/ChoiceAnswerSummary.hs view
@@ -0,0 +1,100 @@+{-# 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.WellArchitected.Types.ChoiceAnswerSummary+-- 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.WellArchitected.Types.ChoiceAnswerSummary 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.WellArchitected.Types.ChoiceReason+import Amazonka.WellArchitected.Types.ChoiceStatus++-- | A choice summary that has been answered on a question in your workload.+--+-- /See:/ 'newChoiceAnswerSummary' smart constructor.+data ChoiceAnswerSummary = ChoiceAnswerSummary'+  { choiceId :: Prelude.Maybe Prelude.Text,+    -- | The reason why a choice is non-applicable to a question in your+    -- workload.+    reason :: Prelude.Maybe ChoiceReason,+    -- | The status of a choice.+    status :: Prelude.Maybe ChoiceStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChoiceAnswerSummary' 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:+--+-- 'choiceId', 'choiceAnswerSummary_choiceId' - Undocumented member.+--+-- 'reason', 'choiceAnswerSummary_reason' - The reason why a choice is non-applicable to a question in your+-- workload.+--+-- 'status', 'choiceAnswerSummary_status' - The status of a choice.+newChoiceAnswerSummary ::+  ChoiceAnswerSummary+newChoiceAnswerSummary =+  ChoiceAnswerSummary'+    { choiceId = Prelude.Nothing,+      reason = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | Undocumented member.+choiceAnswerSummary_choiceId :: Lens.Lens' ChoiceAnswerSummary (Prelude.Maybe Prelude.Text)+choiceAnswerSummary_choiceId = Lens.lens (\ChoiceAnswerSummary' {choiceId} -> choiceId) (\s@ChoiceAnswerSummary' {} a -> s {choiceId = a} :: ChoiceAnswerSummary)++-- | The reason why a choice is non-applicable to a question in your+-- workload.+choiceAnswerSummary_reason :: Lens.Lens' ChoiceAnswerSummary (Prelude.Maybe ChoiceReason)+choiceAnswerSummary_reason = Lens.lens (\ChoiceAnswerSummary' {reason} -> reason) (\s@ChoiceAnswerSummary' {} a -> s {reason = a} :: ChoiceAnswerSummary)++-- | The status of a choice.+choiceAnswerSummary_status :: Lens.Lens' ChoiceAnswerSummary (Prelude.Maybe ChoiceStatus)+choiceAnswerSummary_status = Lens.lens (\ChoiceAnswerSummary' {status} -> status) (\s@ChoiceAnswerSummary' {} a -> s {status = a} :: ChoiceAnswerSummary)++instance Data.FromJSON ChoiceAnswerSummary where+  parseJSON =+    Data.withObject+      "ChoiceAnswerSummary"+      ( \x ->+          ChoiceAnswerSummary'+            Prelude.<$> (x Data..:? "ChoiceId")+            Prelude.<*> (x Data..:? "Reason")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable ChoiceAnswerSummary where+  hashWithSalt _salt ChoiceAnswerSummary' {..} =+    _salt+      `Prelude.hashWithSalt` choiceId+      `Prelude.hashWithSalt` reason+      `Prelude.hashWithSalt` status++instance Prelude.NFData ChoiceAnswerSummary where+  rnf ChoiceAnswerSummary' {..} =+    Prelude.rnf choiceId+      `Prelude.seq` Prelude.rnf reason+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/WellArchitected/Types/ChoiceContent.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.ChoiceContent+-- 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.WellArchitected.Types.ChoiceContent 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 choice content.+--+-- /See:/ 'newChoiceContent' smart constructor.+data ChoiceContent = ChoiceContent'+  { -- | The display text for the choice content.+    displayText :: Prelude.Maybe Prelude.Text,+    -- | The URL for the choice content.+    url :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChoiceContent' 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:+--+-- 'displayText', 'choiceContent_displayText' - The display text for the choice content.+--+-- 'url', 'choiceContent_url' - The URL for the choice content.+newChoiceContent ::+  ChoiceContent+newChoiceContent =+  ChoiceContent'+    { displayText = Prelude.Nothing,+      url = Prelude.Nothing+    }++-- | The display text for the choice content.+choiceContent_displayText :: Lens.Lens' ChoiceContent (Prelude.Maybe Prelude.Text)+choiceContent_displayText = Lens.lens (\ChoiceContent' {displayText} -> displayText) (\s@ChoiceContent' {} a -> s {displayText = a} :: ChoiceContent)++-- | The URL for the choice content.+choiceContent_url :: Lens.Lens' ChoiceContent (Prelude.Maybe Prelude.Text)+choiceContent_url = Lens.lens (\ChoiceContent' {url} -> url) (\s@ChoiceContent' {} a -> s {url = a} :: ChoiceContent)++instance Data.FromJSON ChoiceContent where+  parseJSON =+    Data.withObject+      "ChoiceContent"+      ( \x ->+          ChoiceContent'+            Prelude.<$> (x Data..:? "DisplayText")+            Prelude.<*> (x Data..:? "Url")+      )++instance Prelude.Hashable ChoiceContent where+  hashWithSalt _salt ChoiceContent' {..} =+    _salt+      `Prelude.hashWithSalt` displayText+      `Prelude.hashWithSalt` url++instance Prelude.NFData ChoiceContent where+  rnf ChoiceContent' {..} =+    Prelude.rnf displayText+      `Prelude.seq` Prelude.rnf url
+ gen/Amazonka/WellArchitected/Types/ChoiceImprovementPlan.hs view
@@ -0,0 +1,94 @@+{-# 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.WellArchitected.Types.ChoiceImprovementPlan+-- 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.WellArchitected.Types.ChoiceImprovementPlan 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 choice level improvement plan.+--+-- /See:/ 'newChoiceImprovementPlan' smart constructor.+data ChoiceImprovementPlan = ChoiceImprovementPlan'+  { choiceId :: Prelude.Maybe Prelude.Text,+    -- | The display text for the improvement plan.+    displayText :: Prelude.Maybe Prelude.Text,+    improvementPlanUrl :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChoiceImprovementPlan' 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:+--+-- 'choiceId', 'choiceImprovementPlan_choiceId' - Undocumented member.+--+-- 'displayText', 'choiceImprovementPlan_displayText' - The display text for the improvement plan.+--+-- 'improvementPlanUrl', 'choiceImprovementPlan_improvementPlanUrl' - Undocumented member.+newChoiceImprovementPlan ::+  ChoiceImprovementPlan+newChoiceImprovementPlan =+  ChoiceImprovementPlan'+    { choiceId = Prelude.Nothing,+      displayText = Prelude.Nothing,+      improvementPlanUrl = Prelude.Nothing+    }++-- | Undocumented member.+choiceImprovementPlan_choiceId :: Lens.Lens' ChoiceImprovementPlan (Prelude.Maybe Prelude.Text)+choiceImprovementPlan_choiceId = Lens.lens (\ChoiceImprovementPlan' {choiceId} -> choiceId) (\s@ChoiceImprovementPlan' {} a -> s {choiceId = a} :: ChoiceImprovementPlan)++-- | The display text for the improvement plan.+choiceImprovementPlan_displayText :: Lens.Lens' ChoiceImprovementPlan (Prelude.Maybe Prelude.Text)+choiceImprovementPlan_displayText = Lens.lens (\ChoiceImprovementPlan' {displayText} -> displayText) (\s@ChoiceImprovementPlan' {} a -> s {displayText = a} :: ChoiceImprovementPlan)++-- | Undocumented member.+choiceImprovementPlan_improvementPlanUrl :: Lens.Lens' ChoiceImprovementPlan (Prelude.Maybe Prelude.Text)+choiceImprovementPlan_improvementPlanUrl = Lens.lens (\ChoiceImprovementPlan' {improvementPlanUrl} -> improvementPlanUrl) (\s@ChoiceImprovementPlan' {} a -> s {improvementPlanUrl = a} :: ChoiceImprovementPlan)++instance Data.FromJSON ChoiceImprovementPlan where+  parseJSON =+    Data.withObject+      "ChoiceImprovementPlan"+      ( \x ->+          ChoiceImprovementPlan'+            Prelude.<$> (x Data..:? "ChoiceId")+            Prelude.<*> (x Data..:? "DisplayText")+            Prelude.<*> (x Data..:? "ImprovementPlanUrl")+      )++instance Prelude.Hashable ChoiceImprovementPlan where+  hashWithSalt _salt ChoiceImprovementPlan' {..} =+    _salt+      `Prelude.hashWithSalt` choiceId+      `Prelude.hashWithSalt` displayText+      `Prelude.hashWithSalt` improvementPlanUrl++instance Prelude.NFData ChoiceImprovementPlan where+  rnf ChoiceImprovementPlan' {..} =+    Prelude.rnf choiceId+      `Prelude.seq` Prelude.rnf displayText+      `Prelude.seq` Prelude.rnf improvementPlanUrl
+ gen/Amazonka/WellArchitected/Types/ChoiceReason.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.ChoiceReason+-- 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.WellArchitected.Types.ChoiceReason+  ( ChoiceReason+      ( ..,+        ChoiceReason_ARCHITECTURE_CONSTRAINTS,+        ChoiceReason_BUSINESS_PRIORITIES,+        ChoiceReason_NONE,+        ChoiceReason_OTHER,+        ChoiceReason_OUT_OF_SCOPE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChoiceReason = ChoiceReason'+  { fromChoiceReason ::+      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 ChoiceReason_ARCHITECTURE_CONSTRAINTS :: ChoiceReason+pattern ChoiceReason_ARCHITECTURE_CONSTRAINTS = ChoiceReason' "ARCHITECTURE_CONSTRAINTS"++pattern ChoiceReason_BUSINESS_PRIORITIES :: ChoiceReason+pattern ChoiceReason_BUSINESS_PRIORITIES = ChoiceReason' "BUSINESS_PRIORITIES"++pattern ChoiceReason_NONE :: ChoiceReason+pattern ChoiceReason_NONE = ChoiceReason' "NONE"++pattern ChoiceReason_OTHER :: ChoiceReason+pattern ChoiceReason_OTHER = ChoiceReason' "OTHER"++pattern ChoiceReason_OUT_OF_SCOPE :: ChoiceReason+pattern ChoiceReason_OUT_OF_SCOPE = ChoiceReason' "OUT_OF_SCOPE"++{-# COMPLETE+  ChoiceReason_ARCHITECTURE_CONSTRAINTS,+  ChoiceReason_BUSINESS_PRIORITIES,+  ChoiceReason_NONE,+  ChoiceReason_OTHER,+  ChoiceReason_OUT_OF_SCOPE,+  ChoiceReason'+  #-}
+ gen/Amazonka/WellArchitected/Types/ChoiceStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.ChoiceStatus+-- 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.WellArchitected.Types.ChoiceStatus+  ( ChoiceStatus+      ( ..,+        ChoiceStatus_NOT_APPLICABLE,+        ChoiceStatus_SELECTED,+        ChoiceStatus_UNSELECTED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChoiceStatus = ChoiceStatus'+  { fromChoiceStatus ::+      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 ChoiceStatus_NOT_APPLICABLE :: ChoiceStatus+pattern ChoiceStatus_NOT_APPLICABLE = ChoiceStatus' "NOT_APPLICABLE"++pattern ChoiceStatus_SELECTED :: ChoiceStatus+pattern ChoiceStatus_SELECTED = ChoiceStatus' "SELECTED"++pattern ChoiceStatus_UNSELECTED :: ChoiceStatus+pattern ChoiceStatus_UNSELECTED = ChoiceStatus' "UNSELECTED"++{-# COMPLETE+  ChoiceStatus_NOT_APPLICABLE,+  ChoiceStatus_SELECTED,+  ChoiceStatus_UNSELECTED,+  ChoiceStatus'+  #-}
+ gen/Amazonka/WellArchitected/Types/ChoiceUpdate.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.ChoiceUpdate+-- 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.WellArchitected.Types.ChoiceUpdate 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.WellArchitected.Types.ChoiceReason+import Amazonka.WellArchitected.Types.ChoiceStatus++-- | A list of choices to be updated.+--+-- /See:/ 'newChoiceUpdate' smart constructor.+data ChoiceUpdate = ChoiceUpdate'+  { -- | The notes associated with a choice.+    notes :: Prelude.Maybe Prelude.Text,+    -- | The reason why a choice is non-applicable to a question in your+    -- workload.+    reason :: Prelude.Maybe ChoiceReason,+    -- | The status of a choice.+    status :: ChoiceStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChoiceUpdate' 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:+--+-- 'notes', 'choiceUpdate_notes' - The notes associated with a choice.+--+-- 'reason', 'choiceUpdate_reason' - The reason why a choice is non-applicable to a question in your+-- workload.+--+-- 'status', 'choiceUpdate_status' - The status of a choice.+newChoiceUpdate ::+  -- | 'status'+  ChoiceStatus ->+  ChoiceUpdate+newChoiceUpdate pStatus_ =+  ChoiceUpdate'+    { notes = Prelude.Nothing,+      reason = Prelude.Nothing,+      status = pStatus_+    }++-- | The notes associated with a choice.+choiceUpdate_notes :: Lens.Lens' ChoiceUpdate (Prelude.Maybe Prelude.Text)+choiceUpdate_notes = Lens.lens (\ChoiceUpdate' {notes} -> notes) (\s@ChoiceUpdate' {} a -> s {notes = a} :: ChoiceUpdate)++-- | The reason why a choice is non-applicable to a question in your+-- workload.+choiceUpdate_reason :: Lens.Lens' ChoiceUpdate (Prelude.Maybe ChoiceReason)+choiceUpdate_reason = Lens.lens (\ChoiceUpdate' {reason} -> reason) (\s@ChoiceUpdate' {} a -> s {reason = a} :: ChoiceUpdate)++-- | The status of a choice.+choiceUpdate_status :: Lens.Lens' ChoiceUpdate ChoiceStatus+choiceUpdate_status = Lens.lens (\ChoiceUpdate' {status} -> status) (\s@ChoiceUpdate' {} a -> s {status = a} :: ChoiceUpdate)++instance Prelude.Hashable ChoiceUpdate where+  hashWithSalt _salt ChoiceUpdate' {..} =+    _salt+      `Prelude.hashWithSalt` notes+      `Prelude.hashWithSalt` reason+      `Prelude.hashWithSalt` status++instance Prelude.NFData ChoiceUpdate where+  rnf ChoiceUpdate' {..} =+    Prelude.rnf notes+      `Prelude.seq` Prelude.rnf reason+      `Prelude.seq` Prelude.rnf status++instance Data.ToJSON ChoiceUpdate where+  toJSON ChoiceUpdate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Notes" Data..=) Prelude.<$> notes,+            ("Reason" Data..=) Prelude.<$> reason,+            Prelude.Just ("Status" Data..= status)+          ]+      )
+ gen/Amazonka/WellArchitected/Types/DifferenceStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.DifferenceStatus+-- 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.WellArchitected.Types.DifferenceStatus+  ( DifferenceStatus+      ( ..,+        DifferenceStatus_DELETED,+        DifferenceStatus_NEW,+        DifferenceStatus_UPDATED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DifferenceStatus = DifferenceStatus'+  { fromDifferenceStatus ::+      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 DifferenceStatus_DELETED :: DifferenceStatus+pattern DifferenceStatus_DELETED = DifferenceStatus' "DELETED"++pattern DifferenceStatus_NEW :: DifferenceStatus+pattern DifferenceStatus_NEW = DifferenceStatus' "NEW"++pattern DifferenceStatus_UPDATED :: DifferenceStatus+pattern DifferenceStatus_UPDATED = DifferenceStatus' "UPDATED"++{-# COMPLETE+  DifferenceStatus_DELETED,+  DifferenceStatus_NEW,+  DifferenceStatus_UPDATED,+  DifferenceStatus'+  #-}
+ gen/Amazonka/WellArchitected/Types/ImportLensStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.ImportLensStatus+-- 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.WellArchitected.Types.ImportLensStatus+  ( ImportLensStatus+      ( ..,+        ImportLensStatus_COMPLETE,+        ImportLensStatus_ERROR,+        ImportLensStatus_IN_PROGRESS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ImportLensStatus = ImportLensStatus'+  { fromImportLensStatus ::+      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 ImportLensStatus_COMPLETE :: ImportLensStatus+pattern ImportLensStatus_COMPLETE = ImportLensStatus' "COMPLETE"++pattern ImportLensStatus_ERROR :: ImportLensStatus+pattern ImportLensStatus_ERROR = ImportLensStatus' "ERROR"++pattern ImportLensStatus_IN_PROGRESS :: ImportLensStatus+pattern ImportLensStatus_IN_PROGRESS = ImportLensStatus' "IN_PROGRESS"++{-# COMPLETE+  ImportLensStatus_COMPLETE,+  ImportLensStatus_ERROR,+  ImportLensStatus_IN_PROGRESS,+  ImportLensStatus'+  #-}
+ gen/Amazonka/WellArchitected/Types/ImprovementSummary.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.WellArchitected.Types.ImprovementSummary+-- 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.WellArchitected.Types.ImprovementSummary 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.WellArchitected.Types.ChoiceImprovementPlan+import Amazonka.WellArchitected.Types.Risk++-- | An improvement summary of a lens review in a workload.+--+-- /See:/ 'newImprovementSummary' smart constructor.+data ImprovementSummary = ImprovementSummary'+  { improvementPlanUrl :: Prelude.Maybe Prelude.Text,+    -- | The improvement plan details.+    improvementPlans :: Prelude.Maybe [ChoiceImprovementPlan],+    pillarId :: Prelude.Maybe Prelude.Text,+    questionId :: Prelude.Maybe Prelude.Text,+    questionTitle :: Prelude.Maybe Prelude.Text,+    risk :: Prelude.Maybe Risk+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImprovementSummary' 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:+--+-- 'improvementPlanUrl', 'improvementSummary_improvementPlanUrl' - Undocumented member.+--+-- 'improvementPlans', 'improvementSummary_improvementPlans' - The improvement plan details.+--+-- 'pillarId', 'improvementSummary_pillarId' - Undocumented member.+--+-- 'questionId', 'improvementSummary_questionId' - Undocumented member.+--+-- 'questionTitle', 'improvementSummary_questionTitle' - Undocumented member.+--+-- 'risk', 'improvementSummary_risk' - Undocumented member.+newImprovementSummary ::+  ImprovementSummary+newImprovementSummary =+  ImprovementSummary'+    { improvementPlanUrl =+        Prelude.Nothing,+      improvementPlans = Prelude.Nothing,+      pillarId = Prelude.Nothing,+      questionId = Prelude.Nothing,+      questionTitle = Prelude.Nothing,+      risk = Prelude.Nothing+    }++-- | Undocumented member.+improvementSummary_improvementPlanUrl :: Lens.Lens' ImprovementSummary (Prelude.Maybe Prelude.Text)+improvementSummary_improvementPlanUrl = Lens.lens (\ImprovementSummary' {improvementPlanUrl} -> improvementPlanUrl) (\s@ImprovementSummary' {} a -> s {improvementPlanUrl = a} :: ImprovementSummary)++-- | The improvement plan details.+improvementSummary_improvementPlans :: Lens.Lens' ImprovementSummary (Prelude.Maybe [ChoiceImprovementPlan])+improvementSummary_improvementPlans = Lens.lens (\ImprovementSummary' {improvementPlans} -> improvementPlans) (\s@ImprovementSummary' {} a -> s {improvementPlans = a} :: ImprovementSummary) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+improvementSummary_pillarId :: Lens.Lens' ImprovementSummary (Prelude.Maybe Prelude.Text)+improvementSummary_pillarId = Lens.lens (\ImprovementSummary' {pillarId} -> pillarId) (\s@ImprovementSummary' {} a -> s {pillarId = a} :: ImprovementSummary)++-- | Undocumented member.+improvementSummary_questionId :: Lens.Lens' ImprovementSummary (Prelude.Maybe Prelude.Text)+improvementSummary_questionId = Lens.lens (\ImprovementSummary' {questionId} -> questionId) (\s@ImprovementSummary' {} a -> s {questionId = a} :: ImprovementSummary)++-- | Undocumented member.+improvementSummary_questionTitle :: Lens.Lens' ImprovementSummary (Prelude.Maybe Prelude.Text)+improvementSummary_questionTitle = Lens.lens (\ImprovementSummary' {questionTitle} -> questionTitle) (\s@ImprovementSummary' {} a -> s {questionTitle = a} :: ImprovementSummary)++-- | Undocumented member.+improvementSummary_risk :: Lens.Lens' ImprovementSummary (Prelude.Maybe Risk)+improvementSummary_risk = Lens.lens (\ImprovementSummary' {risk} -> risk) (\s@ImprovementSummary' {} a -> s {risk = a} :: ImprovementSummary)++instance Data.FromJSON ImprovementSummary where+  parseJSON =+    Data.withObject+      "ImprovementSummary"+      ( \x ->+          ImprovementSummary'+            Prelude.<$> (x Data..:? "ImprovementPlanUrl")+            Prelude.<*> ( x+                            Data..:? "ImprovementPlans"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "PillarId")+            Prelude.<*> (x Data..:? "QuestionId")+            Prelude.<*> (x Data..:? "QuestionTitle")+            Prelude.<*> (x Data..:? "Risk")+      )++instance Prelude.Hashable ImprovementSummary where+  hashWithSalt _salt ImprovementSummary' {..} =+    _salt+      `Prelude.hashWithSalt` improvementPlanUrl+      `Prelude.hashWithSalt` improvementPlans+      `Prelude.hashWithSalt` pillarId+      `Prelude.hashWithSalt` questionId+      `Prelude.hashWithSalt` questionTitle+      `Prelude.hashWithSalt` risk++instance Prelude.NFData ImprovementSummary where+  rnf ImprovementSummary' {..} =+    Prelude.rnf improvementPlanUrl+      `Prelude.seq` Prelude.rnf improvementPlans+      `Prelude.seq` Prelude.rnf pillarId+      `Prelude.seq` Prelude.rnf questionId+      `Prelude.seq` Prelude.rnf questionTitle+      `Prelude.seq` Prelude.rnf risk
+ gen/Amazonka/WellArchitected/Types/Lens.hs view
@@ -0,0 +1,142 @@+{-# 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.WellArchitected.Types.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.WellArchitected.Types.Lens 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 lens return object.+--+-- /See:/ 'newLens' smart constructor.+data Lens = Lens'+  { description :: Prelude.Maybe Prelude.Text,+    -- | The ARN of a lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    -- | The version of a lens.+    lensVersion :: Prelude.Maybe Prelude.Text,+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID that owns the lens.+    owner :: Prelude.Maybe Prelude.Text,+    -- | The ID assigned to the share invitation.+    shareInvitationId :: Prelude.Maybe Prelude.Text,+    -- | The tags assigned to the lens.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Lens' 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:+--+-- 'description', 'lens_description' - Undocumented member.+--+-- 'lensArn', 'lens_lensArn' - The ARN of a lens.+--+-- 'lensVersion', 'lens_lensVersion' - The version of a lens.+--+-- 'name', 'lens_name' - Undocumented member.+--+-- 'owner', 'lens_owner' - The Amazon Web Services account ID that owns the lens.+--+-- 'shareInvitationId', 'lens_shareInvitationId' - The ID assigned to the share invitation.+--+-- 'tags', 'lens_tags' - The tags assigned to the lens.+newLens ::+  Lens+newLens =+  Lens'+    { description = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      lensVersion = Prelude.Nothing,+      name = Prelude.Nothing,+      owner = Prelude.Nothing,+      shareInvitationId = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | Undocumented member.+lens_description :: Lens.Lens' Lens (Prelude.Maybe Prelude.Text)+lens_description = Lens.lens (\Lens' {description} -> description) (\s@Lens' {} a -> s {description = a} :: Lens)++-- | The ARN of a lens.+lens_lensArn :: Lens.Lens' Lens (Prelude.Maybe Prelude.Text)+lens_lensArn = Lens.lens (\Lens' {lensArn} -> lensArn) (\s@Lens' {} a -> s {lensArn = a} :: Lens)++-- | The version of a lens.+lens_lensVersion :: Lens.Lens' Lens (Prelude.Maybe Prelude.Text)+lens_lensVersion = Lens.lens (\Lens' {lensVersion} -> lensVersion) (\s@Lens' {} a -> s {lensVersion = a} :: Lens)++-- | Undocumented member.+lens_name :: Lens.Lens' Lens (Prelude.Maybe Prelude.Text)+lens_name = Lens.lens (\Lens' {name} -> name) (\s@Lens' {} a -> s {name = a} :: Lens)++-- | The Amazon Web Services account ID that owns the lens.+lens_owner :: Lens.Lens' Lens (Prelude.Maybe Prelude.Text)+lens_owner = Lens.lens (\Lens' {owner} -> owner) (\s@Lens' {} a -> s {owner = a} :: Lens)++-- | The ID assigned to the share invitation.+lens_shareInvitationId :: Lens.Lens' Lens (Prelude.Maybe Prelude.Text)+lens_shareInvitationId = Lens.lens (\Lens' {shareInvitationId} -> shareInvitationId) (\s@Lens' {} a -> s {shareInvitationId = a} :: Lens)++-- | The tags assigned to the lens.+lens_tags :: Lens.Lens' Lens (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+lens_tags = Lens.lens (\Lens' {tags} -> tags) (\s@Lens' {} a -> s {tags = a} :: Lens) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Lens where+  parseJSON =+    Data.withObject+      "Lens"+      ( \x ->+          Lens'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "LensArn")+            Prelude.<*> (x Data..:? "LensVersion")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Owner")+            Prelude.<*> (x Data..:? "ShareInvitationId")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable Lens where+  hashWithSalt _salt Lens' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` lensArn+      `Prelude.hashWithSalt` lensVersion+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` shareInvitationId+      `Prelude.hashWithSalt` tags++instance Prelude.NFData Lens where+  rnf Lens' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf lensVersion+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf shareInvitationId+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/WellArchitected/Types/LensReview.hs view
@@ -0,0 +1,179 @@+{-# 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.WellArchitected.Types.LensReview+-- 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.WellArchitected.Types.LensReview 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.WellArchitected.Types.LensStatus+import Amazonka.WellArchitected.Types.PillarReviewSummary+import Amazonka.WellArchitected.Types.Risk++-- | A lens review of a question.+--+-- /See:/ 'newLensReview' smart constructor.+data LensReview = LensReview'+  { lensAlias :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    lensName :: Prelude.Maybe Prelude.Text,+    -- | The status of the lens.+    lensStatus :: Prelude.Maybe LensStatus,+    -- | The version of the lens.+    lensVersion :: Prelude.Maybe Prelude.Text,+    nextToken :: Prelude.Maybe Prelude.Text,+    notes :: Prelude.Maybe Prelude.Text,+    pillarReviewSummaries :: Prelude.Maybe [PillarReviewSummary],+    riskCounts :: Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural),+    updatedAt :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LensReview' 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:+--+-- 'lensAlias', 'lensReview_lensAlias' - Undocumented member.+--+-- 'lensArn', 'lensReview_lensArn' - The ARN for the lens.+--+-- 'lensName', 'lensReview_lensName' - Undocumented member.+--+-- 'lensStatus', 'lensReview_lensStatus' - The status of the lens.+--+-- 'lensVersion', 'lensReview_lensVersion' - The version of the lens.+--+-- 'nextToken', 'lensReview_nextToken' - Undocumented member.+--+-- 'notes', 'lensReview_notes' - Undocumented member.+--+-- 'pillarReviewSummaries', 'lensReview_pillarReviewSummaries' - Undocumented member.+--+-- 'riskCounts', 'lensReview_riskCounts' - Undocumented member.+--+-- 'updatedAt', 'lensReview_updatedAt' - Undocumented member.+newLensReview ::+  LensReview+newLensReview =+  LensReview'+    { lensAlias = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      lensName = Prelude.Nothing,+      lensStatus = Prelude.Nothing,+      lensVersion = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      notes = Prelude.Nothing,+      pillarReviewSummaries = Prelude.Nothing,+      riskCounts = Prelude.Nothing,+      updatedAt = Prelude.Nothing+    }++-- | Undocumented member.+lensReview_lensAlias :: Lens.Lens' LensReview (Prelude.Maybe Prelude.Text)+lensReview_lensAlias = Lens.lens (\LensReview' {lensAlias} -> lensAlias) (\s@LensReview' {} a -> s {lensAlias = a} :: LensReview)++-- | The ARN for the lens.+lensReview_lensArn :: Lens.Lens' LensReview (Prelude.Maybe Prelude.Text)+lensReview_lensArn = Lens.lens (\LensReview' {lensArn} -> lensArn) (\s@LensReview' {} a -> s {lensArn = a} :: LensReview)++-- | Undocumented member.+lensReview_lensName :: Lens.Lens' LensReview (Prelude.Maybe Prelude.Text)+lensReview_lensName = Lens.lens (\LensReview' {lensName} -> lensName) (\s@LensReview' {} a -> s {lensName = a} :: LensReview)++-- | The status of the lens.+lensReview_lensStatus :: Lens.Lens' LensReview (Prelude.Maybe LensStatus)+lensReview_lensStatus = Lens.lens (\LensReview' {lensStatus} -> lensStatus) (\s@LensReview' {} a -> s {lensStatus = a} :: LensReview)++-- | The version of the lens.+lensReview_lensVersion :: Lens.Lens' LensReview (Prelude.Maybe Prelude.Text)+lensReview_lensVersion = Lens.lens (\LensReview' {lensVersion} -> lensVersion) (\s@LensReview' {} a -> s {lensVersion = a} :: LensReview)++-- | Undocumented member.+lensReview_nextToken :: Lens.Lens' LensReview (Prelude.Maybe Prelude.Text)+lensReview_nextToken = Lens.lens (\LensReview' {nextToken} -> nextToken) (\s@LensReview' {} a -> s {nextToken = a} :: LensReview)++-- | Undocumented member.+lensReview_notes :: Lens.Lens' LensReview (Prelude.Maybe Prelude.Text)+lensReview_notes = Lens.lens (\LensReview' {notes} -> notes) (\s@LensReview' {} a -> s {notes = a} :: LensReview)++-- | Undocumented member.+lensReview_pillarReviewSummaries :: Lens.Lens' LensReview (Prelude.Maybe [PillarReviewSummary])+lensReview_pillarReviewSummaries = Lens.lens (\LensReview' {pillarReviewSummaries} -> pillarReviewSummaries) (\s@LensReview' {} a -> s {pillarReviewSummaries = a} :: LensReview) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+lensReview_riskCounts :: Lens.Lens' LensReview (Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural))+lensReview_riskCounts = Lens.lens (\LensReview' {riskCounts} -> riskCounts) (\s@LensReview' {} a -> s {riskCounts = a} :: LensReview) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+lensReview_updatedAt :: Lens.Lens' LensReview (Prelude.Maybe Prelude.UTCTime)+lensReview_updatedAt = Lens.lens (\LensReview' {updatedAt} -> updatedAt) (\s@LensReview' {} a -> s {updatedAt = a} :: LensReview) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON LensReview where+  parseJSON =+    Data.withObject+      "LensReview"+      ( \x ->+          LensReview'+            Prelude.<$> (x Data..:? "LensAlias")+            Prelude.<*> (x Data..:? "LensArn")+            Prelude.<*> (x Data..:? "LensName")+            Prelude.<*> (x Data..:? "LensStatus")+            Prelude.<*> (x Data..:? "LensVersion")+            Prelude.<*> (x Data..:? "NextToken")+            Prelude.<*> (x Data..:? "Notes")+            Prelude.<*> ( x+                            Data..:? "PillarReviewSummaries"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "RiskCounts" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "UpdatedAt")+      )++instance Prelude.Hashable LensReview where+  hashWithSalt _salt LensReview' {..} =+    _salt+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` lensArn+      `Prelude.hashWithSalt` lensName+      `Prelude.hashWithSalt` lensStatus+      `Prelude.hashWithSalt` lensVersion+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` notes+      `Prelude.hashWithSalt` pillarReviewSummaries+      `Prelude.hashWithSalt` riskCounts+      `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData LensReview where+  rnf LensReview' {..} =+    Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf lensName+      `Prelude.seq` Prelude.rnf lensStatus+      `Prelude.seq` Prelude.rnf lensVersion+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf notes+      `Prelude.seq` Prelude.rnf pillarReviewSummaries+      `Prelude.seq` Prelude.rnf riskCounts+      `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/WellArchitected/Types/LensReviewReport.hs view
@@ -0,0 +1,94 @@+{-# 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.WellArchitected.Types.LensReviewReport+-- 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.WellArchitected.Types.LensReviewReport 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 report of a lens review.+--+-- /See:/ 'newLensReviewReport' smart constructor.+data LensReviewReport = LensReviewReport'+  { base64String :: Prelude.Maybe Prelude.Text,+    lensAlias :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LensReviewReport' 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:+--+-- 'base64String', 'lensReviewReport_base64String' - Undocumented member.+--+-- 'lensAlias', 'lensReviewReport_lensAlias' - Undocumented member.+--+-- 'lensArn', 'lensReviewReport_lensArn' - The ARN for the lens.+newLensReviewReport ::+  LensReviewReport+newLensReviewReport =+  LensReviewReport'+    { base64String = Prelude.Nothing,+      lensAlias = Prelude.Nothing,+      lensArn = Prelude.Nothing+    }++-- | Undocumented member.+lensReviewReport_base64String :: Lens.Lens' LensReviewReport (Prelude.Maybe Prelude.Text)+lensReviewReport_base64String = Lens.lens (\LensReviewReport' {base64String} -> base64String) (\s@LensReviewReport' {} a -> s {base64String = a} :: LensReviewReport)++-- | Undocumented member.+lensReviewReport_lensAlias :: Lens.Lens' LensReviewReport (Prelude.Maybe Prelude.Text)+lensReviewReport_lensAlias = Lens.lens (\LensReviewReport' {lensAlias} -> lensAlias) (\s@LensReviewReport' {} a -> s {lensAlias = a} :: LensReviewReport)++-- | The ARN for the lens.+lensReviewReport_lensArn :: Lens.Lens' LensReviewReport (Prelude.Maybe Prelude.Text)+lensReviewReport_lensArn = Lens.lens (\LensReviewReport' {lensArn} -> lensArn) (\s@LensReviewReport' {} a -> s {lensArn = a} :: LensReviewReport)++instance Data.FromJSON LensReviewReport where+  parseJSON =+    Data.withObject+      "LensReviewReport"+      ( \x ->+          LensReviewReport'+            Prelude.<$> (x Data..:? "Base64String")+            Prelude.<*> (x Data..:? "LensAlias")+            Prelude.<*> (x Data..:? "LensArn")+      )++instance Prelude.Hashable LensReviewReport where+  hashWithSalt _salt LensReviewReport' {..} =+    _salt+      `Prelude.hashWithSalt` base64String+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` lensArn++instance Prelude.NFData LensReviewReport where+  rnf LensReviewReport' {..} =+    Prelude.rnf base64String+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf lensArn
+ gen/Amazonka/WellArchitected/Types/LensReviewSummary.hs view
@@ -0,0 +1,142 @@+{-# 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.WellArchitected.Types.LensReviewSummary+-- 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.WellArchitected.Types.LensReviewSummary 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.WellArchitected.Types.LensStatus+import Amazonka.WellArchitected.Types.Risk++-- | A lens review summary of a workload.+--+-- /See:/ 'newLensReviewSummary' smart constructor.+data LensReviewSummary = LensReviewSummary'+  { lensAlias :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    lensName :: Prelude.Maybe Prelude.Text,+    -- | The status of the lens.+    lensStatus :: Prelude.Maybe LensStatus,+    -- | The version of the lens.+    lensVersion :: Prelude.Maybe Prelude.Text,+    riskCounts :: Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural),+    updatedAt :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LensReviewSummary' 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:+--+-- 'lensAlias', 'lensReviewSummary_lensAlias' - Undocumented member.+--+-- 'lensArn', 'lensReviewSummary_lensArn' - The ARN for the lens.+--+-- 'lensName', 'lensReviewSummary_lensName' - Undocumented member.+--+-- 'lensStatus', 'lensReviewSummary_lensStatus' - The status of the lens.+--+-- 'lensVersion', 'lensReviewSummary_lensVersion' - The version of the lens.+--+-- 'riskCounts', 'lensReviewSummary_riskCounts' - Undocumented member.+--+-- 'updatedAt', 'lensReviewSummary_updatedAt' - Undocumented member.+newLensReviewSummary ::+  LensReviewSummary+newLensReviewSummary =+  LensReviewSummary'+    { lensAlias = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      lensName = Prelude.Nothing,+      lensStatus = Prelude.Nothing,+      lensVersion = Prelude.Nothing,+      riskCounts = Prelude.Nothing,+      updatedAt = Prelude.Nothing+    }++-- | Undocumented member.+lensReviewSummary_lensAlias :: Lens.Lens' LensReviewSummary (Prelude.Maybe Prelude.Text)+lensReviewSummary_lensAlias = Lens.lens (\LensReviewSummary' {lensAlias} -> lensAlias) (\s@LensReviewSummary' {} a -> s {lensAlias = a} :: LensReviewSummary)++-- | The ARN for the lens.+lensReviewSummary_lensArn :: Lens.Lens' LensReviewSummary (Prelude.Maybe Prelude.Text)+lensReviewSummary_lensArn = Lens.lens (\LensReviewSummary' {lensArn} -> lensArn) (\s@LensReviewSummary' {} a -> s {lensArn = a} :: LensReviewSummary)++-- | Undocumented member.+lensReviewSummary_lensName :: Lens.Lens' LensReviewSummary (Prelude.Maybe Prelude.Text)+lensReviewSummary_lensName = Lens.lens (\LensReviewSummary' {lensName} -> lensName) (\s@LensReviewSummary' {} a -> s {lensName = a} :: LensReviewSummary)++-- | The status of the lens.+lensReviewSummary_lensStatus :: Lens.Lens' LensReviewSummary (Prelude.Maybe LensStatus)+lensReviewSummary_lensStatus = Lens.lens (\LensReviewSummary' {lensStatus} -> lensStatus) (\s@LensReviewSummary' {} a -> s {lensStatus = a} :: LensReviewSummary)++-- | The version of the lens.+lensReviewSummary_lensVersion :: Lens.Lens' LensReviewSummary (Prelude.Maybe Prelude.Text)+lensReviewSummary_lensVersion = Lens.lens (\LensReviewSummary' {lensVersion} -> lensVersion) (\s@LensReviewSummary' {} a -> s {lensVersion = a} :: LensReviewSummary)++-- | Undocumented member.+lensReviewSummary_riskCounts :: Lens.Lens' LensReviewSummary (Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural))+lensReviewSummary_riskCounts = Lens.lens (\LensReviewSummary' {riskCounts} -> riskCounts) (\s@LensReviewSummary' {} a -> s {riskCounts = a} :: LensReviewSummary) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+lensReviewSummary_updatedAt :: Lens.Lens' LensReviewSummary (Prelude.Maybe Prelude.UTCTime)+lensReviewSummary_updatedAt = Lens.lens (\LensReviewSummary' {updatedAt} -> updatedAt) (\s@LensReviewSummary' {} a -> s {updatedAt = a} :: LensReviewSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON LensReviewSummary where+  parseJSON =+    Data.withObject+      "LensReviewSummary"+      ( \x ->+          LensReviewSummary'+            Prelude.<$> (x Data..:? "LensAlias")+            Prelude.<*> (x Data..:? "LensArn")+            Prelude.<*> (x Data..:? "LensName")+            Prelude.<*> (x Data..:? "LensStatus")+            Prelude.<*> (x Data..:? "LensVersion")+            Prelude.<*> (x Data..:? "RiskCounts" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "UpdatedAt")+      )++instance Prelude.Hashable LensReviewSummary where+  hashWithSalt _salt LensReviewSummary' {..} =+    _salt+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` lensArn+      `Prelude.hashWithSalt` lensName+      `Prelude.hashWithSalt` lensStatus+      `Prelude.hashWithSalt` lensVersion+      `Prelude.hashWithSalt` riskCounts+      `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData LensReviewSummary where+  rnf LensReviewSummary' {..} =+    Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf lensName+      `Prelude.seq` Prelude.rnf lensStatus+      `Prelude.seq` Prelude.rnf lensVersion+      `Prelude.seq` Prelude.rnf riskCounts+      `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/WellArchitected/Types/LensShareSummary.hs view
@@ -0,0 +1,106 @@+{-# 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.WellArchitected.Types.LensShareSummary+-- 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.WellArchitected.Types.LensShareSummary 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.WellArchitected.Types.ShareStatus++-- | A lens share summary return object.+--+-- /See:/ 'newLensShareSummary' smart constructor.+data LensShareSummary = LensShareSummary'+  { shareId :: Prelude.Maybe Prelude.Text,+    sharedWith :: Prelude.Maybe Prelude.Text,+    status :: Prelude.Maybe ShareStatus,+    -- | Optional message to compliment the Status field.+    statusMessage :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LensShareSummary' 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:+--+-- 'shareId', 'lensShareSummary_shareId' - Undocumented member.+--+-- 'sharedWith', 'lensShareSummary_sharedWith' - Undocumented member.+--+-- 'status', 'lensShareSummary_status' - Undocumented member.+--+-- 'statusMessage', 'lensShareSummary_statusMessage' - Optional message to compliment the Status field.+newLensShareSummary ::+  LensShareSummary+newLensShareSummary =+  LensShareSummary'+    { shareId = Prelude.Nothing,+      sharedWith = Prelude.Nothing,+      status = Prelude.Nothing,+      statusMessage = Prelude.Nothing+    }++-- | Undocumented member.+lensShareSummary_shareId :: Lens.Lens' LensShareSummary (Prelude.Maybe Prelude.Text)+lensShareSummary_shareId = Lens.lens (\LensShareSummary' {shareId} -> shareId) (\s@LensShareSummary' {} a -> s {shareId = a} :: LensShareSummary)++-- | Undocumented member.+lensShareSummary_sharedWith :: Lens.Lens' LensShareSummary (Prelude.Maybe Prelude.Text)+lensShareSummary_sharedWith = Lens.lens (\LensShareSummary' {sharedWith} -> sharedWith) (\s@LensShareSummary' {} a -> s {sharedWith = a} :: LensShareSummary)++-- | Undocumented member.+lensShareSummary_status :: Lens.Lens' LensShareSummary (Prelude.Maybe ShareStatus)+lensShareSummary_status = Lens.lens (\LensShareSummary' {status} -> status) (\s@LensShareSummary' {} a -> s {status = a} :: LensShareSummary)++-- | Optional message to compliment the Status field.+lensShareSummary_statusMessage :: Lens.Lens' LensShareSummary (Prelude.Maybe Prelude.Text)+lensShareSummary_statusMessage = Lens.lens (\LensShareSummary' {statusMessage} -> statusMessage) (\s@LensShareSummary' {} a -> s {statusMessage = a} :: LensShareSummary)++instance Data.FromJSON LensShareSummary where+  parseJSON =+    Data.withObject+      "LensShareSummary"+      ( \x ->+          LensShareSummary'+            Prelude.<$> (x Data..:? "ShareId")+            Prelude.<*> (x Data..:? "SharedWith")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "StatusMessage")+      )++instance Prelude.Hashable LensShareSummary where+  hashWithSalt _salt LensShareSummary' {..} =+    _salt+      `Prelude.hashWithSalt` shareId+      `Prelude.hashWithSalt` sharedWith+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData LensShareSummary where+  rnf LensShareSummary' {..} =+    Prelude.rnf shareId+      `Prelude.seq` Prelude.rnf sharedWith+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/WellArchitected/Types/LensStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.LensStatus+-- 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.WellArchitected.Types.LensStatus+  ( LensStatus+      ( ..,+        LensStatus_CURRENT,+        LensStatus_DELETED,+        LensStatus_DEPRECATED,+        LensStatus_NOT_CURRENT,+        LensStatus_UNSHARED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LensStatus = LensStatus'+  { fromLensStatus ::+      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 LensStatus_CURRENT :: LensStatus+pattern LensStatus_CURRENT = LensStatus' "CURRENT"++pattern LensStatus_DELETED :: LensStatus+pattern LensStatus_DELETED = LensStatus' "DELETED"++pattern LensStatus_DEPRECATED :: LensStatus+pattern LensStatus_DEPRECATED = LensStatus' "DEPRECATED"++pattern LensStatus_NOT_CURRENT :: LensStatus+pattern LensStatus_NOT_CURRENT = LensStatus' "NOT_CURRENT"++pattern LensStatus_UNSHARED :: LensStatus+pattern LensStatus_UNSHARED = LensStatus' "UNSHARED"++{-# COMPLETE+  LensStatus_CURRENT,+  LensStatus_DELETED,+  LensStatus_DEPRECATED,+  LensStatus_NOT_CURRENT,+  LensStatus_UNSHARED,+  LensStatus'+  #-}
+ gen/Amazonka/WellArchitected/Types/LensStatusType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.LensStatusType+-- 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.WellArchitected.Types.LensStatusType+  ( LensStatusType+      ( ..,+        LensStatusType_ALL,+        LensStatusType_DRAFT,+        LensStatusType_PUBLISHED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LensStatusType = LensStatusType'+  { fromLensStatusType ::+      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 LensStatusType_ALL :: LensStatusType+pattern LensStatusType_ALL = LensStatusType' "ALL"++pattern LensStatusType_DRAFT :: LensStatusType+pattern LensStatusType_DRAFT = LensStatusType' "DRAFT"++pattern LensStatusType_PUBLISHED :: LensStatusType+pattern LensStatusType_PUBLISHED = LensStatusType' "PUBLISHED"++{-# COMPLETE+  LensStatusType_ALL,+  LensStatusType_DRAFT,+  LensStatusType_PUBLISHED,+  LensStatusType'+  #-}
+ gen/Amazonka/WellArchitected/Types/LensSummary.hs view
@@ -0,0 +1,176 @@+{-# 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.WellArchitected.Types.LensSummary+-- 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.WellArchitected.Types.LensSummary 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.WellArchitected.Types.LensStatus+import Amazonka.WellArchitected.Types.LensType++-- | A lens summary of a lens.+--+-- /See:/ 'newLensSummary' smart constructor.+data LensSummary = LensSummary'+  { createdAt :: Prelude.Maybe Data.POSIX,+    description :: Prelude.Maybe Prelude.Text,+    lensAlias :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    lensName :: Prelude.Maybe Prelude.Text,+    -- | The status of the lens.+    lensStatus :: Prelude.Maybe LensStatus,+    -- | The type of the lens.+    lensType :: Prelude.Maybe LensType,+    -- | The version of the lens.+    lensVersion :: Prelude.Maybe Prelude.Text,+    owner :: Prelude.Maybe Prelude.Text,+    updatedAt :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LensSummary' 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:+--+-- 'createdAt', 'lensSummary_createdAt' - Undocumented member.+--+-- 'description', 'lensSummary_description' - Undocumented member.+--+-- 'lensAlias', 'lensSummary_lensAlias' - Undocumented member.+--+-- 'lensArn', 'lensSummary_lensArn' - The ARN of the lens.+--+-- 'lensName', 'lensSummary_lensName' - Undocumented member.+--+-- 'lensStatus', 'lensSummary_lensStatus' - The status of the lens.+--+-- 'lensType', 'lensSummary_lensType' - The type of the lens.+--+-- 'lensVersion', 'lensSummary_lensVersion' - The version of the lens.+--+-- 'owner', 'lensSummary_owner' - Undocumented member.+--+-- 'updatedAt', 'lensSummary_updatedAt' - Undocumented member.+newLensSummary ::+  LensSummary+newLensSummary =+  LensSummary'+    { createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      lensAlias = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      lensName = Prelude.Nothing,+      lensStatus = Prelude.Nothing,+      lensType = Prelude.Nothing,+      lensVersion = Prelude.Nothing,+      owner = Prelude.Nothing,+      updatedAt = Prelude.Nothing+    }++-- | Undocumented member.+lensSummary_createdAt :: Lens.Lens' LensSummary (Prelude.Maybe Prelude.UTCTime)+lensSummary_createdAt = Lens.lens (\LensSummary' {createdAt} -> createdAt) (\s@LensSummary' {} a -> s {createdAt = a} :: LensSummary) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+lensSummary_description :: Lens.Lens' LensSummary (Prelude.Maybe Prelude.Text)+lensSummary_description = Lens.lens (\LensSummary' {description} -> description) (\s@LensSummary' {} a -> s {description = a} :: LensSummary)++-- | Undocumented member.+lensSummary_lensAlias :: Lens.Lens' LensSummary (Prelude.Maybe Prelude.Text)+lensSummary_lensAlias = Lens.lens (\LensSummary' {lensAlias} -> lensAlias) (\s@LensSummary' {} a -> s {lensAlias = a} :: LensSummary)++-- | The ARN of the lens.+lensSummary_lensArn :: Lens.Lens' LensSummary (Prelude.Maybe Prelude.Text)+lensSummary_lensArn = Lens.lens (\LensSummary' {lensArn} -> lensArn) (\s@LensSummary' {} a -> s {lensArn = a} :: LensSummary)++-- | Undocumented member.+lensSummary_lensName :: Lens.Lens' LensSummary (Prelude.Maybe Prelude.Text)+lensSummary_lensName = Lens.lens (\LensSummary' {lensName} -> lensName) (\s@LensSummary' {} a -> s {lensName = a} :: LensSummary)++-- | The status of the lens.+lensSummary_lensStatus :: Lens.Lens' LensSummary (Prelude.Maybe LensStatus)+lensSummary_lensStatus = Lens.lens (\LensSummary' {lensStatus} -> lensStatus) (\s@LensSummary' {} a -> s {lensStatus = a} :: LensSummary)++-- | The type of the lens.+lensSummary_lensType :: Lens.Lens' LensSummary (Prelude.Maybe LensType)+lensSummary_lensType = Lens.lens (\LensSummary' {lensType} -> lensType) (\s@LensSummary' {} a -> s {lensType = a} :: LensSummary)++-- | The version of the lens.+lensSummary_lensVersion :: Lens.Lens' LensSummary (Prelude.Maybe Prelude.Text)+lensSummary_lensVersion = Lens.lens (\LensSummary' {lensVersion} -> lensVersion) (\s@LensSummary' {} a -> s {lensVersion = a} :: LensSummary)++-- | Undocumented member.+lensSummary_owner :: Lens.Lens' LensSummary (Prelude.Maybe Prelude.Text)+lensSummary_owner = Lens.lens (\LensSummary' {owner} -> owner) (\s@LensSummary' {} a -> s {owner = a} :: LensSummary)++-- | Undocumented member.+lensSummary_updatedAt :: Lens.Lens' LensSummary (Prelude.Maybe Prelude.UTCTime)+lensSummary_updatedAt = Lens.lens (\LensSummary' {updatedAt} -> updatedAt) (\s@LensSummary' {} a -> s {updatedAt = a} :: LensSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON LensSummary where+  parseJSON =+    Data.withObject+      "LensSummary"+      ( \x ->+          LensSummary'+            Prelude.<$> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "LensAlias")+            Prelude.<*> (x Data..:? "LensArn")+            Prelude.<*> (x Data..:? "LensName")+            Prelude.<*> (x Data..:? "LensStatus")+            Prelude.<*> (x Data..:? "LensType")+            Prelude.<*> (x Data..:? "LensVersion")+            Prelude.<*> (x Data..:? "Owner")+            Prelude.<*> (x Data..:? "UpdatedAt")+      )++instance Prelude.Hashable LensSummary where+  hashWithSalt _salt LensSummary' {..} =+    _salt+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` lensArn+      `Prelude.hashWithSalt` lensName+      `Prelude.hashWithSalt` lensStatus+      `Prelude.hashWithSalt` lensType+      `Prelude.hashWithSalt` lensVersion+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData LensSummary where+  rnf LensSummary' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf lensName+      `Prelude.seq` Prelude.rnf lensStatus+      `Prelude.seq` Prelude.rnf lensType+      `Prelude.seq` Prelude.rnf lensVersion+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/WellArchitected/Types/LensType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.LensType+-- 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.WellArchitected.Types.LensType+  ( LensType+      ( ..,+        LensType_AWS_OFFICIAL,+        LensType_CUSTOM_SELF,+        LensType_CUSTOM_SHARED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LensType = LensType'+  { fromLensType ::+      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 LensType_AWS_OFFICIAL :: LensType+pattern LensType_AWS_OFFICIAL = LensType' "AWS_OFFICIAL"++pattern LensType_CUSTOM_SELF :: LensType+pattern LensType_CUSTOM_SELF = LensType' "CUSTOM_SELF"++pattern LensType_CUSTOM_SHARED :: LensType+pattern LensType_CUSTOM_SHARED = LensType' "CUSTOM_SHARED"++{-# COMPLETE+  LensType_AWS_OFFICIAL,+  LensType_CUSTOM_SELF,+  LensType_CUSTOM_SHARED,+  LensType'+  #-}
+ gen/Amazonka/WellArchitected/Types/LensUpgradeSummary.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.LensUpgradeSummary+-- 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.WellArchitected.Types.LensUpgradeSummary 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++-- | Lens upgrade summary return object.+--+-- /See:/ 'newLensUpgradeSummary' smart constructor.+data LensUpgradeSummary = LensUpgradeSummary'+  { -- | The current version of the lens.+    currentLensVersion :: Prelude.Maybe Prelude.Text,+    -- | The latest version of the lens.+    latestLensVersion :: Prelude.Maybe Prelude.Text,+    lensAlias :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Maybe Prelude.Text,+    workloadName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LensUpgradeSummary' 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:+--+-- 'currentLensVersion', 'lensUpgradeSummary_currentLensVersion' - The current version of the lens.+--+-- 'latestLensVersion', 'lensUpgradeSummary_latestLensVersion' - The latest version of the lens.+--+-- 'lensAlias', 'lensUpgradeSummary_lensAlias' - Undocumented member.+--+-- 'lensArn', 'lensUpgradeSummary_lensArn' - The ARN for the lens.+--+-- 'workloadId', 'lensUpgradeSummary_workloadId' - Undocumented member.+--+-- 'workloadName', 'lensUpgradeSummary_workloadName' - Undocumented member.+newLensUpgradeSummary ::+  LensUpgradeSummary+newLensUpgradeSummary =+  LensUpgradeSummary'+    { currentLensVersion =+        Prelude.Nothing,+      latestLensVersion = Prelude.Nothing,+      lensAlias = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      workloadName = Prelude.Nothing+    }++-- | The current version of the lens.+lensUpgradeSummary_currentLensVersion :: Lens.Lens' LensUpgradeSummary (Prelude.Maybe Prelude.Text)+lensUpgradeSummary_currentLensVersion = Lens.lens (\LensUpgradeSummary' {currentLensVersion} -> currentLensVersion) (\s@LensUpgradeSummary' {} a -> s {currentLensVersion = a} :: LensUpgradeSummary)++-- | The latest version of the lens.+lensUpgradeSummary_latestLensVersion :: Lens.Lens' LensUpgradeSummary (Prelude.Maybe Prelude.Text)+lensUpgradeSummary_latestLensVersion = Lens.lens (\LensUpgradeSummary' {latestLensVersion} -> latestLensVersion) (\s@LensUpgradeSummary' {} a -> s {latestLensVersion = a} :: LensUpgradeSummary)++-- | Undocumented member.+lensUpgradeSummary_lensAlias :: Lens.Lens' LensUpgradeSummary (Prelude.Maybe Prelude.Text)+lensUpgradeSummary_lensAlias = Lens.lens (\LensUpgradeSummary' {lensAlias} -> lensAlias) (\s@LensUpgradeSummary' {} a -> s {lensAlias = a} :: LensUpgradeSummary)++-- | The ARN for the lens.+lensUpgradeSummary_lensArn :: Lens.Lens' LensUpgradeSummary (Prelude.Maybe Prelude.Text)+lensUpgradeSummary_lensArn = Lens.lens (\LensUpgradeSummary' {lensArn} -> lensArn) (\s@LensUpgradeSummary' {} a -> s {lensArn = a} :: LensUpgradeSummary)++-- | Undocumented member.+lensUpgradeSummary_workloadId :: Lens.Lens' LensUpgradeSummary (Prelude.Maybe Prelude.Text)+lensUpgradeSummary_workloadId = Lens.lens (\LensUpgradeSummary' {workloadId} -> workloadId) (\s@LensUpgradeSummary' {} a -> s {workloadId = a} :: LensUpgradeSummary)++-- | Undocumented member.+lensUpgradeSummary_workloadName :: Lens.Lens' LensUpgradeSummary (Prelude.Maybe Prelude.Text)+lensUpgradeSummary_workloadName = Lens.lens (\LensUpgradeSummary' {workloadName} -> workloadName) (\s@LensUpgradeSummary' {} a -> s {workloadName = a} :: LensUpgradeSummary)++instance Data.FromJSON LensUpgradeSummary where+  parseJSON =+    Data.withObject+      "LensUpgradeSummary"+      ( \x ->+          LensUpgradeSummary'+            Prelude.<$> (x Data..:? "CurrentLensVersion")+            Prelude.<*> (x Data..:? "LatestLensVersion")+            Prelude.<*> (x Data..:? "LensAlias")+            Prelude.<*> (x Data..:? "LensArn")+            Prelude.<*> (x Data..:? "WorkloadId")+            Prelude.<*> (x Data..:? "WorkloadName")+      )++instance Prelude.Hashable LensUpgradeSummary where+  hashWithSalt _salt LensUpgradeSummary' {..} =+    _salt+      `Prelude.hashWithSalt` currentLensVersion+      `Prelude.hashWithSalt` latestLensVersion+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` lensArn+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` workloadName++instance Prelude.NFData LensUpgradeSummary where+  rnf LensUpgradeSummary' {..} =+    Prelude.rnf currentLensVersion+      `Prelude.seq` Prelude.rnf latestLensVersion+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf workloadName
+ gen/Amazonka/WellArchitected/Types/Milestone.hs view
@@ -0,0 +1,105 @@+{-# 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.WellArchitected.Types.Milestone+-- 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.WellArchitected.Types.Milestone 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.WellArchitected.Types.Workload++-- | A milestone return object.+--+-- /See:/ 'newMilestone' smart constructor.+data Milestone = Milestone'+  { milestoneName :: Prelude.Maybe Prelude.Text,+    milestoneNumber :: Prelude.Maybe Prelude.Natural,+    recordedAt :: Prelude.Maybe Data.POSIX,+    workload :: Prelude.Maybe Workload+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Milestone' 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:+--+-- 'milestoneName', 'milestone_milestoneName' - Undocumented member.+--+-- 'milestoneNumber', 'milestone_milestoneNumber' - Undocumented member.+--+-- 'recordedAt', 'milestone_recordedAt' - Undocumented member.+--+-- 'workload', 'milestone_workload' - Undocumented member.+newMilestone ::+  Milestone+newMilestone =+  Milestone'+    { milestoneName = Prelude.Nothing,+      milestoneNumber = Prelude.Nothing,+      recordedAt = Prelude.Nothing,+      workload = Prelude.Nothing+    }++-- | Undocumented member.+milestone_milestoneName :: Lens.Lens' Milestone (Prelude.Maybe Prelude.Text)+milestone_milestoneName = Lens.lens (\Milestone' {milestoneName} -> milestoneName) (\s@Milestone' {} a -> s {milestoneName = a} :: Milestone)++-- | Undocumented member.+milestone_milestoneNumber :: Lens.Lens' Milestone (Prelude.Maybe Prelude.Natural)+milestone_milestoneNumber = Lens.lens (\Milestone' {milestoneNumber} -> milestoneNumber) (\s@Milestone' {} a -> s {milestoneNumber = a} :: Milestone)++-- | Undocumented member.+milestone_recordedAt :: Lens.Lens' Milestone (Prelude.Maybe Prelude.UTCTime)+milestone_recordedAt = Lens.lens (\Milestone' {recordedAt} -> recordedAt) (\s@Milestone' {} a -> s {recordedAt = a} :: Milestone) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+milestone_workload :: Lens.Lens' Milestone (Prelude.Maybe Workload)+milestone_workload = Lens.lens (\Milestone' {workload} -> workload) (\s@Milestone' {} a -> s {workload = a} :: Milestone)++instance Data.FromJSON Milestone where+  parseJSON =+    Data.withObject+      "Milestone"+      ( \x ->+          Milestone'+            Prelude.<$> (x Data..:? "MilestoneName")+            Prelude.<*> (x Data..:? "MilestoneNumber")+            Prelude.<*> (x Data..:? "RecordedAt")+            Prelude.<*> (x Data..:? "Workload")+      )++instance Prelude.Hashable Milestone where+  hashWithSalt _salt Milestone' {..} =+    _salt+      `Prelude.hashWithSalt` milestoneName+      `Prelude.hashWithSalt` milestoneNumber+      `Prelude.hashWithSalt` recordedAt+      `Prelude.hashWithSalt` workload++instance Prelude.NFData Milestone where+  rnf Milestone' {..} =+    Prelude.rnf milestoneName+      `Prelude.seq` Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf recordedAt+      `Prelude.seq` Prelude.rnf workload
+ gen/Amazonka/WellArchitected/Types/MilestoneSummary.hs view
@@ -0,0 +1,105 @@+{-# 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.WellArchitected.Types.MilestoneSummary+-- 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.WellArchitected.Types.MilestoneSummary 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.WellArchitected.Types.WorkloadSummary++-- | A milestone summary return object.+--+-- /See:/ 'newMilestoneSummary' smart constructor.+data MilestoneSummary = MilestoneSummary'+  { milestoneName :: Prelude.Maybe Prelude.Text,+    milestoneNumber :: Prelude.Maybe Prelude.Natural,+    recordedAt :: Prelude.Maybe Data.POSIX,+    workloadSummary :: Prelude.Maybe WorkloadSummary+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MilestoneSummary' 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:+--+-- 'milestoneName', 'milestoneSummary_milestoneName' - Undocumented member.+--+-- 'milestoneNumber', 'milestoneSummary_milestoneNumber' - Undocumented member.+--+-- 'recordedAt', 'milestoneSummary_recordedAt' - Undocumented member.+--+-- 'workloadSummary', 'milestoneSummary_workloadSummary' - Undocumented member.+newMilestoneSummary ::+  MilestoneSummary+newMilestoneSummary =+  MilestoneSummary'+    { milestoneName = Prelude.Nothing,+      milestoneNumber = Prelude.Nothing,+      recordedAt = Prelude.Nothing,+      workloadSummary = Prelude.Nothing+    }++-- | Undocumented member.+milestoneSummary_milestoneName :: Lens.Lens' MilestoneSummary (Prelude.Maybe Prelude.Text)+milestoneSummary_milestoneName = Lens.lens (\MilestoneSummary' {milestoneName} -> milestoneName) (\s@MilestoneSummary' {} a -> s {milestoneName = a} :: MilestoneSummary)++-- | Undocumented member.+milestoneSummary_milestoneNumber :: Lens.Lens' MilestoneSummary (Prelude.Maybe Prelude.Natural)+milestoneSummary_milestoneNumber = Lens.lens (\MilestoneSummary' {milestoneNumber} -> milestoneNumber) (\s@MilestoneSummary' {} a -> s {milestoneNumber = a} :: MilestoneSummary)++-- | Undocumented member.+milestoneSummary_recordedAt :: Lens.Lens' MilestoneSummary (Prelude.Maybe Prelude.UTCTime)+milestoneSummary_recordedAt = Lens.lens (\MilestoneSummary' {recordedAt} -> recordedAt) (\s@MilestoneSummary' {} a -> s {recordedAt = a} :: MilestoneSummary) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+milestoneSummary_workloadSummary :: Lens.Lens' MilestoneSummary (Prelude.Maybe WorkloadSummary)+milestoneSummary_workloadSummary = Lens.lens (\MilestoneSummary' {workloadSummary} -> workloadSummary) (\s@MilestoneSummary' {} a -> s {workloadSummary = a} :: MilestoneSummary)++instance Data.FromJSON MilestoneSummary where+  parseJSON =+    Data.withObject+      "MilestoneSummary"+      ( \x ->+          MilestoneSummary'+            Prelude.<$> (x Data..:? "MilestoneName")+            Prelude.<*> (x Data..:? "MilestoneNumber")+            Prelude.<*> (x Data..:? "RecordedAt")+            Prelude.<*> (x Data..:? "WorkloadSummary")+      )++instance Prelude.Hashable MilestoneSummary where+  hashWithSalt _salt MilestoneSummary' {..} =+    _salt+      `Prelude.hashWithSalt` milestoneName+      `Prelude.hashWithSalt` milestoneNumber+      `Prelude.hashWithSalt` recordedAt+      `Prelude.hashWithSalt` workloadSummary++instance Prelude.NFData MilestoneSummary where+  rnf MilestoneSummary' {..} =+    Prelude.rnf milestoneName+      `Prelude.seq` Prelude.rnf milestoneNumber+      `Prelude.seq` Prelude.rnf recordedAt+      `Prelude.seq` Prelude.rnf workloadSummary
+ gen/Amazonka/WellArchitected/Types/NotificationSummary.hs view
@@ -0,0 +1,87 @@+{-# 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.WellArchitected.Types.NotificationSummary+-- 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.WellArchitected.Types.NotificationSummary 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.WellArchitected.Types.LensUpgradeSummary+import Amazonka.WellArchitected.Types.NotificationType++-- | A notification summary return object.+--+-- /See:/ 'newNotificationSummary' smart constructor.+data NotificationSummary = NotificationSummary'+  { -- | Summary of lens upgrade.+    lensUpgradeSummary :: Prelude.Maybe LensUpgradeSummary,+    -- | The type of notification.+    type' :: Prelude.Maybe NotificationType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NotificationSummary' 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:+--+-- 'lensUpgradeSummary', 'notificationSummary_lensUpgradeSummary' - Summary of lens upgrade.+--+-- 'type'', 'notificationSummary_type' - The type of notification.+newNotificationSummary ::+  NotificationSummary+newNotificationSummary =+  NotificationSummary'+    { lensUpgradeSummary =+        Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | Summary of lens upgrade.+notificationSummary_lensUpgradeSummary :: Lens.Lens' NotificationSummary (Prelude.Maybe LensUpgradeSummary)+notificationSummary_lensUpgradeSummary = Lens.lens (\NotificationSummary' {lensUpgradeSummary} -> lensUpgradeSummary) (\s@NotificationSummary' {} a -> s {lensUpgradeSummary = a} :: NotificationSummary)++-- | The type of notification.+notificationSummary_type :: Lens.Lens' NotificationSummary (Prelude.Maybe NotificationType)+notificationSummary_type = Lens.lens (\NotificationSummary' {type'} -> type') (\s@NotificationSummary' {} a -> s {type' = a} :: NotificationSummary)++instance Data.FromJSON NotificationSummary where+  parseJSON =+    Data.withObject+      "NotificationSummary"+      ( \x ->+          NotificationSummary'+            Prelude.<$> (x Data..:? "LensUpgradeSummary")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable NotificationSummary where+  hashWithSalt _salt NotificationSummary' {..} =+    _salt+      `Prelude.hashWithSalt` lensUpgradeSummary+      `Prelude.hashWithSalt` type'++instance Prelude.NFData NotificationSummary where+  rnf NotificationSummary' {..} =+    Prelude.rnf lensUpgradeSummary+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/WellArchitected/Types/NotificationType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.NotificationType+-- 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.WellArchitected.Types.NotificationType+  ( NotificationType+      ( ..,+        NotificationType_LENS_VERSION_DEPRECATED,+        NotificationType_LENS_VERSION_UPGRADED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NotificationType = NotificationType'+  { fromNotificationType ::+      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 NotificationType_LENS_VERSION_DEPRECATED :: NotificationType+pattern NotificationType_LENS_VERSION_DEPRECATED = NotificationType' "LENS_VERSION_DEPRECATED"++pattern NotificationType_LENS_VERSION_UPGRADED :: NotificationType+pattern NotificationType_LENS_VERSION_UPGRADED = NotificationType' "LENS_VERSION_UPGRADED"++{-# COMPLETE+  NotificationType_LENS_VERSION_DEPRECATED,+  NotificationType_LENS_VERSION_UPGRADED,+  NotificationType'+  #-}
+ gen/Amazonka/WellArchitected/Types/OrganizationSharingStatus.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.OrganizationSharingStatus+-- 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.WellArchitected.Types.OrganizationSharingStatus+  ( OrganizationSharingStatus+      ( ..,+        OrganizationSharingStatus_DISABLED,+        OrganizationSharingStatus_ENABLED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OrganizationSharingStatus = OrganizationSharingStatus'+  { fromOrganizationSharingStatus ::+      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 OrganizationSharingStatus_DISABLED :: OrganizationSharingStatus+pattern OrganizationSharingStatus_DISABLED = OrganizationSharingStatus' "DISABLED"++pattern OrganizationSharingStatus_ENABLED :: OrganizationSharingStatus+pattern OrganizationSharingStatus_ENABLED = OrganizationSharingStatus' "ENABLED"++{-# COMPLETE+  OrganizationSharingStatus_DISABLED,+  OrganizationSharingStatus_ENABLED,+  OrganizationSharingStatus'+  #-}
+ gen/Amazonka/WellArchitected/Types/PermissionType.hs view
@@ -0,0 +1,72 @@+{-# 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.WellArchitected.Types.PermissionType+-- 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.WellArchitected.Types.PermissionType+  ( PermissionType+      ( ..,+        PermissionType_CONTRIBUTOR,+        PermissionType_READONLY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Permission granted on a workload share.+newtype PermissionType = PermissionType'+  { fromPermissionType ::+      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 PermissionType_CONTRIBUTOR :: PermissionType+pattern PermissionType_CONTRIBUTOR = PermissionType' "CONTRIBUTOR"++pattern PermissionType_READONLY :: PermissionType+pattern PermissionType_READONLY = PermissionType' "READONLY"++{-# COMPLETE+  PermissionType_CONTRIBUTOR,+  PermissionType_READONLY,+  PermissionType'+  #-}
+ gen/Amazonka/WellArchitected/Types/PillarDifference.hs view
@@ -0,0 +1,112 @@+{-# 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.WellArchitected.Types.PillarDifference+-- 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.WellArchitected.Types.PillarDifference 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.WellArchitected.Types.DifferenceStatus+import Amazonka.WellArchitected.Types.QuestionDifference++-- | A pillar difference return object.+--+-- /See:/ 'newPillarDifference' smart constructor.+data PillarDifference = PillarDifference'+  { -- | Indicates the type of change to the pillar.+    differenceStatus :: Prelude.Maybe DifferenceStatus,+    pillarId :: Prelude.Maybe Prelude.Text,+    pillarName :: Prelude.Maybe Prelude.Text,+    -- | List of question differences.+    questionDifferences :: Prelude.Maybe [QuestionDifference]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PillarDifference' 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:+--+-- 'differenceStatus', 'pillarDifference_differenceStatus' - Indicates the type of change to the pillar.+--+-- 'pillarId', 'pillarDifference_pillarId' - Undocumented member.+--+-- 'pillarName', 'pillarDifference_pillarName' - Undocumented member.+--+-- 'questionDifferences', 'pillarDifference_questionDifferences' - List of question differences.+newPillarDifference ::+  PillarDifference+newPillarDifference =+  PillarDifference'+    { differenceStatus =+        Prelude.Nothing,+      pillarId = Prelude.Nothing,+      pillarName = Prelude.Nothing,+      questionDifferences = Prelude.Nothing+    }++-- | Indicates the type of change to the pillar.+pillarDifference_differenceStatus :: Lens.Lens' PillarDifference (Prelude.Maybe DifferenceStatus)+pillarDifference_differenceStatus = Lens.lens (\PillarDifference' {differenceStatus} -> differenceStatus) (\s@PillarDifference' {} a -> s {differenceStatus = a} :: PillarDifference)++-- | Undocumented member.+pillarDifference_pillarId :: Lens.Lens' PillarDifference (Prelude.Maybe Prelude.Text)+pillarDifference_pillarId = Lens.lens (\PillarDifference' {pillarId} -> pillarId) (\s@PillarDifference' {} a -> s {pillarId = a} :: PillarDifference)++-- | Undocumented member.+pillarDifference_pillarName :: Lens.Lens' PillarDifference (Prelude.Maybe Prelude.Text)+pillarDifference_pillarName = Lens.lens (\PillarDifference' {pillarName} -> pillarName) (\s@PillarDifference' {} a -> s {pillarName = a} :: PillarDifference)++-- | List of question differences.+pillarDifference_questionDifferences :: Lens.Lens' PillarDifference (Prelude.Maybe [QuestionDifference])+pillarDifference_questionDifferences = Lens.lens (\PillarDifference' {questionDifferences} -> questionDifferences) (\s@PillarDifference' {} a -> s {questionDifferences = a} :: PillarDifference) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PillarDifference where+  parseJSON =+    Data.withObject+      "PillarDifference"+      ( \x ->+          PillarDifference'+            Prelude.<$> (x Data..:? "DifferenceStatus")+            Prelude.<*> (x Data..:? "PillarId")+            Prelude.<*> (x Data..:? "PillarName")+            Prelude.<*> ( x+                            Data..:? "QuestionDifferences"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable PillarDifference where+  hashWithSalt _salt PillarDifference' {..} =+    _salt+      `Prelude.hashWithSalt` differenceStatus+      `Prelude.hashWithSalt` pillarId+      `Prelude.hashWithSalt` pillarName+      `Prelude.hashWithSalt` questionDifferences++instance Prelude.NFData PillarDifference where+  rnf PillarDifference' {..} =+    Prelude.rnf differenceStatus+      `Prelude.seq` Prelude.rnf pillarId+      `Prelude.seq` Prelude.rnf pillarName+      `Prelude.seq` Prelude.rnf questionDifferences
+ gen/Amazonka/WellArchitected/Types/PillarReviewSummary.hs view
@@ -0,0 +1,105 @@+{-# 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.WellArchitected.Types.PillarReviewSummary+-- 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.WellArchitected.Types.PillarReviewSummary 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.WellArchitected.Types.Risk++-- | A pillar review summary of a lens review.+--+-- /See:/ 'newPillarReviewSummary' smart constructor.+data PillarReviewSummary = PillarReviewSummary'+  { notes :: Prelude.Maybe Prelude.Text,+    pillarId :: Prelude.Maybe Prelude.Text,+    pillarName :: Prelude.Maybe Prelude.Text,+    riskCounts :: Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PillarReviewSummary' 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:+--+-- 'notes', 'pillarReviewSummary_notes' - Undocumented member.+--+-- 'pillarId', 'pillarReviewSummary_pillarId' - Undocumented member.+--+-- 'pillarName', 'pillarReviewSummary_pillarName' - Undocumented member.+--+-- 'riskCounts', 'pillarReviewSummary_riskCounts' - Undocumented member.+newPillarReviewSummary ::+  PillarReviewSummary+newPillarReviewSummary =+  PillarReviewSummary'+    { notes = Prelude.Nothing,+      pillarId = Prelude.Nothing,+      pillarName = Prelude.Nothing,+      riskCounts = Prelude.Nothing+    }++-- | Undocumented member.+pillarReviewSummary_notes :: Lens.Lens' PillarReviewSummary (Prelude.Maybe Prelude.Text)+pillarReviewSummary_notes = Lens.lens (\PillarReviewSummary' {notes} -> notes) (\s@PillarReviewSummary' {} a -> s {notes = a} :: PillarReviewSummary)++-- | Undocumented member.+pillarReviewSummary_pillarId :: Lens.Lens' PillarReviewSummary (Prelude.Maybe Prelude.Text)+pillarReviewSummary_pillarId = Lens.lens (\PillarReviewSummary' {pillarId} -> pillarId) (\s@PillarReviewSummary' {} a -> s {pillarId = a} :: PillarReviewSummary)++-- | Undocumented member.+pillarReviewSummary_pillarName :: Lens.Lens' PillarReviewSummary (Prelude.Maybe Prelude.Text)+pillarReviewSummary_pillarName = Lens.lens (\PillarReviewSummary' {pillarName} -> pillarName) (\s@PillarReviewSummary' {} a -> s {pillarName = a} :: PillarReviewSummary)++-- | Undocumented member.+pillarReviewSummary_riskCounts :: Lens.Lens' PillarReviewSummary (Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural))+pillarReviewSummary_riskCounts = Lens.lens (\PillarReviewSummary' {riskCounts} -> riskCounts) (\s@PillarReviewSummary' {} a -> s {riskCounts = a} :: PillarReviewSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PillarReviewSummary where+  parseJSON =+    Data.withObject+      "PillarReviewSummary"+      ( \x ->+          PillarReviewSummary'+            Prelude.<$> (x Data..:? "Notes")+            Prelude.<*> (x Data..:? "PillarId")+            Prelude.<*> (x Data..:? "PillarName")+            Prelude.<*> (x Data..:? "RiskCounts" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable PillarReviewSummary where+  hashWithSalt _salt PillarReviewSummary' {..} =+    _salt+      `Prelude.hashWithSalt` notes+      `Prelude.hashWithSalt` pillarId+      `Prelude.hashWithSalt` pillarName+      `Prelude.hashWithSalt` riskCounts++instance Prelude.NFData PillarReviewSummary where+  rnf PillarReviewSummary' {..} =+    Prelude.rnf notes+      `Prelude.seq` Prelude.rnf pillarId+      `Prelude.seq` Prelude.rnf pillarName+      `Prelude.seq` Prelude.rnf riskCounts
+ gen/Amazonka/WellArchitected/Types/QuestionDifference.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.QuestionDifference+-- 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.WellArchitected.Types.QuestionDifference 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.WellArchitected.Types.DifferenceStatus++-- | A question difference return object.+--+-- /See:/ 'newQuestionDifference' smart constructor.+data QuestionDifference = QuestionDifference'+  { -- | Indicates the type of change to the question.+    differenceStatus :: Prelude.Maybe DifferenceStatus,+    questionId :: Prelude.Maybe Prelude.Text,+    questionTitle :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'QuestionDifference' 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:+--+-- 'differenceStatus', 'questionDifference_differenceStatus' - Indicates the type of change to the question.+--+-- 'questionId', 'questionDifference_questionId' - Undocumented member.+--+-- 'questionTitle', 'questionDifference_questionTitle' - Undocumented member.+newQuestionDifference ::+  QuestionDifference+newQuestionDifference =+  QuestionDifference'+    { differenceStatus =+        Prelude.Nothing,+      questionId = Prelude.Nothing,+      questionTitle = Prelude.Nothing+    }++-- | Indicates the type of change to the question.+questionDifference_differenceStatus :: Lens.Lens' QuestionDifference (Prelude.Maybe DifferenceStatus)+questionDifference_differenceStatus = Lens.lens (\QuestionDifference' {differenceStatus} -> differenceStatus) (\s@QuestionDifference' {} a -> s {differenceStatus = a} :: QuestionDifference)++-- | Undocumented member.+questionDifference_questionId :: Lens.Lens' QuestionDifference (Prelude.Maybe Prelude.Text)+questionDifference_questionId = Lens.lens (\QuestionDifference' {questionId} -> questionId) (\s@QuestionDifference' {} a -> s {questionId = a} :: QuestionDifference)++-- | Undocumented member.+questionDifference_questionTitle :: Lens.Lens' QuestionDifference (Prelude.Maybe Prelude.Text)+questionDifference_questionTitle = Lens.lens (\QuestionDifference' {questionTitle} -> questionTitle) (\s@QuestionDifference' {} a -> s {questionTitle = a} :: QuestionDifference)++instance Data.FromJSON QuestionDifference where+  parseJSON =+    Data.withObject+      "QuestionDifference"+      ( \x ->+          QuestionDifference'+            Prelude.<$> (x Data..:? "DifferenceStatus")+            Prelude.<*> (x Data..:? "QuestionId")+            Prelude.<*> (x Data..:? "QuestionTitle")+      )++instance Prelude.Hashable QuestionDifference where+  hashWithSalt _salt QuestionDifference' {..} =+    _salt+      `Prelude.hashWithSalt` differenceStatus+      `Prelude.hashWithSalt` questionId+      `Prelude.hashWithSalt` questionTitle++instance Prelude.NFData QuestionDifference where+  rnf QuestionDifference' {..} =+    Prelude.rnf differenceStatus+      `Prelude.seq` Prelude.rnf questionId+      `Prelude.seq` Prelude.rnf questionTitle
+ gen/Amazonka/WellArchitected/Types/Risk.hs view
@@ -0,0 +1,84 @@+{-# 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.WellArchitected.Types.Risk+-- 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.WellArchitected.Types.Risk+  ( Risk+      ( ..,+        Risk_HIGH,+        Risk_MEDIUM,+        Risk_NONE,+        Risk_NOT_APPLICABLE,+        Risk_UNANSWERED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The risk for a given workload, lens review, pillar, or question.+newtype Risk = Risk' {fromRisk :: 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 Risk_HIGH :: Risk+pattern Risk_HIGH = Risk' "HIGH"++pattern Risk_MEDIUM :: Risk+pattern Risk_MEDIUM = Risk' "MEDIUM"++pattern Risk_NONE :: Risk+pattern Risk_NONE = Risk' "NONE"++pattern Risk_NOT_APPLICABLE :: Risk+pattern Risk_NOT_APPLICABLE = Risk' "NOT_APPLICABLE"++pattern Risk_UNANSWERED :: Risk+pattern Risk_UNANSWERED = Risk' "UNANSWERED"++{-# COMPLETE+  Risk_HIGH,+  Risk_MEDIUM,+  Risk_NONE,+  Risk_NOT_APPLICABLE,+  Risk_UNANSWERED,+  Risk'+  #-}
+ gen/Amazonka/WellArchitected/Types/ShareInvitation.hs view
@@ -0,0 +1,119 @@+{-# 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.WellArchitected.Types.ShareInvitation+-- 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.WellArchitected.Types.ShareInvitation 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.WellArchitected.Types.ShareResourceType++-- | The share invitation.+--+-- /See:/ 'newShareInvitation' smart constructor.+data ShareInvitation = ShareInvitation'+  { lensAlias :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    -- | The ID assigned to the share invitation.+    shareInvitationId :: Prelude.Maybe Prelude.Text,+    -- | The resource type of the share invitation.+    shareResourceType :: Prelude.Maybe ShareResourceType,+    workloadId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ShareInvitation' 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:+--+-- 'lensAlias', 'shareInvitation_lensAlias' - Undocumented member.+--+-- 'lensArn', 'shareInvitation_lensArn' - The ARN for the lens.+--+-- 'shareInvitationId', 'shareInvitation_shareInvitationId' - The ID assigned to the share invitation.+--+-- 'shareResourceType', 'shareInvitation_shareResourceType' - The resource type of the share invitation.+--+-- 'workloadId', 'shareInvitation_workloadId' - Undocumented member.+newShareInvitation ::+  ShareInvitation+newShareInvitation =+  ShareInvitation'+    { lensAlias = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      shareInvitationId = Prelude.Nothing,+      shareResourceType = Prelude.Nothing,+      workloadId = Prelude.Nothing+    }++-- | Undocumented member.+shareInvitation_lensAlias :: Lens.Lens' ShareInvitation (Prelude.Maybe Prelude.Text)+shareInvitation_lensAlias = Lens.lens (\ShareInvitation' {lensAlias} -> lensAlias) (\s@ShareInvitation' {} a -> s {lensAlias = a} :: ShareInvitation)++-- | The ARN for the lens.+shareInvitation_lensArn :: Lens.Lens' ShareInvitation (Prelude.Maybe Prelude.Text)+shareInvitation_lensArn = Lens.lens (\ShareInvitation' {lensArn} -> lensArn) (\s@ShareInvitation' {} a -> s {lensArn = a} :: ShareInvitation)++-- | The ID assigned to the share invitation.+shareInvitation_shareInvitationId :: Lens.Lens' ShareInvitation (Prelude.Maybe Prelude.Text)+shareInvitation_shareInvitationId = Lens.lens (\ShareInvitation' {shareInvitationId} -> shareInvitationId) (\s@ShareInvitation' {} a -> s {shareInvitationId = a} :: ShareInvitation)++-- | The resource type of the share invitation.+shareInvitation_shareResourceType :: Lens.Lens' ShareInvitation (Prelude.Maybe ShareResourceType)+shareInvitation_shareResourceType = Lens.lens (\ShareInvitation' {shareResourceType} -> shareResourceType) (\s@ShareInvitation' {} a -> s {shareResourceType = a} :: ShareInvitation)++-- | Undocumented member.+shareInvitation_workloadId :: Lens.Lens' ShareInvitation (Prelude.Maybe Prelude.Text)+shareInvitation_workloadId = Lens.lens (\ShareInvitation' {workloadId} -> workloadId) (\s@ShareInvitation' {} a -> s {workloadId = a} :: ShareInvitation)++instance Data.FromJSON ShareInvitation where+  parseJSON =+    Data.withObject+      "ShareInvitation"+      ( \x ->+          ShareInvitation'+            Prelude.<$> (x Data..:? "LensAlias")+            Prelude.<*> (x Data..:? "LensArn")+            Prelude.<*> (x Data..:? "ShareInvitationId")+            Prelude.<*> (x Data..:? "ShareResourceType")+            Prelude.<*> (x Data..:? "WorkloadId")+      )++instance Prelude.Hashable ShareInvitation where+  hashWithSalt _salt ShareInvitation' {..} =+    _salt+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` lensArn+      `Prelude.hashWithSalt` shareInvitationId+      `Prelude.hashWithSalt` shareResourceType+      `Prelude.hashWithSalt` workloadId++instance Prelude.NFData ShareInvitation where+  rnf ShareInvitation' {..} =+    Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf shareInvitationId+      `Prelude.seq` Prelude.rnf shareResourceType+      `Prelude.seq` Prelude.rnf workloadId
+ gen/Amazonka/WellArchitected/Types/ShareInvitationAction.hs view
@@ -0,0 +1,72 @@+{-# 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.WellArchitected.Types.ShareInvitationAction+-- 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.WellArchitected.Types.ShareInvitationAction+  ( ShareInvitationAction+      ( ..,+        ShareInvitationAction_ACCEPT,+        ShareInvitationAction_REJECT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Share invitation action taken by contributor.+newtype ShareInvitationAction = ShareInvitationAction'+  { fromShareInvitationAction ::+      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 ShareInvitationAction_ACCEPT :: ShareInvitationAction+pattern ShareInvitationAction_ACCEPT = ShareInvitationAction' "ACCEPT"++pattern ShareInvitationAction_REJECT :: ShareInvitationAction+pattern ShareInvitationAction_REJECT = ShareInvitationAction' "REJECT"++{-# COMPLETE+  ShareInvitationAction_ACCEPT,+  ShareInvitationAction_REJECT,+  ShareInvitationAction'+  #-}
+ gen/Amazonka/WellArchitected/Types/ShareInvitationSummary.hs view
@@ -0,0 +1,164 @@+{-# 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.WellArchitected.Types.ShareInvitationSummary+-- 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.WellArchitected.Types.ShareInvitationSummary 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.WellArchitected.Types.PermissionType+import Amazonka.WellArchitected.Types.ShareResourceType++-- | A share invitation summary return object.+--+-- /See:/ 'newShareInvitationSummary' smart constructor.+data ShareInvitationSummary = ShareInvitationSummary'+  { -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    lensName :: Prelude.Maybe Prelude.Text,+    permissionType :: Prelude.Maybe PermissionType,+    -- | The ID assigned to the share invitation.+    shareInvitationId :: Prelude.Maybe Prelude.Text,+    -- | The resource type of the share invitation.+    shareResourceType :: Prelude.Maybe ShareResourceType,+    sharedBy :: Prelude.Maybe Prelude.Text,+    sharedWith :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Maybe Prelude.Text,+    workloadName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ShareInvitationSummary' 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:+--+-- 'lensArn', 'shareInvitationSummary_lensArn' - The ARN for the lens.+--+-- 'lensName', 'shareInvitationSummary_lensName' - Undocumented member.+--+-- 'permissionType', 'shareInvitationSummary_permissionType' - Undocumented member.+--+-- 'shareInvitationId', 'shareInvitationSummary_shareInvitationId' - The ID assigned to the share invitation.+--+-- 'shareResourceType', 'shareInvitationSummary_shareResourceType' - The resource type of the share invitation.+--+-- 'sharedBy', 'shareInvitationSummary_sharedBy' - Undocumented member.+--+-- 'sharedWith', 'shareInvitationSummary_sharedWith' - Undocumented member.+--+-- 'workloadId', 'shareInvitationSummary_workloadId' - Undocumented member.+--+-- 'workloadName', 'shareInvitationSummary_workloadName' - Undocumented member.+newShareInvitationSummary ::+  ShareInvitationSummary+newShareInvitationSummary =+  ShareInvitationSummary'+    { lensArn = Prelude.Nothing,+      lensName = Prelude.Nothing,+      permissionType = Prelude.Nothing,+      shareInvitationId = Prelude.Nothing,+      shareResourceType = Prelude.Nothing,+      sharedBy = Prelude.Nothing,+      sharedWith = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      workloadName = Prelude.Nothing+    }++-- | The ARN for the lens.+shareInvitationSummary_lensArn :: Lens.Lens' ShareInvitationSummary (Prelude.Maybe Prelude.Text)+shareInvitationSummary_lensArn = Lens.lens (\ShareInvitationSummary' {lensArn} -> lensArn) (\s@ShareInvitationSummary' {} a -> s {lensArn = a} :: ShareInvitationSummary)++-- | Undocumented member.+shareInvitationSummary_lensName :: Lens.Lens' ShareInvitationSummary (Prelude.Maybe Prelude.Text)+shareInvitationSummary_lensName = Lens.lens (\ShareInvitationSummary' {lensName} -> lensName) (\s@ShareInvitationSummary' {} a -> s {lensName = a} :: ShareInvitationSummary)++-- | Undocumented member.+shareInvitationSummary_permissionType :: Lens.Lens' ShareInvitationSummary (Prelude.Maybe PermissionType)+shareInvitationSummary_permissionType = Lens.lens (\ShareInvitationSummary' {permissionType} -> permissionType) (\s@ShareInvitationSummary' {} a -> s {permissionType = a} :: ShareInvitationSummary)++-- | The ID assigned to the share invitation.+shareInvitationSummary_shareInvitationId :: Lens.Lens' ShareInvitationSummary (Prelude.Maybe Prelude.Text)+shareInvitationSummary_shareInvitationId = Lens.lens (\ShareInvitationSummary' {shareInvitationId} -> shareInvitationId) (\s@ShareInvitationSummary' {} a -> s {shareInvitationId = a} :: ShareInvitationSummary)++-- | The resource type of the share invitation.+shareInvitationSummary_shareResourceType :: Lens.Lens' ShareInvitationSummary (Prelude.Maybe ShareResourceType)+shareInvitationSummary_shareResourceType = Lens.lens (\ShareInvitationSummary' {shareResourceType} -> shareResourceType) (\s@ShareInvitationSummary' {} a -> s {shareResourceType = a} :: ShareInvitationSummary)++-- | Undocumented member.+shareInvitationSummary_sharedBy :: Lens.Lens' ShareInvitationSummary (Prelude.Maybe Prelude.Text)+shareInvitationSummary_sharedBy = Lens.lens (\ShareInvitationSummary' {sharedBy} -> sharedBy) (\s@ShareInvitationSummary' {} a -> s {sharedBy = a} :: ShareInvitationSummary)++-- | Undocumented member.+shareInvitationSummary_sharedWith :: Lens.Lens' ShareInvitationSummary (Prelude.Maybe Prelude.Text)+shareInvitationSummary_sharedWith = Lens.lens (\ShareInvitationSummary' {sharedWith} -> sharedWith) (\s@ShareInvitationSummary' {} a -> s {sharedWith = a} :: ShareInvitationSummary)++-- | Undocumented member.+shareInvitationSummary_workloadId :: Lens.Lens' ShareInvitationSummary (Prelude.Maybe Prelude.Text)+shareInvitationSummary_workloadId = Lens.lens (\ShareInvitationSummary' {workloadId} -> workloadId) (\s@ShareInvitationSummary' {} a -> s {workloadId = a} :: ShareInvitationSummary)++-- | Undocumented member.+shareInvitationSummary_workloadName :: Lens.Lens' ShareInvitationSummary (Prelude.Maybe Prelude.Text)+shareInvitationSummary_workloadName = Lens.lens (\ShareInvitationSummary' {workloadName} -> workloadName) (\s@ShareInvitationSummary' {} a -> s {workloadName = a} :: ShareInvitationSummary)++instance Data.FromJSON ShareInvitationSummary where+  parseJSON =+    Data.withObject+      "ShareInvitationSummary"+      ( \x ->+          ShareInvitationSummary'+            Prelude.<$> (x Data..:? "LensArn")+            Prelude.<*> (x Data..:? "LensName")+            Prelude.<*> (x Data..:? "PermissionType")+            Prelude.<*> (x Data..:? "ShareInvitationId")+            Prelude.<*> (x Data..:? "ShareResourceType")+            Prelude.<*> (x Data..:? "SharedBy")+            Prelude.<*> (x Data..:? "SharedWith")+            Prelude.<*> (x Data..:? "WorkloadId")+            Prelude.<*> (x Data..:? "WorkloadName")+      )++instance Prelude.Hashable ShareInvitationSummary where+  hashWithSalt _salt ShareInvitationSummary' {..} =+    _salt+      `Prelude.hashWithSalt` lensArn+      `Prelude.hashWithSalt` lensName+      `Prelude.hashWithSalt` permissionType+      `Prelude.hashWithSalt` shareInvitationId+      `Prelude.hashWithSalt` shareResourceType+      `Prelude.hashWithSalt` sharedBy+      `Prelude.hashWithSalt` sharedWith+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` workloadName++instance Prelude.NFData ShareInvitationSummary where+  rnf ShareInvitationSummary' {..} =+    Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf lensName+      `Prelude.seq` Prelude.rnf permissionType+      `Prelude.seq` Prelude.rnf shareInvitationId+      `Prelude.seq` Prelude.rnf shareResourceType+      `Prelude.seq` Prelude.rnf sharedBy+      `Prelude.seq` Prelude.rnf sharedWith+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf workloadName
+ gen/Amazonka/WellArchitected/Types/ShareResourceType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.ShareResourceType+-- 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.WellArchitected.Types.ShareResourceType+  ( ShareResourceType+      ( ..,+        ShareResourceType_LENS,+        ShareResourceType_WORKLOAD+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ShareResourceType = ShareResourceType'+  { fromShareResourceType ::+      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 ShareResourceType_LENS :: ShareResourceType+pattern ShareResourceType_LENS = ShareResourceType' "LENS"++pattern ShareResourceType_WORKLOAD :: ShareResourceType+pattern ShareResourceType_WORKLOAD = ShareResourceType' "WORKLOAD"++{-# COMPLETE+  ShareResourceType_LENS,+  ShareResourceType_WORKLOAD,+  ShareResourceType'+  #-}
+ gen/Amazonka/WellArchitected/Types/ShareStatus.hs view
@@ -0,0 +1,102 @@+{-# 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.WellArchitected.Types.ShareStatus+-- 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.WellArchitected.Types.ShareStatus+  ( ShareStatus+      ( ..,+        ShareStatus_ACCEPTED,+        ShareStatus_ASSOCIATED,+        ShareStatus_ASSOCIATING,+        ShareStatus_EXPIRED,+        ShareStatus_FAILED,+        ShareStatus_PENDING,+        ShareStatus_REJECTED,+        ShareStatus_REVOKED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status of a workload share.+newtype ShareStatus = ShareStatus'+  { fromShareStatus ::+      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 ShareStatus_ACCEPTED :: ShareStatus+pattern ShareStatus_ACCEPTED = ShareStatus' "ACCEPTED"++pattern ShareStatus_ASSOCIATED :: ShareStatus+pattern ShareStatus_ASSOCIATED = ShareStatus' "ASSOCIATED"++pattern ShareStatus_ASSOCIATING :: ShareStatus+pattern ShareStatus_ASSOCIATING = ShareStatus' "ASSOCIATING"++pattern ShareStatus_EXPIRED :: ShareStatus+pattern ShareStatus_EXPIRED = ShareStatus' "EXPIRED"++pattern ShareStatus_FAILED :: ShareStatus+pattern ShareStatus_FAILED = ShareStatus' "FAILED"++pattern ShareStatus_PENDING :: ShareStatus+pattern ShareStatus_PENDING = ShareStatus' "PENDING"++pattern ShareStatus_REJECTED :: ShareStatus+pattern ShareStatus_REJECTED = ShareStatus' "REJECTED"++pattern ShareStatus_REVOKED :: ShareStatus+pattern ShareStatus_REVOKED = ShareStatus' "REVOKED"++{-# COMPLETE+  ShareStatus_ACCEPTED,+  ShareStatus_ASSOCIATED,+  ShareStatus_ASSOCIATING,+  ShareStatus_EXPIRED,+  ShareStatus_FAILED,+  ShareStatus_PENDING,+  ShareStatus_REJECTED,+  ShareStatus_REVOKED,+  ShareStatus'+  #-}
+ gen/Amazonka/WellArchitected/Types/TrustedAdvisorIntegrationStatus.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.TrustedAdvisorIntegrationStatus+-- 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.WellArchitected.Types.TrustedAdvisorIntegrationStatus+  ( TrustedAdvisorIntegrationStatus+      ( ..,+        TrustedAdvisorIntegrationStatus_DISABLED,+        TrustedAdvisorIntegrationStatus_ENABLED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TrustedAdvisorIntegrationStatus = TrustedAdvisorIntegrationStatus'+  { fromTrustedAdvisorIntegrationStatus ::+      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 TrustedAdvisorIntegrationStatus_DISABLED :: TrustedAdvisorIntegrationStatus+pattern TrustedAdvisorIntegrationStatus_DISABLED = TrustedAdvisorIntegrationStatus' "DISABLED"++pattern TrustedAdvisorIntegrationStatus_ENABLED :: TrustedAdvisorIntegrationStatus+pattern TrustedAdvisorIntegrationStatus_ENABLED = TrustedAdvisorIntegrationStatus' "ENABLED"++{-# COMPLETE+  TrustedAdvisorIntegrationStatus_DISABLED,+  TrustedAdvisorIntegrationStatus_ENABLED,+  TrustedAdvisorIntegrationStatus'+  #-}
+ gen/Amazonka/WellArchitected/Types/VersionDifferences.hs view
@@ -0,0 +1,76 @@+{-# 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.WellArchitected.Types.VersionDifferences+-- 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.WellArchitected.Types.VersionDifferences 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.WellArchitected.Types.PillarDifference++-- | The differences between the base and latest versions of the lens.+--+-- /See:/ 'newVersionDifferences' smart constructor.+data VersionDifferences = VersionDifferences'+  { -- | The differences between the base and latest versions of the lens.+    pillarDifferences :: Prelude.Maybe [PillarDifference]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VersionDifferences' 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:+--+-- 'pillarDifferences', 'versionDifferences_pillarDifferences' - The differences between the base and latest versions of the lens.+newVersionDifferences ::+  VersionDifferences+newVersionDifferences =+  VersionDifferences'+    { pillarDifferences =+        Prelude.Nothing+    }++-- | The differences between the base and latest versions of the lens.+versionDifferences_pillarDifferences :: Lens.Lens' VersionDifferences (Prelude.Maybe [PillarDifference])+versionDifferences_pillarDifferences = Lens.lens (\VersionDifferences' {pillarDifferences} -> pillarDifferences) (\s@VersionDifferences' {} a -> s {pillarDifferences = a} :: VersionDifferences) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON VersionDifferences where+  parseJSON =+    Data.withObject+      "VersionDifferences"+      ( \x ->+          VersionDifferences'+            Prelude.<$> ( x+                            Data..:? "PillarDifferences"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable VersionDifferences where+  hashWithSalt _salt VersionDifferences' {..} =+    _salt `Prelude.hashWithSalt` pillarDifferences++instance Prelude.NFData VersionDifferences where+  rnf VersionDifferences' {..} =+    Prelude.rnf pillarDifferences
+ gen/Amazonka/WellArchitected/Types/Workload.hs view
@@ -0,0 +1,363 @@+{-# 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.WellArchitected.Types.Workload+-- 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.WellArchitected.Types.Workload 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.WellArchitected.Types.Risk+import Amazonka.WellArchitected.Types.WorkloadDiscoveryConfig+import Amazonka.WellArchitected.Types.WorkloadEnvironment+import Amazonka.WellArchitected.Types.WorkloadImprovementStatus++-- | A workload return object.+--+-- /See:/ 'newWorkload' smart constructor.+data Workload = Workload'+  { accountIds :: Prelude.Maybe [Prelude.Text],+    -- | List of AppRegistry application ARNs associated to the workload.+    applications :: Prelude.Maybe [Prelude.Text],+    architecturalDesign :: Prelude.Maybe Prelude.Text,+    awsRegions :: Prelude.Maybe [Prelude.Text],+    description :: Prelude.Maybe Prelude.Text,+    -- | Discovery configuration associated to the workload.+    discoveryConfig :: Prelude.Maybe WorkloadDiscoveryConfig,+    environment :: Prelude.Maybe WorkloadEnvironment,+    improvementStatus :: Prelude.Maybe WorkloadImprovementStatus,+    industry :: Prelude.Maybe Prelude.Text,+    industryType :: Prelude.Maybe Prelude.Text,+    -- | Flag indicating whether the workload owner has acknowledged that the+    -- /Review owner/ field is required.+    --+    -- If a __Review owner__ is not added to the workload within 60 days of+    -- acknowledgement, access to the workload is restricted until an owner is+    -- added.+    isReviewOwnerUpdateAcknowledged :: Prelude.Maybe Prelude.Bool,+    lenses :: Prelude.Maybe [Prelude.Text],+    nonAwsRegions :: Prelude.Maybe [Prelude.Text],+    notes :: Prelude.Maybe Prelude.Text,+    owner :: Prelude.Maybe Prelude.Text,+    pillarPriorities :: Prelude.Maybe [Prelude.Text],+    reviewOwner :: Prelude.Maybe Prelude.Text,+    reviewRestrictionDate :: Prelude.Maybe Data.POSIX,+    riskCounts :: Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural),+    -- | The ID assigned to the share invitation.+    shareInvitationId :: Prelude.Maybe Prelude.Text,+    -- | The tags associated with the workload.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    updatedAt :: Prelude.Maybe Data.POSIX,+    workloadArn :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Maybe Prelude.Text,+    workloadName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Workload' 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:+--+-- 'accountIds', 'workload_accountIds' - Undocumented member.+--+-- 'applications', 'workload_applications' - List of AppRegistry application ARNs associated to the workload.+--+-- 'architecturalDesign', 'workload_architecturalDesign' - Undocumented member.+--+-- 'awsRegions', 'workload_awsRegions' - Undocumented member.+--+-- 'description', 'workload_description' - Undocumented member.+--+-- 'discoveryConfig', 'workload_discoveryConfig' - Discovery configuration associated to the workload.+--+-- 'environment', 'workload_environment' - Undocumented member.+--+-- 'improvementStatus', 'workload_improvementStatus' - Undocumented member.+--+-- 'industry', 'workload_industry' - Undocumented member.+--+-- 'industryType', 'workload_industryType' - Undocumented member.+--+-- 'isReviewOwnerUpdateAcknowledged', 'workload_isReviewOwnerUpdateAcknowledged' - Flag indicating whether the workload owner has acknowledged that the+-- /Review owner/ field is required.+--+-- If a __Review owner__ is not added to the workload within 60 days of+-- acknowledgement, access to the workload is restricted until an owner is+-- added.+--+-- 'lenses', 'workload_lenses' - Undocumented member.+--+-- 'nonAwsRegions', 'workload_nonAwsRegions' - Undocumented member.+--+-- 'notes', 'workload_notes' - Undocumented member.+--+-- 'owner', 'workload_owner' - Undocumented member.+--+-- 'pillarPriorities', 'workload_pillarPriorities' - Undocumented member.+--+-- 'reviewOwner', 'workload_reviewOwner' - Undocumented member.+--+-- 'reviewRestrictionDate', 'workload_reviewRestrictionDate' - Undocumented member.+--+-- 'riskCounts', 'workload_riskCounts' - Undocumented member.+--+-- 'shareInvitationId', 'workload_shareInvitationId' - The ID assigned to the share invitation.+--+-- 'tags', 'workload_tags' - The tags associated with the workload.+--+-- 'updatedAt', 'workload_updatedAt' - Undocumented member.+--+-- 'workloadArn', 'workload_workloadArn' - Undocumented member.+--+-- 'workloadId', 'workload_workloadId' - Undocumented member.+--+-- 'workloadName', 'workload_workloadName' - Undocumented member.+newWorkload ::+  Workload+newWorkload =+  Workload'+    { accountIds = Prelude.Nothing,+      applications = Prelude.Nothing,+      architecturalDesign = Prelude.Nothing,+      awsRegions = Prelude.Nothing,+      description = Prelude.Nothing,+      discoveryConfig = Prelude.Nothing,+      environment = Prelude.Nothing,+      improvementStatus = Prelude.Nothing,+      industry = Prelude.Nothing,+      industryType = Prelude.Nothing,+      isReviewOwnerUpdateAcknowledged = Prelude.Nothing,+      lenses = Prelude.Nothing,+      nonAwsRegions = Prelude.Nothing,+      notes = Prelude.Nothing,+      owner = Prelude.Nothing,+      pillarPriorities = Prelude.Nothing,+      reviewOwner = Prelude.Nothing,+      reviewRestrictionDate = Prelude.Nothing,+      riskCounts = Prelude.Nothing,+      shareInvitationId = Prelude.Nothing,+      tags = Prelude.Nothing,+      updatedAt = Prelude.Nothing,+      workloadArn = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      workloadName = Prelude.Nothing+    }++-- | Undocumented member.+workload_accountIds :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])+workload_accountIds = Lens.lens (\Workload' {accountIds} -> accountIds) (\s@Workload' {} a -> s {accountIds = a} :: Workload) Prelude.. Lens.mapping Lens.coerced++-- | List of AppRegistry application ARNs associated to the workload.+workload_applications :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])+workload_applications = Lens.lens (\Workload' {applications} -> applications) (\s@Workload' {} a -> s {applications = a} :: Workload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+workload_architecturalDesign :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)+workload_architecturalDesign = Lens.lens (\Workload' {architecturalDesign} -> architecturalDesign) (\s@Workload' {} a -> s {architecturalDesign = a} :: Workload)++-- | Undocumented member.+workload_awsRegions :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])+workload_awsRegions = Lens.lens (\Workload' {awsRegions} -> awsRegions) (\s@Workload' {} a -> s {awsRegions = a} :: Workload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+workload_description :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)+workload_description = Lens.lens (\Workload' {description} -> description) (\s@Workload' {} a -> s {description = a} :: Workload)++-- | Discovery configuration associated to the workload.+workload_discoveryConfig :: Lens.Lens' Workload (Prelude.Maybe WorkloadDiscoveryConfig)+workload_discoveryConfig = Lens.lens (\Workload' {discoveryConfig} -> discoveryConfig) (\s@Workload' {} a -> s {discoveryConfig = a} :: Workload)++-- | Undocumented member.+workload_environment :: Lens.Lens' Workload (Prelude.Maybe WorkloadEnvironment)+workload_environment = Lens.lens (\Workload' {environment} -> environment) (\s@Workload' {} a -> s {environment = a} :: Workload)++-- | Undocumented member.+workload_improvementStatus :: Lens.Lens' Workload (Prelude.Maybe WorkloadImprovementStatus)+workload_improvementStatus = Lens.lens (\Workload' {improvementStatus} -> improvementStatus) (\s@Workload' {} a -> s {improvementStatus = a} :: Workload)++-- | Undocumented member.+workload_industry :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)+workload_industry = Lens.lens (\Workload' {industry} -> industry) (\s@Workload' {} a -> s {industry = a} :: Workload)++-- | Undocumented member.+workload_industryType :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)+workload_industryType = Lens.lens (\Workload' {industryType} -> industryType) (\s@Workload' {} a -> s {industryType = a} :: Workload)++-- | Flag indicating whether the workload owner has acknowledged that the+-- /Review owner/ field is required.+--+-- If a __Review owner__ is not added to the workload within 60 days of+-- acknowledgement, access to the workload is restricted until an owner is+-- added.+workload_isReviewOwnerUpdateAcknowledged :: Lens.Lens' Workload (Prelude.Maybe Prelude.Bool)+workload_isReviewOwnerUpdateAcknowledged = Lens.lens (\Workload' {isReviewOwnerUpdateAcknowledged} -> isReviewOwnerUpdateAcknowledged) (\s@Workload' {} a -> s {isReviewOwnerUpdateAcknowledged = a} :: Workload)++-- | Undocumented member.+workload_lenses :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])+workload_lenses = Lens.lens (\Workload' {lenses} -> lenses) (\s@Workload' {} a -> s {lenses = a} :: Workload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+workload_nonAwsRegions :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])+workload_nonAwsRegions = Lens.lens (\Workload' {nonAwsRegions} -> nonAwsRegions) (\s@Workload' {} a -> s {nonAwsRegions = a} :: Workload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+workload_notes :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)+workload_notes = Lens.lens (\Workload' {notes} -> notes) (\s@Workload' {} a -> s {notes = a} :: Workload)++-- | Undocumented member.+workload_owner :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)+workload_owner = Lens.lens (\Workload' {owner} -> owner) (\s@Workload' {} a -> s {owner = a} :: Workload)++-- | Undocumented member.+workload_pillarPriorities :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])+workload_pillarPriorities = Lens.lens (\Workload' {pillarPriorities} -> pillarPriorities) (\s@Workload' {} a -> s {pillarPriorities = a} :: Workload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+workload_reviewOwner :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)+workload_reviewOwner = Lens.lens (\Workload' {reviewOwner} -> reviewOwner) (\s@Workload' {} a -> s {reviewOwner = a} :: Workload)++-- | Undocumented member.+workload_reviewRestrictionDate :: Lens.Lens' Workload (Prelude.Maybe Prelude.UTCTime)+workload_reviewRestrictionDate = Lens.lens (\Workload' {reviewRestrictionDate} -> reviewRestrictionDate) (\s@Workload' {} a -> s {reviewRestrictionDate = a} :: Workload) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+workload_riskCounts :: Lens.Lens' Workload (Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural))+workload_riskCounts = Lens.lens (\Workload' {riskCounts} -> riskCounts) (\s@Workload' {} a -> s {riskCounts = a} :: Workload) Prelude.. Lens.mapping Lens.coerced++-- | The ID assigned to the share invitation.+workload_shareInvitationId :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)+workload_shareInvitationId = Lens.lens (\Workload' {shareInvitationId} -> shareInvitationId) (\s@Workload' {} a -> s {shareInvitationId = a} :: Workload)++-- | The tags associated with the workload.+workload_tags :: Lens.Lens' Workload (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+workload_tags = Lens.lens (\Workload' {tags} -> tags) (\s@Workload' {} a -> s {tags = a} :: Workload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+workload_updatedAt :: Lens.Lens' Workload (Prelude.Maybe Prelude.UTCTime)+workload_updatedAt = Lens.lens (\Workload' {updatedAt} -> updatedAt) (\s@Workload' {} a -> s {updatedAt = a} :: Workload) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+workload_workloadArn :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)+workload_workloadArn = Lens.lens (\Workload' {workloadArn} -> workloadArn) (\s@Workload' {} a -> s {workloadArn = a} :: Workload)++-- | Undocumented member.+workload_workloadId :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)+workload_workloadId = Lens.lens (\Workload' {workloadId} -> workloadId) (\s@Workload' {} a -> s {workloadId = a} :: Workload)++-- | Undocumented member.+workload_workloadName :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)+workload_workloadName = Lens.lens (\Workload' {workloadName} -> workloadName) (\s@Workload' {} a -> s {workloadName = a} :: Workload)++instance Data.FromJSON Workload where+  parseJSON =+    Data.withObject+      "Workload"+      ( \x ->+          Workload'+            Prelude.<$> (x Data..:? "AccountIds" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Applications" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ArchitecturalDesign")+            Prelude.<*> (x Data..:? "AwsRegions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "DiscoveryConfig")+            Prelude.<*> (x Data..:? "Environment")+            Prelude.<*> (x Data..:? "ImprovementStatus")+            Prelude.<*> (x Data..:? "Industry")+            Prelude.<*> (x Data..:? "IndustryType")+            Prelude.<*> (x Data..:? "IsReviewOwnerUpdateAcknowledged")+            Prelude.<*> (x Data..:? "Lenses" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "NonAwsRegions" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Notes")+            Prelude.<*> (x Data..:? "Owner")+            Prelude.<*> ( x+                            Data..:? "PillarPriorities"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "ReviewOwner")+            Prelude.<*> (x Data..:? "ReviewRestrictionDate")+            Prelude.<*> (x Data..:? "RiskCounts" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ShareInvitationId")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "UpdatedAt")+            Prelude.<*> (x Data..:? "WorkloadArn")+            Prelude.<*> (x Data..:? "WorkloadId")+            Prelude.<*> (x Data..:? "WorkloadName")+      )++instance Prelude.Hashable Workload where+  hashWithSalt _salt Workload' {..} =+    _salt+      `Prelude.hashWithSalt` accountIds+      `Prelude.hashWithSalt` applications+      `Prelude.hashWithSalt` architecturalDesign+      `Prelude.hashWithSalt` awsRegions+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` discoveryConfig+      `Prelude.hashWithSalt` environment+      `Prelude.hashWithSalt` improvementStatus+      `Prelude.hashWithSalt` industry+      `Prelude.hashWithSalt` industryType+      `Prelude.hashWithSalt` isReviewOwnerUpdateAcknowledged+      `Prelude.hashWithSalt` lenses+      `Prelude.hashWithSalt` nonAwsRegions+      `Prelude.hashWithSalt` notes+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` pillarPriorities+      `Prelude.hashWithSalt` reviewOwner+      `Prelude.hashWithSalt` reviewRestrictionDate+      `Prelude.hashWithSalt` riskCounts+      `Prelude.hashWithSalt` shareInvitationId+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` updatedAt+      `Prelude.hashWithSalt` workloadArn+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` workloadName++instance Prelude.NFData Workload where+  rnf Workload' {..} =+    Prelude.rnf accountIds+      `Prelude.seq` Prelude.rnf applications+      `Prelude.seq` Prelude.rnf architecturalDesign+      `Prelude.seq` Prelude.rnf awsRegions+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf discoveryConfig+      `Prelude.seq` Prelude.rnf environment+      `Prelude.seq` Prelude.rnf improvementStatus+      `Prelude.seq` Prelude.rnf industry+      `Prelude.seq` Prelude.rnf industryType+      `Prelude.seq` Prelude.rnf isReviewOwnerUpdateAcknowledged+      `Prelude.seq` Prelude.rnf lenses+      `Prelude.seq` Prelude.rnf nonAwsRegions+      `Prelude.seq` Prelude.rnf notes+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf pillarPriorities+      `Prelude.seq` Prelude.rnf reviewOwner+      `Prelude.seq` Prelude.rnf reviewRestrictionDate+      `Prelude.seq` Prelude.rnf riskCounts+      `Prelude.seq` Prelude.rnf shareInvitationId+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf updatedAt+      `Prelude.seq` Prelude.rnf workloadArn+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf+        workloadName
+ gen/Amazonka/WellArchitected/Types/WorkloadDiscoveryConfig.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.WellArchitected.Types.WorkloadDiscoveryConfig+-- 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.WellArchitected.Types.WorkloadDiscoveryConfig 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.WellArchitected.Types.TrustedAdvisorIntegrationStatus++-- | Discovery configuration associated to the workload.+--+-- /See:/ 'newWorkloadDiscoveryConfig' smart constructor.+data WorkloadDiscoveryConfig = WorkloadDiscoveryConfig'+  { -- | Discovery integration status in respect to Trusted Advisor for the+    -- workload.+    trustedAdvisorIntegrationStatus :: Prelude.Maybe TrustedAdvisorIntegrationStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkloadDiscoveryConfig' 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:+--+-- 'trustedAdvisorIntegrationStatus', 'workloadDiscoveryConfig_trustedAdvisorIntegrationStatus' - Discovery integration status in respect to Trusted Advisor for the+-- workload.+newWorkloadDiscoveryConfig ::+  WorkloadDiscoveryConfig+newWorkloadDiscoveryConfig =+  WorkloadDiscoveryConfig'+    { trustedAdvisorIntegrationStatus =+        Prelude.Nothing+    }++-- | Discovery integration status in respect to Trusted Advisor for the+-- workload.+workloadDiscoveryConfig_trustedAdvisorIntegrationStatus :: Lens.Lens' WorkloadDiscoveryConfig (Prelude.Maybe TrustedAdvisorIntegrationStatus)+workloadDiscoveryConfig_trustedAdvisorIntegrationStatus = Lens.lens (\WorkloadDiscoveryConfig' {trustedAdvisorIntegrationStatus} -> trustedAdvisorIntegrationStatus) (\s@WorkloadDiscoveryConfig' {} a -> s {trustedAdvisorIntegrationStatus = a} :: WorkloadDiscoveryConfig)++instance Data.FromJSON WorkloadDiscoveryConfig where+  parseJSON =+    Data.withObject+      "WorkloadDiscoveryConfig"+      ( \x ->+          WorkloadDiscoveryConfig'+            Prelude.<$> (x Data..:? "TrustedAdvisorIntegrationStatus")+      )++instance Prelude.Hashable WorkloadDiscoveryConfig where+  hashWithSalt _salt WorkloadDiscoveryConfig' {..} =+    _salt+      `Prelude.hashWithSalt` trustedAdvisorIntegrationStatus++instance Prelude.NFData WorkloadDiscoveryConfig where+  rnf WorkloadDiscoveryConfig' {..} =+    Prelude.rnf trustedAdvisorIntegrationStatus++instance Data.ToJSON WorkloadDiscoveryConfig where+  toJSON WorkloadDiscoveryConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TrustedAdvisorIntegrationStatus" Data..=)+              Prelude.<$> trustedAdvisorIntegrationStatus+          ]+      )
+ gen/Amazonka/WellArchitected/Types/WorkloadEnvironment.hs view
@@ -0,0 +1,72 @@+{-# 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.WellArchitected.Types.WorkloadEnvironment+-- 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.WellArchitected.Types.WorkloadEnvironment+  ( WorkloadEnvironment+      ( ..,+        WorkloadEnvironment_PREPRODUCTION,+        WorkloadEnvironment_PRODUCTION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The environment for the workload.+newtype WorkloadEnvironment = WorkloadEnvironment'+  { fromWorkloadEnvironment ::+      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 WorkloadEnvironment_PREPRODUCTION :: WorkloadEnvironment+pattern WorkloadEnvironment_PREPRODUCTION = WorkloadEnvironment' "PREPRODUCTION"++pattern WorkloadEnvironment_PRODUCTION :: WorkloadEnvironment+pattern WorkloadEnvironment_PRODUCTION = WorkloadEnvironment' "PRODUCTION"++{-# COMPLETE+  WorkloadEnvironment_PREPRODUCTION,+  WorkloadEnvironment_PRODUCTION,+  WorkloadEnvironment'+  #-}
+ gen/Amazonka/WellArchitected/Types/WorkloadImprovementStatus.hs view
@@ -0,0 +1,87 @@+{-# 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.WellArchitected.Types.WorkloadImprovementStatus+-- 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.WellArchitected.Types.WorkloadImprovementStatus+  ( WorkloadImprovementStatus+      ( ..,+        WorkloadImprovementStatus_COMPLETE,+        WorkloadImprovementStatus_IN_PROGRESS,+        WorkloadImprovementStatus_NOT_APPLICABLE,+        WorkloadImprovementStatus_NOT_STARTED,+        WorkloadImprovementStatus_RISK_ACKNOWLEDGED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The improvement status for a workload.+newtype WorkloadImprovementStatus = WorkloadImprovementStatus'+  { fromWorkloadImprovementStatus ::+      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 WorkloadImprovementStatus_COMPLETE :: WorkloadImprovementStatus+pattern WorkloadImprovementStatus_COMPLETE = WorkloadImprovementStatus' "COMPLETE"++pattern WorkloadImprovementStatus_IN_PROGRESS :: WorkloadImprovementStatus+pattern WorkloadImprovementStatus_IN_PROGRESS = WorkloadImprovementStatus' "IN_PROGRESS"++pattern WorkloadImprovementStatus_NOT_APPLICABLE :: WorkloadImprovementStatus+pattern WorkloadImprovementStatus_NOT_APPLICABLE = WorkloadImprovementStatus' "NOT_APPLICABLE"++pattern WorkloadImprovementStatus_NOT_STARTED :: WorkloadImprovementStatus+pattern WorkloadImprovementStatus_NOT_STARTED = WorkloadImprovementStatus' "NOT_STARTED"++pattern WorkloadImprovementStatus_RISK_ACKNOWLEDGED :: WorkloadImprovementStatus+pattern WorkloadImprovementStatus_RISK_ACKNOWLEDGED = WorkloadImprovementStatus' "RISK_ACKNOWLEDGED"++{-# COMPLETE+  WorkloadImprovementStatus_COMPLETE,+  WorkloadImprovementStatus_IN_PROGRESS,+  WorkloadImprovementStatus_NOT_APPLICABLE,+  WorkloadImprovementStatus_NOT_STARTED,+  WorkloadImprovementStatus_RISK_ACKNOWLEDGED,+  WorkloadImprovementStatus'+  #-}
+ gen/Amazonka/WellArchitected/Types/WorkloadShare.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.WellArchitected.Types.WorkloadShare+-- 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.WellArchitected.Types.WorkloadShare 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.WellArchitected.Types.PermissionType+import Amazonka.WellArchitected.Types.ShareStatus++-- | A workload share return object.+--+-- /See:/ 'newWorkloadShare' smart constructor.+data WorkloadShare = WorkloadShare'+  { permissionType :: Prelude.Maybe PermissionType,+    shareId :: Prelude.Maybe Prelude.Text,+    sharedBy :: Prelude.Maybe Prelude.Text,+    sharedWith :: Prelude.Maybe Prelude.Text,+    status :: Prelude.Maybe ShareStatus,+    workloadId :: Prelude.Maybe Prelude.Text,+    workloadName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkloadShare' 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:+--+-- 'permissionType', 'workloadShare_permissionType' - Undocumented member.+--+-- 'shareId', 'workloadShare_shareId' - Undocumented member.+--+-- 'sharedBy', 'workloadShare_sharedBy' - Undocumented member.+--+-- 'sharedWith', 'workloadShare_sharedWith' - Undocumented member.+--+-- 'status', 'workloadShare_status' - Undocumented member.+--+-- 'workloadId', 'workloadShare_workloadId' - Undocumented member.+--+-- 'workloadName', 'workloadShare_workloadName' - Undocumented member.+newWorkloadShare ::+  WorkloadShare+newWorkloadShare =+  WorkloadShare'+    { permissionType = Prelude.Nothing,+      shareId = Prelude.Nothing,+      sharedBy = Prelude.Nothing,+      sharedWith = Prelude.Nothing,+      status = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      workloadName = Prelude.Nothing+    }++-- | Undocumented member.+workloadShare_permissionType :: Lens.Lens' WorkloadShare (Prelude.Maybe PermissionType)+workloadShare_permissionType = Lens.lens (\WorkloadShare' {permissionType} -> permissionType) (\s@WorkloadShare' {} a -> s {permissionType = a} :: WorkloadShare)++-- | Undocumented member.+workloadShare_shareId :: Lens.Lens' WorkloadShare (Prelude.Maybe Prelude.Text)+workloadShare_shareId = Lens.lens (\WorkloadShare' {shareId} -> shareId) (\s@WorkloadShare' {} a -> s {shareId = a} :: WorkloadShare)++-- | Undocumented member.+workloadShare_sharedBy :: Lens.Lens' WorkloadShare (Prelude.Maybe Prelude.Text)+workloadShare_sharedBy = Lens.lens (\WorkloadShare' {sharedBy} -> sharedBy) (\s@WorkloadShare' {} a -> s {sharedBy = a} :: WorkloadShare)++-- | Undocumented member.+workloadShare_sharedWith :: Lens.Lens' WorkloadShare (Prelude.Maybe Prelude.Text)+workloadShare_sharedWith = Lens.lens (\WorkloadShare' {sharedWith} -> sharedWith) (\s@WorkloadShare' {} a -> s {sharedWith = a} :: WorkloadShare)++-- | Undocumented member.+workloadShare_status :: Lens.Lens' WorkloadShare (Prelude.Maybe ShareStatus)+workloadShare_status = Lens.lens (\WorkloadShare' {status} -> status) (\s@WorkloadShare' {} a -> s {status = a} :: WorkloadShare)++-- | Undocumented member.+workloadShare_workloadId :: Lens.Lens' WorkloadShare (Prelude.Maybe Prelude.Text)+workloadShare_workloadId = Lens.lens (\WorkloadShare' {workloadId} -> workloadId) (\s@WorkloadShare' {} a -> s {workloadId = a} :: WorkloadShare)++-- | Undocumented member.+workloadShare_workloadName :: Lens.Lens' WorkloadShare (Prelude.Maybe Prelude.Text)+workloadShare_workloadName = Lens.lens (\WorkloadShare' {workloadName} -> workloadName) (\s@WorkloadShare' {} a -> s {workloadName = a} :: WorkloadShare)++instance Data.FromJSON WorkloadShare where+  parseJSON =+    Data.withObject+      "WorkloadShare"+      ( \x ->+          WorkloadShare'+            Prelude.<$> (x Data..:? "PermissionType")+            Prelude.<*> (x Data..:? "ShareId")+            Prelude.<*> (x Data..:? "SharedBy")+            Prelude.<*> (x Data..:? "SharedWith")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "WorkloadId")+            Prelude.<*> (x Data..:? "WorkloadName")+      )++instance Prelude.Hashable WorkloadShare where+  hashWithSalt _salt WorkloadShare' {..} =+    _salt+      `Prelude.hashWithSalt` permissionType+      `Prelude.hashWithSalt` shareId+      `Prelude.hashWithSalt` sharedBy+      `Prelude.hashWithSalt` sharedWith+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` workloadName++instance Prelude.NFData WorkloadShare where+  rnf WorkloadShare' {..} =+    Prelude.rnf permissionType+      `Prelude.seq` Prelude.rnf shareId+      `Prelude.seq` Prelude.rnf sharedBy+      `Prelude.seq` Prelude.rnf sharedWith+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf workloadName
+ gen/Amazonka/WellArchitected/Types/WorkloadShareSummary.hs view
@@ -0,0 +1,119 @@+{-# 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.WellArchitected.Types.WorkloadShareSummary+-- 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.WellArchitected.Types.WorkloadShareSummary 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.WellArchitected.Types.PermissionType+import Amazonka.WellArchitected.Types.ShareStatus++-- | A workload share summary return object.+--+-- /See:/ 'newWorkloadShareSummary' smart constructor.+data WorkloadShareSummary = WorkloadShareSummary'+  { permissionType :: Prelude.Maybe PermissionType,+    shareId :: Prelude.Maybe Prelude.Text,+    sharedWith :: Prelude.Maybe Prelude.Text,+    status :: Prelude.Maybe ShareStatus,+    -- | Optional message to compliment the Status field.+    statusMessage :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkloadShareSummary' 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:+--+-- 'permissionType', 'workloadShareSummary_permissionType' - Undocumented member.+--+-- 'shareId', 'workloadShareSummary_shareId' - Undocumented member.+--+-- 'sharedWith', 'workloadShareSummary_sharedWith' - Undocumented member.+--+-- 'status', 'workloadShareSummary_status' - Undocumented member.+--+-- 'statusMessage', 'workloadShareSummary_statusMessage' - Optional message to compliment the Status field.+newWorkloadShareSummary ::+  WorkloadShareSummary+newWorkloadShareSummary =+  WorkloadShareSummary'+    { permissionType =+        Prelude.Nothing,+      shareId = Prelude.Nothing,+      sharedWith = Prelude.Nothing,+      status = Prelude.Nothing,+      statusMessage = Prelude.Nothing+    }++-- | Undocumented member.+workloadShareSummary_permissionType :: Lens.Lens' WorkloadShareSummary (Prelude.Maybe PermissionType)+workloadShareSummary_permissionType = Lens.lens (\WorkloadShareSummary' {permissionType} -> permissionType) (\s@WorkloadShareSummary' {} a -> s {permissionType = a} :: WorkloadShareSummary)++-- | Undocumented member.+workloadShareSummary_shareId :: Lens.Lens' WorkloadShareSummary (Prelude.Maybe Prelude.Text)+workloadShareSummary_shareId = Lens.lens (\WorkloadShareSummary' {shareId} -> shareId) (\s@WorkloadShareSummary' {} a -> s {shareId = a} :: WorkloadShareSummary)++-- | Undocumented member.+workloadShareSummary_sharedWith :: Lens.Lens' WorkloadShareSummary (Prelude.Maybe Prelude.Text)+workloadShareSummary_sharedWith = Lens.lens (\WorkloadShareSummary' {sharedWith} -> sharedWith) (\s@WorkloadShareSummary' {} a -> s {sharedWith = a} :: WorkloadShareSummary)++-- | Undocumented member.+workloadShareSummary_status :: Lens.Lens' WorkloadShareSummary (Prelude.Maybe ShareStatus)+workloadShareSummary_status = Lens.lens (\WorkloadShareSummary' {status} -> status) (\s@WorkloadShareSummary' {} a -> s {status = a} :: WorkloadShareSummary)++-- | Optional message to compliment the Status field.+workloadShareSummary_statusMessage :: Lens.Lens' WorkloadShareSummary (Prelude.Maybe Prelude.Text)+workloadShareSummary_statusMessage = Lens.lens (\WorkloadShareSummary' {statusMessage} -> statusMessage) (\s@WorkloadShareSummary' {} a -> s {statusMessage = a} :: WorkloadShareSummary)++instance Data.FromJSON WorkloadShareSummary where+  parseJSON =+    Data.withObject+      "WorkloadShareSummary"+      ( \x ->+          WorkloadShareSummary'+            Prelude.<$> (x Data..:? "PermissionType")+            Prelude.<*> (x Data..:? "ShareId")+            Prelude.<*> (x Data..:? "SharedWith")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "StatusMessage")+      )++instance Prelude.Hashable WorkloadShareSummary where+  hashWithSalt _salt WorkloadShareSummary' {..} =+    _salt+      `Prelude.hashWithSalt` permissionType+      `Prelude.hashWithSalt` shareId+      `Prelude.hashWithSalt` sharedWith+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData WorkloadShareSummary where+  rnf WorkloadShareSummary' {..} =+    Prelude.rnf permissionType+      `Prelude.seq` Prelude.rnf shareId+      `Prelude.seq` Prelude.rnf sharedWith+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/WellArchitected/Types/WorkloadSummary.hs view
@@ -0,0 +1,151 @@+{-# 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.WellArchitected.Types.WorkloadSummary+-- 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.WellArchitected.Types.WorkloadSummary 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.WellArchitected.Types.Risk+import Amazonka.WellArchitected.Types.WorkloadImprovementStatus++-- | A workload summary return object.+--+-- /See:/ 'newWorkloadSummary' smart constructor.+data WorkloadSummary = WorkloadSummary'+  { improvementStatus :: Prelude.Maybe WorkloadImprovementStatus,+    lenses :: Prelude.Maybe [Prelude.Text],+    owner :: Prelude.Maybe Prelude.Text,+    riskCounts :: Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural),+    updatedAt :: Prelude.Maybe Data.POSIX,+    workloadArn :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Maybe Prelude.Text,+    workloadName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkloadSummary' 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:+--+-- 'improvementStatus', 'workloadSummary_improvementStatus' - Undocumented member.+--+-- 'lenses', 'workloadSummary_lenses' - Undocumented member.+--+-- 'owner', 'workloadSummary_owner' - Undocumented member.+--+-- 'riskCounts', 'workloadSummary_riskCounts' - Undocumented member.+--+-- 'updatedAt', 'workloadSummary_updatedAt' - Undocumented member.+--+-- 'workloadArn', 'workloadSummary_workloadArn' - Undocumented member.+--+-- 'workloadId', 'workloadSummary_workloadId' - Undocumented member.+--+-- 'workloadName', 'workloadSummary_workloadName' - Undocumented member.+newWorkloadSummary ::+  WorkloadSummary+newWorkloadSummary =+  WorkloadSummary'+    { improvementStatus =+        Prelude.Nothing,+      lenses = Prelude.Nothing,+      owner = Prelude.Nothing,+      riskCounts = Prelude.Nothing,+      updatedAt = Prelude.Nothing,+      workloadArn = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      workloadName = Prelude.Nothing+    }++-- | Undocumented member.+workloadSummary_improvementStatus :: Lens.Lens' WorkloadSummary (Prelude.Maybe WorkloadImprovementStatus)+workloadSummary_improvementStatus = Lens.lens (\WorkloadSummary' {improvementStatus} -> improvementStatus) (\s@WorkloadSummary' {} a -> s {improvementStatus = a} :: WorkloadSummary)++-- | Undocumented member.+workloadSummary_lenses :: Lens.Lens' WorkloadSummary (Prelude.Maybe [Prelude.Text])+workloadSummary_lenses = Lens.lens (\WorkloadSummary' {lenses} -> lenses) (\s@WorkloadSummary' {} a -> s {lenses = a} :: WorkloadSummary) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+workloadSummary_owner :: Lens.Lens' WorkloadSummary (Prelude.Maybe Prelude.Text)+workloadSummary_owner = Lens.lens (\WorkloadSummary' {owner} -> owner) (\s@WorkloadSummary' {} a -> s {owner = a} :: WorkloadSummary)++-- | Undocumented member.+workloadSummary_riskCounts :: Lens.Lens' WorkloadSummary (Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural))+workloadSummary_riskCounts = Lens.lens (\WorkloadSummary' {riskCounts} -> riskCounts) (\s@WorkloadSummary' {} a -> s {riskCounts = a} :: WorkloadSummary) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+workloadSummary_updatedAt :: Lens.Lens' WorkloadSummary (Prelude.Maybe Prelude.UTCTime)+workloadSummary_updatedAt = Lens.lens (\WorkloadSummary' {updatedAt} -> updatedAt) (\s@WorkloadSummary' {} a -> s {updatedAt = a} :: WorkloadSummary) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+workloadSummary_workloadArn :: Lens.Lens' WorkloadSummary (Prelude.Maybe Prelude.Text)+workloadSummary_workloadArn = Lens.lens (\WorkloadSummary' {workloadArn} -> workloadArn) (\s@WorkloadSummary' {} a -> s {workloadArn = a} :: WorkloadSummary)++-- | Undocumented member.+workloadSummary_workloadId :: Lens.Lens' WorkloadSummary (Prelude.Maybe Prelude.Text)+workloadSummary_workloadId = Lens.lens (\WorkloadSummary' {workloadId} -> workloadId) (\s@WorkloadSummary' {} a -> s {workloadId = a} :: WorkloadSummary)++-- | Undocumented member.+workloadSummary_workloadName :: Lens.Lens' WorkloadSummary (Prelude.Maybe Prelude.Text)+workloadSummary_workloadName = Lens.lens (\WorkloadSummary' {workloadName} -> workloadName) (\s@WorkloadSummary' {} a -> s {workloadName = a} :: WorkloadSummary)++instance Data.FromJSON WorkloadSummary where+  parseJSON =+    Data.withObject+      "WorkloadSummary"+      ( \x ->+          WorkloadSummary'+            Prelude.<$> (x Data..:? "ImprovementStatus")+            Prelude.<*> (x Data..:? "Lenses" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Owner")+            Prelude.<*> (x Data..:? "RiskCounts" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "UpdatedAt")+            Prelude.<*> (x Data..:? "WorkloadArn")+            Prelude.<*> (x Data..:? "WorkloadId")+            Prelude.<*> (x Data..:? "WorkloadName")+      )++instance Prelude.Hashable WorkloadSummary where+  hashWithSalt _salt WorkloadSummary' {..} =+    _salt+      `Prelude.hashWithSalt` improvementStatus+      `Prelude.hashWithSalt` lenses+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` riskCounts+      `Prelude.hashWithSalt` updatedAt+      `Prelude.hashWithSalt` workloadArn+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` workloadName++instance Prelude.NFData WorkloadSummary where+  rnf WorkloadSummary' {..} =+    Prelude.rnf improvementStatus+      `Prelude.seq` Prelude.rnf lenses+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf riskCounts+      `Prelude.seq` Prelude.rnf updatedAt+      `Prelude.seq` Prelude.rnf workloadArn+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf workloadName
+ gen/Amazonka/WellArchitected/UntagResource.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.WellArchitected.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes specified tags from a resource.+--+-- The WorkloadArn parameter can be either a workload ARN or a custom lens+-- ARN.+--+-- To specify multiple tags, use separate __tagKeys__ parameters, for+-- example:+--+-- @DELETE \/tags\/WorkloadArn?tagKeys=key1&tagKeys=key2@+module Amazonka.WellArchitected.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_workloadArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_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.WellArchitected.Types++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { workloadArn :: Prelude.Text,+    -- | A list of tag keys. Existing tags of the resource whose keys are members+    -- of this list are removed from the resource.+    tagKeys :: Prelude.NonEmpty 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:+--+-- 'workloadArn', 'untagResource_workloadArn' - Undocumented member.+--+-- 'tagKeys', 'untagResource_tagKeys' - A list of tag keys. Existing tags of the resource whose keys are members+-- of this list are removed from the resource.+newUntagResource ::+  -- | 'workloadArn'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pWorkloadArn_ pTagKeys_ =+  UntagResource'+    { workloadArn = pWorkloadArn_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | Undocumented member.+untagResource_workloadArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_workloadArn = Lens.lens (\UntagResource' {workloadArn} -> workloadArn) (\s@UntagResource' {} a -> s {workloadArn = a} :: UntagResource)++-- | A list of tag keys. Existing tags of the resource whose keys are members+-- of this list are removed from the resource.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` workloadArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf workloadArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS workloadArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  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.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/UpdateAnswer.hs view
@@ -0,0 +1,301 @@+{-# 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.WellArchitected.UpdateAnswer+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update the answer to a specific question in a workload review.+module Amazonka.WellArchitected.UpdateAnswer+  ( -- * Creating a Request+    UpdateAnswer (..),+    newUpdateAnswer,++    -- * Request Lenses+    updateAnswer_choiceUpdates,+    updateAnswer_isApplicable,+    updateAnswer_notes,+    updateAnswer_reason,+    updateAnswer_selectedChoices,+    updateAnswer_workloadId,+    updateAnswer_lensAlias,+    updateAnswer_questionId,++    -- * Destructuring the Response+    UpdateAnswerResponse (..),+    newUpdateAnswerResponse,++    -- * Response Lenses+    updateAnswerResponse_answer,+    updateAnswerResponse_lensAlias,+    updateAnswerResponse_lensArn,+    updateAnswerResponse_workloadId,+    updateAnswerResponse_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.WellArchitected.Types++-- | Input to update answer.+--+-- /See:/ 'newUpdateAnswer' smart constructor.+data UpdateAnswer = UpdateAnswer'+  { -- | A list of choices to update on a question in your workload. The String+    -- key corresponds to the choice ID to be updated.+    choiceUpdates :: Prelude.Maybe (Prelude.HashMap Prelude.Text ChoiceUpdate),+    isApplicable :: Prelude.Maybe Prelude.Bool,+    notes :: Prelude.Maybe Prelude.Text,+    -- | The reason why a question is not applicable to your workload.+    reason :: Prelude.Maybe AnswerReason,+    selectedChoices :: Prelude.Maybe [Prelude.Text],+    workloadId :: Prelude.Text,+    lensAlias :: Prelude.Text,+    questionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAnswer' 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:+--+-- 'choiceUpdates', 'updateAnswer_choiceUpdates' - A list of choices to update on a question in your workload. The String+-- key corresponds to the choice ID to be updated.+--+-- 'isApplicable', 'updateAnswer_isApplicable' - Undocumented member.+--+-- 'notes', 'updateAnswer_notes' - Undocumented member.+--+-- 'reason', 'updateAnswer_reason' - The reason why a question is not applicable to your workload.+--+-- 'selectedChoices', 'updateAnswer_selectedChoices' - Undocumented member.+--+-- 'workloadId', 'updateAnswer_workloadId' - Undocumented member.+--+-- 'lensAlias', 'updateAnswer_lensAlias' - Undocumented member.+--+-- 'questionId', 'updateAnswer_questionId' - Undocumented member.+newUpdateAnswer ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'lensAlias'+  Prelude.Text ->+  -- | 'questionId'+  Prelude.Text ->+  UpdateAnswer+newUpdateAnswer pWorkloadId_ pLensAlias_ pQuestionId_ =+  UpdateAnswer'+    { choiceUpdates = Prelude.Nothing,+      isApplicable = Prelude.Nothing,+      notes = Prelude.Nothing,+      reason = Prelude.Nothing,+      selectedChoices = Prelude.Nothing,+      workloadId = pWorkloadId_,+      lensAlias = pLensAlias_,+      questionId = pQuestionId_+    }++-- | A list of choices to update on a question in your workload. The String+-- key corresponds to the choice ID to be updated.+updateAnswer_choiceUpdates :: Lens.Lens' UpdateAnswer (Prelude.Maybe (Prelude.HashMap Prelude.Text ChoiceUpdate))+updateAnswer_choiceUpdates = Lens.lens (\UpdateAnswer' {choiceUpdates} -> choiceUpdates) (\s@UpdateAnswer' {} a -> s {choiceUpdates = a} :: UpdateAnswer) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateAnswer_isApplicable :: Lens.Lens' UpdateAnswer (Prelude.Maybe Prelude.Bool)+updateAnswer_isApplicable = Lens.lens (\UpdateAnswer' {isApplicable} -> isApplicable) (\s@UpdateAnswer' {} a -> s {isApplicable = a} :: UpdateAnswer)++-- | Undocumented member.+updateAnswer_notes :: Lens.Lens' UpdateAnswer (Prelude.Maybe Prelude.Text)+updateAnswer_notes = Lens.lens (\UpdateAnswer' {notes} -> notes) (\s@UpdateAnswer' {} a -> s {notes = a} :: UpdateAnswer)++-- | The reason why a question is not applicable to your workload.+updateAnswer_reason :: Lens.Lens' UpdateAnswer (Prelude.Maybe AnswerReason)+updateAnswer_reason = Lens.lens (\UpdateAnswer' {reason} -> reason) (\s@UpdateAnswer' {} a -> s {reason = a} :: UpdateAnswer)++-- | Undocumented member.+updateAnswer_selectedChoices :: Lens.Lens' UpdateAnswer (Prelude.Maybe [Prelude.Text])+updateAnswer_selectedChoices = Lens.lens (\UpdateAnswer' {selectedChoices} -> selectedChoices) (\s@UpdateAnswer' {} a -> s {selectedChoices = a} :: UpdateAnswer) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateAnswer_workloadId :: Lens.Lens' UpdateAnswer Prelude.Text+updateAnswer_workloadId = Lens.lens (\UpdateAnswer' {workloadId} -> workloadId) (\s@UpdateAnswer' {} a -> s {workloadId = a} :: UpdateAnswer)++-- | Undocumented member.+updateAnswer_lensAlias :: Lens.Lens' UpdateAnswer Prelude.Text+updateAnswer_lensAlias = Lens.lens (\UpdateAnswer' {lensAlias} -> lensAlias) (\s@UpdateAnswer' {} a -> s {lensAlias = a} :: UpdateAnswer)++-- | Undocumented member.+updateAnswer_questionId :: Lens.Lens' UpdateAnswer Prelude.Text+updateAnswer_questionId = Lens.lens (\UpdateAnswer' {questionId} -> questionId) (\s@UpdateAnswer' {} a -> s {questionId = a} :: UpdateAnswer)++instance Core.AWSRequest UpdateAnswer where+  type AWSResponse UpdateAnswer = UpdateAnswerResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAnswerResponse'+            Prelude.<$> (x Data..?> "Answer")+            Prelude.<*> (x Data..?> "LensAlias")+            Prelude.<*> (x Data..?> "LensArn")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAnswer where+  hashWithSalt _salt UpdateAnswer' {..} =+    _salt+      `Prelude.hashWithSalt` choiceUpdates+      `Prelude.hashWithSalt` isApplicable+      `Prelude.hashWithSalt` notes+      `Prelude.hashWithSalt` reason+      `Prelude.hashWithSalt` selectedChoices+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` questionId++instance Prelude.NFData UpdateAnswer where+  rnf UpdateAnswer' {..} =+    Prelude.rnf choiceUpdates+      `Prelude.seq` Prelude.rnf isApplicable+      `Prelude.seq` Prelude.rnf notes+      `Prelude.seq` Prelude.rnf reason+      `Prelude.seq` Prelude.rnf selectedChoices+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf questionId++instance Data.ToHeaders UpdateAnswer where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateAnswer where+  toJSON UpdateAnswer' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ChoiceUpdates" Data..=) Prelude.<$> choiceUpdates,+            ("IsApplicable" Data..=) Prelude.<$> isApplicable,+            ("Notes" Data..=) Prelude.<$> notes,+            ("Reason" Data..=) Prelude.<$> reason,+            ("SelectedChoices" Data..=)+              Prelude.<$> selectedChoices+          ]+      )++instance Data.ToPath UpdateAnswer where+  toPath UpdateAnswer' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/lensReviews/",+        Data.toBS lensAlias,+        "/answers/",+        Data.toBS questionId+      ]++instance Data.ToQuery UpdateAnswer where+  toQuery = Prelude.const Prelude.mempty++-- | Output of a update answer call.+--+-- /See:/ 'newUpdateAnswerResponse' smart constructor.+data UpdateAnswerResponse = UpdateAnswerResponse'+  { answer :: Prelude.Maybe Answer,+    lensAlias :: Prelude.Maybe Prelude.Text,+    -- | The ARN for the lens.+    lensArn :: Prelude.Maybe Prelude.Text,+    workloadId :: 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 'UpdateAnswerResponse' 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:+--+-- 'answer', 'updateAnswerResponse_answer' - Undocumented member.+--+-- 'lensAlias', 'updateAnswerResponse_lensAlias' - Undocumented member.+--+-- 'lensArn', 'updateAnswerResponse_lensArn' - The ARN for the lens.+--+-- 'workloadId', 'updateAnswerResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'updateAnswerResponse_httpStatus' - The response's http status code.+newUpdateAnswerResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateAnswerResponse+newUpdateAnswerResponse pHttpStatus_ =+  UpdateAnswerResponse'+    { answer = Prelude.Nothing,+      lensAlias = Prelude.Nothing,+      lensArn = Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+updateAnswerResponse_answer :: Lens.Lens' UpdateAnswerResponse (Prelude.Maybe Answer)+updateAnswerResponse_answer = Lens.lens (\UpdateAnswerResponse' {answer} -> answer) (\s@UpdateAnswerResponse' {} a -> s {answer = a} :: UpdateAnswerResponse)++-- | Undocumented member.+updateAnswerResponse_lensAlias :: Lens.Lens' UpdateAnswerResponse (Prelude.Maybe Prelude.Text)+updateAnswerResponse_lensAlias = Lens.lens (\UpdateAnswerResponse' {lensAlias} -> lensAlias) (\s@UpdateAnswerResponse' {} a -> s {lensAlias = a} :: UpdateAnswerResponse)++-- | The ARN for the lens.+updateAnswerResponse_lensArn :: Lens.Lens' UpdateAnswerResponse (Prelude.Maybe Prelude.Text)+updateAnswerResponse_lensArn = Lens.lens (\UpdateAnswerResponse' {lensArn} -> lensArn) (\s@UpdateAnswerResponse' {} a -> s {lensArn = a} :: UpdateAnswerResponse)++-- | Undocumented member.+updateAnswerResponse_workloadId :: Lens.Lens' UpdateAnswerResponse (Prelude.Maybe Prelude.Text)+updateAnswerResponse_workloadId = Lens.lens (\UpdateAnswerResponse' {workloadId} -> workloadId) (\s@UpdateAnswerResponse' {} a -> s {workloadId = a} :: UpdateAnswerResponse)++-- | The response's http status code.+updateAnswerResponse_httpStatus :: Lens.Lens' UpdateAnswerResponse Prelude.Int+updateAnswerResponse_httpStatus = Lens.lens (\UpdateAnswerResponse' {httpStatus} -> httpStatus) (\s@UpdateAnswerResponse' {} a -> s {httpStatus = a} :: UpdateAnswerResponse)++instance Prelude.NFData UpdateAnswerResponse where+  rnf UpdateAnswerResponse' {..} =+    Prelude.rnf answer+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf lensArn+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/UpdateGlobalSettings.hs view
@@ -0,0 +1,135 @@+{-# 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.WellArchitected.UpdateGlobalSettings+-- 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 whether the Amazon Web Services account is opted into+-- organization sharing features.+module Amazonka.WellArchitected.UpdateGlobalSettings+  ( -- * Creating a Request+    UpdateGlobalSettings (..),+    newUpdateGlobalSettings,++    -- * Request Lenses+    updateGlobalSettings_organizationSharingStatus,++    -- * Destructuring the Response+    UpdateGlobalSettingsResponse (..),+    newUpdateGlobalSettingsResponse,+  )+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.WellArchitected.Types++-- | /See:/ 'newUpdateGlobalSettings' smart constructor.+data UpdateGlobalSettings = UpdateGlobalSettings'+  { -- | The status of organization sharing settings.+    organizationSharingStatus :: Prelude.Maybe OrganizationSharingStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGlobalSettings' 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:+--+-- 'organizationSharingStatus', 'updateGlobalSettings_organizationSharingStatus' - The status of organization sharing settings.+newUpdateGlobalSettings ::+  UpdateGlobalSettings+newUpdateGlobalSettings =+  UpdateGlobalSettings'+    { organizationSharingStatus =+        Prelude.Nothing+    }++-- | The status of organization sharing settings.+updateGlobalSettings_organizationSharingStatus :: Lens.Lens' UpdateGlobalSettings (Prelude.Maybe OrganizationSharingStatus)+updateGlobalSettings_organizationSharingStatus = Lens.lens (\UpdateGlobalSettings' {organizationSharingStatus} -> organizationSharingStatus) (\s@UpdateGlobalSettings' {} a -> s {organizationSharingStatus = a} :: UpdateGlobalSettings)++instance Core.AWSRequest UpdateGlobalSettings where+  type+    AWSResponse UpdateGlobalSettings =+      UpdateGlobalSettingsResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveNull UpdateGlobalSettingsResponse'++instance Prelude.Hashable UpdateGlobalSettings where+  hashWithSalt _salt UpdateGlobalSettings' {..} =+    _salt+      `Prelude.hashWithSalt` organizationSharingStatus++instance Prelude.NFData UpdateGlobalSettings where+  rnf UpdateGlobalSettings' {..} =+    Prelude.rnf organizationSharingStatus++instance Data.ToHeaders UpdateGlobalSettings where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateGlobalSettings where+  toJSON UpdateGlobalSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("OrganizationSharingStatus" Data..=)+              Prelude.<$> organizationSharingStatus+          ]+      )++instance Data.ToPath UpdateGlobalSettings where+  toPath = Prelude.const "/global-settings"++instance Data.ToQuery UpdateGlobalSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateGlobalSettingsResponse' smart constructor.+data UpdateGlobalSettingsResponse = UpdateGlobalSettingsResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGlobalSettingsResponse' 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.+newUpdateGlobalSettingsResponse ::+  UpdateGlobalSettingsResponse+newUpdateGlobalSettingsResponse =+  UpdateGlobalSettingsResponse'++instance Prelude.NFData UpdateGlobalSettingsResponse where+  rnf _ = ()
+ gen/Amazonka/WellArchitected/UpdateLensReview.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.WellArchitected.UpdateLensReview+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update lens review.+module Amazonka.WellArchitected.UpdateLensReview+  ( -- * Creating a Request+    UpdateLensReview (..),+    newUpdateLensReview,++    -- * Request Lenses+    updateLensReview_lensNotes,+    updateLensReview_pillarNotes,+    updateLensReview_workloadId,+    updateLensReview_lensAlias,++    -- * Destructuring the Response+    UpdateLensReviewResponse (..),+    newUpdateLensReviewResponse,++    -- * Response Lenses+    updateLensReviewResponse_lensReview,+    updateLensReviewResponse_workloadId,+    updateLensReviewResponse_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.WellArchitected.Types++-- | Input for update lens review.+--+-- /See:/ 'newUpdateLensReview' smart constructor.+data UpdateLensReview = UpdateLensReview'+  { lensNotes :: Prelude.Maybe Prelude.Text,+    pillarNotes :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    workloadId :: Prelude.Text,+    lensAlias :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLensReview' 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:+--+-- 'lensNotes', 'updateLensReview_lensNotes' - Undocumented member.+--+-- 'pillarNotes', 'updateLensReview_pillarNotes' - Undocumented member.+--+-- 'workloadId', 'updateLensReview_workloadId' - Undocumented member.+--+-- 'lensAlias', 'updateLensReview_lensAlias' - Undocumented member.+newUpdateLensReview ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'lensAlias'+  Prelude.Text ->+  UpdateLensReview+newUpdateLensReview pWorkloadId_ pLensAlias_ =+  UpdateLensReview'+    { lensNotes = Prelude.Nothing,+      pillarNotes = Prelude.Nothing,+      workloadId = pWorkloadId_,+      lensAlias = pLensAlias_+    }++-- | Undocumented member.+updateLensReview_lensNotes :: Lens.Lens' UpdateLensReview (Prelude.Maybe Prelude.Text)+updateLensReview_lensNotes = Lens.lens (\UpdateLensReview' {lensNotes} -> lensNotes) (\s@UpdateLensReview' {} a -> s {lensNotes = a} :: UpdateLensReview)++-- | Undocumented member.+updateLensReview_pillarNotes :: Lens.Lens' UpdateLensReview (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateLensReview_pillarNotes = Lens.lens (\UpdateLensReview' {pillarNotes} -> pillarNotes) (\s@UpdateLensReview' {} a -> s {pillarNotes = a} :: UpdateLensReview) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateLensReview_workloadId :: Lens.Lens' UpdateLensReview Prelude.Text+updateLensReview_workloadId = Lens.lens (\UpdateLensReview' {workloadId} -> workloadId) (\s@UpdateLensReview' {} a -> s {workloadId = a} :: UpdateLensReview)++-- | Undocumented member.+updateLensReview_lensAlias :: Lens.Lens' UpdateLensReview Prelude.Text+updateLensReview_lensAlias = Lens.lens (\UpdateLensReview' {lensAlias} -> lensAlias) (\s@UpdateLensReview' {} a -> s {lensAlias = a} :: UpdateLensReview)++instance Core.AWSRequest UpdateLensReview where+  type+    AWSResponse UpdateLensReview =+      UpdateLensReviewResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateLensReviewResponse'+            Prelude.<$> (x Data..?> "LensReview")+            Prelude.<*> (x Data..?> "WorkloadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateLensReview where+  hashWithSalt _salt UpdateLensReview' {..} =+    _salt+      `Prelude.hashWithSalt` lensNotes+      `Prelude.hashWithSalt` pillarNotes+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` lensAlias++instance Prelude.NFData UpdateLensReview where+  rnf UpdateLensReview' {..} =+    Prelude.rnf lensNotes+      `Prelude.seq` Prelude.rnf pillarNotes+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf lensAlias++instance Data.ToHeaders UpdateLensReview where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateLensReview where+  toJSON UpdateLensReview' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LensNotes" Data..=) Prelude.<$> lensNotes,+            ("PillarNotes" Data..=) Prelude.<$> pillarNotes+          ]+      )++instance Data.ToPath UpdateLensReview where+  toPath UpdateLensReview' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/lensReviews/",+        Data.toBS lensAlias+      ]++instance Data.ToQuery UpdateLensReview where+  toQuery = Prelude.const Prelude.mempty++-- | Output of a update lens review call.+--+-- /See:/ 'newUpdateLensReviewResponse' smart constructor.+data UpdateLensReviewResponse = UpdateLensReviewResponse'+  { lensReview :: Prelude.Maybe LensReview,+    workloadId :: 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 'UpdateLensReviewResponse' 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:+--+-- 'lensReview', 'updateLensReviewResponse_lensReview' - Undocumented member.+--+-- 'workloadId', 'updateLensReviewResponse_workloadId' - Undocumented member.+--+-- 'httpStatus', 'updateLensReviewResponse_httpStatus' - The response's http status code.+newUpdateLensReviewResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateLensReviewResponse+newUpdateLensReviewResponse pHttpStatus_ =+  UpdateLensReviewResponse'+    { lensReview =+        Prelude.Nothing,+      workloadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+updateLensReviewResponse_lensReview :: Lens.Lens' UpdateLensReviewResponse (Prelude.Maybe LensReview)+updateLensReviewResponse_lensReview = Lens.lens (\UpdateLensReviewResponse' {lensReview} -> lensReview) (\s@UpdateLensReviewResponse' {} a -> s {lensReview = a} :: UpdateLensReviewResponse)++-- | Undocumented member.+updateLensReviewResponse_workloadId :: Lens.Lens' UpdateLensReviewResponse (Prelude.Maybe Prelude.Text)+updateLensReviewResponse_workloadId = Lens.lens (\UpdateLensReviewResponse' {workloadId} -> workloadId) (\s@UpdateLensReviewResponse' {} a -> s {workloadId = a} :: UpdateLensReviewResponse)++-- | The response's http status code.+updateLensReviewResponse_httpStatus :: Lens.Lens' UpdateLensReviewResponse Prelude.Int+updateLensReviewResponse_httpStatus = Lens.lens (\UpdateLensReviewResponse' {httpStatus} -> httpStatus) (\s@UpdateLensReviewResponse' {} a -> s {httpStatus = a} :: UpdateLensReviewResponse)++instance Prelude.NFData UpdateLensReviewResponse where+  rnf UpdateLensReviewResponse' {..} =+    Prelude.rnf lensReview+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/UpdateShareInvitation.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.WellArchitected.UpdateShareInvitation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update a workload or custom lens share invitation.+--+-- This API operation can be called independently of any resource. Previous+-- documentation implied that a workload ARN must be specified.+module Amazonka.WellArchitected.UpdateShareInvitation+  ( -- * Creating a Request+    UpdateShareInvitation (..),+    newUpdateShareInvitation,++    -- * Request Lenses+    updateShareInvitation_shareInvitationId,+    updateShareInvitation_shareInvitationAction,++    -- * Destructuring the Response+    UpdateShareInvitationResponse (..),+    newUpdateShareInvitationResponse,++    -- * Response Lenses+    updateShareInvitationResponse_shareInvitation,+    updateShareInvitationResponse_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.WellArchitected.Types++-- | Input for Update Share Invitation+--+-- /See:/ 'newUpdateShareInvitation' smart constructor.+data UpdateShareInvitation = UpdateShareInvitation'+  { -- | The ID assigned to the share invitation.+    shareInvitationId :: Prelude.Text,+    shareInvitationAction :: ShareInvitationAction+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateShareInvitation' 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:+--+-- 'shareInvitationId', 'updateShareInvitation_shareInvitationId' - The ID assigned to the share invitation.+--+-- 'shareInvitationAction', 'updateShareInvitation_shareInvitationAction' - Undocumented member.+newUpdateShareInvitation ::+  -- | 'shareInvitationId'+  Prelude.Text ->+  -- | 'shareInvitationAction'+  ShareInvitationAction ->+  UpdateShareInvitation+newUpdateShareInvitation+  pShareInvitationId_+  pShareInvitationAction_ =+    UpdateShareInvitation'+      { shareInvitationId =+          pShareInvitationId_,+        shareInvitationAction = pShareInvitationAction_+      }++-- | The ID assigned to the share invitation.+updateShareInvitation_shareInvitationId :: Lens.Lens' UpdateShareInvitation Prelude.Text+updateShareInvitation_shareInvitationId = Lens.lens (\UpdateShareInvitation' {shareInvitationId} -> shareInvitationId) (\s@UpdateShareInvitation' {} a -> s {shareInvitationId = a} :: UpdateShareInvitation)++-- | Undocumented member.+updateShareInvitation_shareInvitationAction :: Lens.Lens' UpdateShareInvitation ShareInvitationAction+updateShareInvitation_shareInvitationAction = Lens.lens (\UpdateShareInvitation' {shareInvitationAction} -> shareInvitationAction) (\s@UpdateShareInvitation' {} a -> s {shareInvitationAction = a} :: UpdateShareInvitation)++instance Core.AWSRequest UpdateShareInvitation where+  type+    AWSResponse UpdateShareInvitation =+      UpdateShareInvitationResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateShareInvitationResponse'+            Prelude.<$> (x Data..?> "ShareInvitation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateShareInvitation where+  hashWithSalt _salt UpdateShareInvitation' {..} =+    _salt+      `Prelude.hashWithSalt` shareInvitationId+      `Prelude.hashWithSalt` shareInvitationAction++instance Prelude.NFData UpdateShareInvitation where+  rnf UpdateShareInvitation' {..} =+    Prelude.rnf shareInvitationId+      `Prelude.seq` Prelude.rnf shareInvitationAction++instance Data.ToHeaders UpdateShareInvitation where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateShareInvitation where+  toJSON UpdateShareInvitation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ShareInvitationAction"+                  Data..= shareInvitationAction+              )+          ]+      )++instance Data.ToPath UpdateShareInvitation where+  toPath UpdateShareInvitation' {..} =+    Prelude.mconcat+      ["/shareInvitations/", Data.toBS shareInvitationId]++instance Data.ToQuery UpdateShareInvitation where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateShareInvitationResponse' smart constructor.+data UpdateShareInvitationResponse = UpdateShareInvitationResponse'+  { -- | The updated workload or custom lens share invitation.+    shareInvitation :: Prelude.Maybe ShareInvitation,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateShareInvitationResponse' 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:+--+-- 'shareInvitation', 'updateShareInvitationResponse_shareInvitation' - The updated workload or custom lens share invitation.+--+-- 'httpStatus', 'updateShareInvitationResponse_httpStatus' - The response's http status code.+newUpdateShareInvitationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateShareInvitationResponse+newUpdateShareInvitationResponse pHttpStatus_ =+  UpdateShareInvitationResponse'+    { shareInvitation =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated workload or custom lens share invitation.+updateShareInvitationResponse_shareInvitation :: Lens.Lens' UpdateShareInvitationResponse (Prelude.Maybe ShareInvitation)+updateShareInvitationResponse_shareInvitation = Lens.lens (\UpdateShareInvitationResponse' {shareInvitation} -> shareInvitation) (\s@UpdateShareInvitationResponse' {} a -> s {shareInvitation = a} :: UpdateShareInvitationResponse)++-- | The response's http status code.+updateShareInvitationResponse_httpStatus :: Lens.Lens' UpdateShareInvitationResponse Prelude.Int+updateShareInvitationResponse_httpStatus = Lens.lens (\UpdateShareInvitationResponse' {httpStatus} -> httpStatus) (\s@UpdateShareInvitationResponse' {} a -> s {httpStatus = a} :: UpdateShareInvitationResponse)++instance Prelude.NFData UpdateShareInvitationResponse where+  rnf UpdateShareInvitationResponse' {..} =+    Prelude.rnf shareInvitation+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/UpdateWorkload.hs view
@@ -0,0 +1,389 @@+{-# 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.WellArchitected.UpdateWorkload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update an existing workload.+module Amazonka.WellArchitected.UpdateWorkload+  ( -- * Creating a Request+    UpdateWorkload (..),+    newUpdateWorkload,++    -- * Request Lenses+    updateWorkload_accountIds,+    updateWorkload_applications,+    updateWorkload_architecturalDesign,+    updateWorkload_awsRegions,+    updateWorkload_description,+    updateWorkload_discoveryConfig,+    updateWorkload_environment,+    updateWorkload_improvementStatus,+    updateWorkload_industry,+    updateWorkload_industryType,+    updateWorkload_isReviewOwnerUpdateAcknowledged,+    updateWorkload_nonAwsRegions,+    updateWorkload_notes,+    updateWorkload_pillarPriorities,+    updateWorkload_reviewOwner,+    updateWorkload_workloadName,+    updateWorkload_workloadId,++    -- * Destructuring the Response+    UpdateWorkloadResponse (..),+    newUpdateWorkloadResponse,++    -- * Response Lenses+    updateWorkloadResponse_workload,+    updateWorkloadResponse_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.WellArchitected.Types++-- | Input to update a workload.+--+-- /See:/ 'newUpdateWorkload' smart constructor.+data UpdateWorkload = UpdateWorkload'+  { accountIds :: Prelude.Maybe [Prelude.Text],+    -- | List of AppRegistry application ARNs to associate to the workload.+    applications :: Prelude.Maybe [Prelude.Text],+    architecturalDesign :: Prelude.Maybe Prelude.Text,+    awsRegions :: Prelude.Maybe [Prelude.Text],+    description :: Prelude.Maybe Prelude.Text,+    -- | Well-Architected discovery configuration settings to associate to the+    -- workload.+    discoveryConfig :: Prelude.Maybe WorkloadDiscoveryConfig,+    environment :: Prelude.Maybe WorkloadEnvironment,+    improvementStatus :: Prelude.Maybe WorkloadImprovementStatus,+    industry :: Prelude.Maybe Prelude.Text,+    industryType :: Prelude.Maybe Prelude.Text,+    -- | Flag indicating whether the workload owner has acknowledged that the+    -- /Review owner/ field is required.+    --+    -- If a __Review owner__ is not added to the workload within 60 days of+    -- acknowledgement, access to the workload is restricted until an owner is+    -- added.+    isReviewOwnerUpdateAcknowledged :: Prelude.Maybe Prelude.Bool,+    nonAwsRegions :: Prelude.Maybe [Prelude.Text],+    notes :: Prelude.Maybe Prelude.Text,+    pillarPriorities :: Prelude.Maybe [Prelude.Text],+    reviewOwner :: Prelude.Maybe Prelude.Text,+    workloadName :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWorkload' 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:+--+-- 'accountIds', 'updateWorkload_accountIds' - Undocumented member.+--+-- 'applications', 'updateWorkload_applications' - List of AppRegistry application ARNs to associate to the workload.+--+-- 'architecturalDesign', 'updateWorkload_architecturalDesign' - Undocumented member.+--+-- 'awsRegions', 'updateWorkload_awsRegions' - Undocumented member.+--+-- 'description', 'updateWorkload_description' - Undocumented member.+--+-- 'discoveryConfig', 'updateWorkload_discoveryConfig' - Well-Architected discovery configuration settings to associate to the+-- workload.+--+-- 'environment', 'updateWorkload_environment' - Undocumented member.+--+-- 'improvementStatus', 'updateWorkload_improvementStatus' - Undocumented member.+--+-- 'industry', 'updateWorkload_industry' - Undocumented member.+--+-- 'industryType', 'updateWorkload_industryType' - Undocumented member.+--+-- 'isReviewOwnerUpdateAcknowledged', 'updateWorkload_isReviewOwnerUpdateAcknowledged' - Flag indicating whether the workload owner has acknowledged that the+-- /Review owner/ field is required.+--+-- If a __Review owner__ is not added to the workload within 60 days of+-- acknowledgement, access to the workload is restricted until an owner is+-- added.+--+-- 'nonAwsRegions', 'updateWorkload_nonAwsRegions' - Undocumented member.+--+-- 'notes', 'updateWorkload_notes' - Undocumented member.+--+-- 'pillarPriorities', 'updateWorkload_pillarPriorities' - Undocumented member.+--+-- 'reviewOwner', 'updateWorkload_reviewOwner' - Undocumented member.+--+-- 'workloadName', 'updateWorkload_workloadName' - Undocumented member.+--+-- 'workloadId', 'updateWorkload_workloadId' - Undocumented member.+newUpdateWorkload ::+  -- | 'workloadId'+  Prelude.Text ->+  UpdateWorkload+newUpdateWorkload pWorkloadId_ =+  UpdateWorkload'+    { accountIds = Prelude.Nothing,+      applications = Prelude.Nothing,+      architecturalDesign = Prelude.Nothing,+      awsRegions = Prelude.Nothing,+      description = Prelude.Nothing,+      discoveryConfig = Prelude.Nothing,+      environment = Prelude.Nothing,+      improvementStatus = Prelude.Nothing,+      industry = Prelude.Nothing,+      industryType = Prelude.Nothing,+      isReviewOwnerUpdateAcknowledged = Prelude.Nothing,+      nonAwsRegions = Prelude.Nothing,+      notes = Prelude.Nothing,+      pillarPriorities = Prelude.Nothing,+      reviewOwner = Prelude.Nothing,+      workloadName = Prelude.Nothing,+      workloadId = pWorkloadId_+    }++-- | Undocumented member.+updateWorkload_accountIds :: Lens.Lens' UpdateWorkload (Prelude.Maybe [Prelude.Text])+updateWorkload_accountIds = Lens.lens (\UpdateWorkload' {accountIds} -> accountIds) (\s@UpdateWorkload' {} a -> s {accountIds = a} :: UpdateWorkload) Prelude.. Lens.mapping Lens.coerced++-- | List of AppRegistry application ARNs to associate to the workload.+updateWorkload_applications :: Lens.Lens' UpdateWorkload (Prelude.Maybe [Prelude.Text])+updateWorkload_applications = Lens.lens (\UpdateWorkload' {applications} -> applications) (\s@UpdateWorkload' {} a -> s {applications = a} :: UpdateWorkload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateWorkload_architecturalDesign :: Lens.Lens' UpdateWorkload (Prelude.Maybe Prelude.Text)+updateWorkload_architecturalDesign = Lens.lens (\UpdateWorkload' {architecturalDesign} -> architecturalDesign) (\s@UpdateWorkload' {} a -> s {architecturalDesign = a} :: UpdateWorkload)++-- | Undocumented member.+updateWorkload_awsRegions :: Lens.Lens' UpdateWorkload (Prelude.Maybe [Prelude.Text])+updateWorkload_awsRegions = Lens.lens (\UpdateWorkload' {awsRegions} -> awsRegions) (\s@UpdateWorkload' {} a -> s {awsRegions = a} :: UpdateWorkload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateWorkload_description :: Lens.Lens' UpdateWorkload (Prelude.Maybe Prelude.Text)+updateWorkload_description = Lens.lens (\UpdateWorkload' {description} -> description) (\s@UpdateWorkload' {} a -> s {description = a} :: UpdateWorkload)++-- | Well-Architected discovery configuration settings to associate to the+-- workload.+updateWorkload_discoveryConfig :: Lens.Lens' UpdateWorkload (Prelude.Maybe WorkloadDiscoveryConfig)+updateWorkload_discoveryConfig = Lens.lens (\UpdateWorkload' {discoveryConfig} -> discoveryConfig) (\s@UpdateWorkload' {} a -> s {discoveryConfig = a} :: UpdateWorkload)++-- | Undocumented member.+updateWorkload_environment :: Lens.Lens' UpdateWorkload (Prelude.Maybe WorkloadEnvironment)+updateWorkload_environment = Lens.lens (\UpdateWorkload' {environment} -> environment) (\s@UpdateWorkload' {} a -> s {environment = a} :: UpdateWorkload)++-- | Undocumented member.+updateWorkload_improvementStatus :: Lens.Lens' UpdateWorkload (Prelude.Maybe WorkloadImprovementStatus)+updateWorkload_improvementStatus = Lens.lens (\UpdateWorkload' {improvementStatus} -> improvementStatus) (\s@UpdateWorkload' {} a -> s {improvementStatus = a} :: UpdateWorkload)++-- | Undocumented member.+updateWorkload_industry :: Lens.Lens' UpdateWorkload (Prelude.Maybe Prelude.Text)+updateWorkload_industry = Lens.lens (\UpdateWorkload' {industry} -> industry) (\s@UpdateWorkload' {} a -> s {industry = a} :: UpdateWorkload)++-- | Undocumented member.+updateWorkload_industryType :: Lens.Lens' UpdateWorkload (Prelude.Maybe Prelude.Text)+updateWorkload_industryType = Lens.lens (\UpdateWorkload' {industryType} -> industryType) (\s@UpdateWorkload' {} a -> s {industryType = a} :: UpdateWorkload)++-- | Flag indicating whether the workload owner has acknowledged that the+-- /Review owner/ field is required.+--+-- If a __Review owner__ is not added to the workload within 60 days of+-- acknowledgement, access to the workload is restricted until an owner is+-- added.+updateWorkload_isReviewOwnerUpdateAcknowledged :: Lens.Lens' UpdateWorkload (Prelude.Maybe Prelude.Bool)+updateWorkload_isReviewOwnerUpdateAcknowledged = Lens.lens (\UpdateWorkload' {isReviewOwnerUpdateAcknowledged} -> isReviewOwnerUpdateAcknowledged) (\s@UpdateWorkload' {} a -> s {isReviewOwnerUpdateAcknowledged = a} :: UpdateWorkload)++-- | Undocumented member.+updateWorkload_nonAwsRegions :: Lens.Lens' UpdateWorkload (Prelude.Maybe [Prelude.Text])+updateWorkload_nonAwsRegions = Lens.lens (\UpdateWorkload' {nonAwsRegions} -> nonAwsRegions) (\s@UpdateWorkload' {} a -> s {nonAwsRegions = a} :: UpdateWorkload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateWorkload_notes :: Lens.Lens' UpdateWorkload (Prelude.Maybe Prelude.Text)+updateWorkload_notes = Lens.lens (\UpdateWorkload' {notes} -> notes) (\s@UpdateWorkload' {} a -> s {notes = a} :: UpdateWorkload)++-- | Undocumented member.+updateWorkload_pillarPriorities :: Lens.Lens' UpdateWorkload (Prelude.Maybe [Prelude.Text])+updateWorkload_pillarPriorities = Lens.lens (\UpdateWorkload' {pillarPriorities} -> pillarPriorities) (\s@UpdateWorkload' {} a -> s {pillarPriorities = a} :: UpdateWorkload) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateWorkload_reviewOwner :: Lens.Lens' UpdateWorkload (Prelude.Maybe Prelude.Text)+updateWorkload_reviewOwner = Lens.lens (\UpdateWorkload' {reviewOwner} -> reviewOwner) (\s@UpdateWorkload' {} a -> s {reviewOwner = a} :: UpdateWorkload)++-- | Undocumented member.+updateWorkload_workloadName :: Lens.Lens' UpdateWorkload (Prelude.Maybe Prelude.Text)+updateWorkload_workloadName = Lens.lens (\UpdateWorkload' {workloadName} -> workloadName) (\s@UpdateWorkload' {} a -> s {workloadName = a} :: UpdateWorkload)++-- | Undocumented member.+updateWorkload_workloadId :: Lens.Lens' UpdateWorkload Prelude.Text+updateWorkload_workloadId = Lens.lens (\UpdateWorkload' {workloadId} -> workloadId) (\s@UpdateWorkload' {} a -> s {workloadId = a} :: UpdateWorkload)++instance Core.AWSRequest UpdateWorkload where+  type+    AWSResponse UpdateWorkload =+      UpdateWorkloadResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateWorkloadResponse'+            Prelude.<$> (x Data..?> "Workload")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateWorkload where+  hashWithSalt _salt UpdateWorkload' {..} =+    _salt+      `Prelude.hashWithSalt` accountIds+      `Prelude.hashWithSalt` applications+      `Prelude.hashWithSalt` architecturalDesign+      `Prelude.hashWithSalt` awsRegions+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` discoveryConfig+      `Prelude.hashWithSalt` environment+      `Prelude.hashWithSalt` improvementStatus+      `Prelude.hashWithSalt` industry+      `Prelude.hashWithSalt` industryType+      `Prelude.hashWithSalt` isReviewOwnerUpdateAcknowledged+      `Prelude.hashWithSalt` nonAwsRegions+      `Prelude.hashWithSalt` notes+      `Prelude.hashWithSalt` pillarPriorities+      `Prelude.hashWithSalt` reviewOwner+      `Prelude.hashWithSalt` workloadName+      `Prelude.hashWithSalt` workloadId++instance Prelude.NFData UpdateWorkload where+  rnf UpdateWorkload' {..} =+    Prelude.rnf accountIds+      `Prelude.seq` Prelude.rnf applications+      `Prelude.seq` Prelude.rnf architecturalDesign+      `Prelude.seq` Prelude.rnf awsRegions+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf discoveryConfig+      `Prelude.seq` Prelude.rnf environment+      `Prelude.seq` Prelude.rnf improvementStatus+      `Prelude.seq` Prelude.rnf industry+      `Prelude.seq` Prelude.rnf industryType+      `Prelude.seq` Prelude.rnf isReviewOwnerUpdateAcknowledged+      `Prelude.seq` Prelude.rnf nonAwsRegions+      `Prelude.seq` Prelude.rnf notes+      `Prelude.seq` Prelude.rnf pillarPriorities+      `Prelude.seq` Prelude.rnf reviewOwner+      `Prelude.seq` Prelude.rnf workloadName+      `Prelude.seq` Prelude.rnf workloadId++instance Data.ToHeaders UpdateWorkload where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateWorkload where+  toJSON UpdateWorkload' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AccountIds" Data..=) Prelude.<$> accountIds,+            ("Applications" Data..=) Prelude.<$> applications,+            ("ArchitecturalDesign" Data..=)+              Prelude.<$> architecturalDesign,+            ("AwsRegions" Data..=) Prelude.<$> awsRegions,+            ("Description" Data..=) Prelude.<$> description,+            ("DiscoveryConfig" Data..=)+              Prelude.<$> discoveryConfig,+            ("Environment" Data..=) Prelude.<$> environment,+            ("ImprovementStatus" Data..=)+              Prelude.<$> improvementStatus,+            ("Industry" Data..=) Prelude.<$> industry,+            ("IndustryType" Data..=) Prelude.<$> industryType,+            ("IsReviewOwnerUpdateAcknowledged" Data..=)+              Prelude.<$> isReviewOwnerUpdateAcknowledged,+            ("NonAwsRegions" Data..=) Prelude.<$> nonAwsRegions,+            ("Notes" Data..=) Prelude.<$> notes,+            ("PillarPriorities" Data..=)+              Prelude.<$> pillarPriorities,+            ("ReviewOwner" Data..=) Prelude.<$> reviewOwner,+            ("WorkloadName" Data..=) Prelude.<$> workloadName+          ]+      )++instance Data.ToPath UpdateWorkload where+  toPath UpdateWorkload' {..} =+    Prelude.mconcat+      ["/workloads/", Data.toBS workloadId]++instance Data.ToQuery UpdateWorkload where+  toQuery = Prelude.const Prelude.mempty++-- | Output of an update workload call.+--+-- /See:/ 'newUpdateWorkloadResponse' smart constructor.+data UpdateWorkloadResponse = UpdateWorkloadResponse'+  { workload :: Prelude.Maybe Workload,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWorkloadResponse' 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:+--+-- 'workload', 'updateWorkloadResponse_workload' - Undocumented member.+--+-- 'httpStatus', 'updateWorkloadResponse_httpStatus' - The response's http status code.+newUpdateWorkloadResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateWorkloadResponse+newUpdateWorkloadResponse pHttpStatus_ =+  UpdateWorkloadResponse'+    { workload = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+updateWorkloadResponse_workload :: Lens.Lens' UpdateWorkloadResponse (Prelude.Maybe Workload)+updateWorkloadResponse_workload = Lens.lens (\UpdateWorkloadResponse' {workload} -> workload) (\s@UpdateWorkloadResponse' {} a -> s {workload = a} :: UpdateWorkloadResponse)++-- | The response's http status code.+updateWorkloadResponse_httpStatus :: Lens.Lens' UpdateWorkloadResponse Prelude.Int+updateWorkloadResponse_httpStatus = Lens.lens (\UpdateWorkloadResponse' {httpStatus} -> httpStatus) (\s@UpdateWorkloadResponse' {} a -> s {httpStatus = a} :: UpdateWorkloadResponse)++instance Prelude.NFData UpdateWorkloadResponse where+  rnf UpdateWorkloadResponse' {..} =+    Prelude.rnf workload+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/UpdateWorkloadShare.hs view
@@ -0,0 +1,218 @@+{-# 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.WellArchitected.UpdateWorkloadShare+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update a workload share.+module Amazonka.WellArchitected.UpdateWorkloadShare+  ( -- * Creating a Request+    UpdateWorkloadShare (..),+    newUpdateWorkloadShare,++    -- * Request Lenses+    updateWorkloadShare_shareId,+    updateWorkloadShare_workloadId,+    updateWorkloadShare_permissionType,++    -- * Destructuring the Response+    UpdateWorkloadShareResponse (..),+    newUpdateWorkloadShareResponse,++    -- * Response Lenses+    updateWorkloadShareResponse_workloadId,+    updateWorkloadShareResponse_workloadShare,+    updateWorkloadShareResponse_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.WellArchitected.Types++-- | Input for Update Workload Share+--+-- /See:/ 'newUpdateWorkloadShare' smart constructor.+data UpdateWorkloadShare = UpdateWorkloadShare'+  { shareId :: Prelude.Text,+    workloadId :: Prelude.Text,+    permissionType :: PermissionType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWorkloadShare' 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:+--+-- 'shareId', 'updateWorkloadShare_shareId' - Undocumented member.+--+-- 'workloadId', 'updateWorkloadShare_workloadId' - Undocumented member.+--+-- 'permissionType', 'updateWorkloadShare_permissionType' - Undocumented member.+newUpdateWorkloadShare ::+  -- | 'shareId'+  Prelude.Text ->+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'permissionType'+  PermissionType ->+  UpdateWorkloadShare+newUpdateWorkloadShare+  pShareId_+  pWorkloadId_+  pPermissionType_ =+    UpdateWorkloadShare'+      { shareId = pShareId_,+        workloadId = pWorkloadId_,+        permissionType = pPermissionType_+      }++-- | Undocumented member.+updateWorkloadShare_shareId :: Lens.Lens' UpdateWorkloadShare Prelude.Text+updateWorkloadShare_shareId = Lens.lens (\UpdateWorkloadShare' {shareId} -> shareId) (\s@UpdateWorkloadShare' {} a -> s {shareId = a} :: UpdateWorkloadShare)++-- | Undocumented member.+updateWorkloadShare_workloadId :: Lens.Lens' UpdateWorkloadShare Prelude.Text+updateWorkloadShare_workloadId = Lens.lens (\UpdateWorkloadShare' {workloadId} -> workloadId) (\s@UpdateWorkloadShare' {} a -> s {workloadId = a} :: UpdateWorkloadShare)++-- | Undocumented member.+updateWorkloadShare_permissionType :: Lens.Lens' UpdateWorkloadShare PermissionType+updateWorkloadShare_permissionType = Lens.lens (\UpdateWorkloadShare' {permissionType} -> permissionType) (\s@UpdateWorkloadShare' {} a -> s {permissionType = a} :: UpdateWorkloadShare)++instance Core.AWSRequest UpdateWorkloadShare where+  type+    AWSResponse UpdateWorkloadShare =+      UpdateWorkloadShareResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateWorkloadShareResponse'+            Prelude.<$> (x Data..?> "WorkloadId")+            Prelude.<*> (x Data..?> "WorkloadShare")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateWorkloadShare where+  hashWithSalt _salt UpdateWorkloadShare' {..} =+    _salt+      `Prelude.hashWithSalt` shareId+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` permissionType++instance Prelude.NFData UpdateWorkloadShare where+  rnf UpdateWorkloadShare' {..} =+    Prelude.rnf shareId+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf permissionType++instance Data.ToHeaders UpdateWorkloadShare where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateWorkloadShare where+  toJSON UpdateWorkloadShare' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("PermissionType" Data..= permissionType)+          ]+      )++instance Data.ToPath UpdateWorkloadShare where+  toPath UpdateWorkloadShare' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/shares/",+        Data.toBS shareId+      ]++instance Data.ToQuery UpdateWorkloadShare where+  toQuery = Prelude.const Prelude.mempty++-- | Input for Update Workload Share+--+-- /See:/ 'newUpdateWorkloadShareResponse' smart constructor.+data UpdateWorkloadShareResponse = UpdateWorkloadShareResponse'+  { workloadId :: Prelude.Maybe Prelude.Text,+    workloadShare :: Prelude.Maybe WorkloadShare,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWorkloadShareResponse' 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:+--+-- 'workloadId', 'updateWorkloadShareResponse_workloadId' - Undocumented member.+--+-- 'workloadShare', 'updateWorkloadShareResponse_workloadShare' - Undocumented member.+--+-- 'httpStatus', 'updateWorkloadShareResponse_httpStatus' - The response's http status code.+newUpdateWorkloadShareResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateWorkloadShareResponse+newUpdateWorkloadShareResponse pHttpStatus_ =+  UpdateWorkloadShareResponse'+    { workloadId =+        Prelude.Nothing,+      workloadShare = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+updateWorkloadShareResponse_workloadId :: Lens.Lens' UpdateWorkloadShareResponse (Prelude.Maybe Prelude.Text)+updateWorkloadShareResponse_workloadId = Lens.lens (\UpdateWorkloadShareResponse' {workloadId} -> workloadId) (\s@UpdateWorkloadShareResponse' {} a -> s {workloadId = a} :: UpdateWorkloadShareResponse)++-- | Undocumented member.+updateWorkloadShareResponse_workloadShare :: Lens.Lens' UpdateWorkloadShareResponse (Prelude.Maybe WorkloadShare)+updateWorkloadShareResponse_workloadShare = Lens.lens (\UpdateWorkloadShareResponse' {workloadShare} -> workloadShare) (\s@UpdateWorkloadShareResponse' {} a -> s {workloadShare = a} :: UpdateWorkloadShareResponse)++-- | The response's http status code.+updateWorkloadShareResponse_httpStatus :: Lens.Lens' UpdateWorkloadShareResponse Prelude.Int+updateWorkloadShareResponse_httpStatus = Lens.lens (\UpdateWorkloadShareResponse' {httpStatus} -> httpStatus) (\s@UpdateWorkloadShareResponse' {} a -> s {httpStatus = a} :: UpdateWorkloadShareResponse)++instance Prelude.NFData UpdateWorkloadShareResponse where+  rnf UpdateWorkloadShareResponse' {..} =+    Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf workloadShare+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/WellArchitected/UpgradeLensReview.hs view
@@ -0,0 +1,184 @@+{-# 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.WellArchitected.UpgradeLensReview+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Upgrade lens review.+module Amazonka.WellArchitected.UpgradeLensReview+  ( -- * Creating a Request+    UpgradeLensReview (..),+    newUpgradeLensReview,++    -- * Request Lenses+    upgradeLensReview_clientRequestToken,+    upgradeLensReview_workloadId,+    upgradeLensReview_lensAlias,+    upgradeLensReview_milestoneName,++    -- * Destructuring the Response+    UpgradeLensReviewResponse (..),+    newUpgradeLensReviewResponse,+  )+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.WellArchitected.Types++-- | /See:/ 'newUpgradeLensReview' smart constructor.+data UpgradeLensReview = UpgradeLensReview'+  { clientRequestToken :: Prelude.Maybe Prelude.Text,+    workloadId :: Prelude.Text,+    lensAlias :: Prelude.Text,+    milestoneName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpgradeLensReview' 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:+--+-- 'clientRequestToken', 'upgradeLensReview_clientRequestToken' - Undocumented member.+--+-- 'workloadId', 'upgradeLensReview_workloadId' - Undocumented member.+--+-- 'lensAlias', 'upgradeLensReview_lensAlias' - Undocumented member.+--+-- 'milestoneName', 'upgradeLensReview_milestoneName' - Undocumented member.+newUpgradeLensReview ::+  -- | 'workloadId'+  Prelude.Text ->+  -- | 'lensAlias'+  Prelude.Text ->+  -- | 'milestoneName'+  Prelude.Text ->+  UpgradeLensReview+newUpgradeLensReview+  pWorkloadId_+  pLensAlias_+  pMilestoneName_ =+    UpgradeLensReview'+      { clientRequestToken =+          Prelude.Nothing,+        workloadId = pWorkloadId_,+        lensAlias = pLensAlias_,+        milestoneName = pMilestoneName_+      }++-- | Undocumented member.+upgradeLensReview_clientRequestToken :: Lens.Lens' UpgradeLensReview (Prelude.Maybe Prelude.Text)+upgradeLensReview_clientRequestToken = Lens.lens (\UpgradeLensReview' {clientRequestToken} -> clientRequestToken) (\s@UpgradeLensReview' {} a -> s {clientRequestToken = a} :: UpgradeLensReview)++-- | Undocumented member.+upgradeLensReview_workloadId :: Lens.Lens' UpgradeLensReview Prelude.Text+upgradeLensReview_workloadId = Lens.lens (\UpgradeLensReview' {workloadId} -> workloadId) (\s@UpgradeLensReview' {} a -> s {workloadId = a} :: UpgradeLensReview)++-- | Undocumented member.+upgradeLensReview_lensAlias :: Lens.Lens' UpgradeLensReview Prelude.Text+upgradeLensReview_lensAlias = Lens.lens (\UpgradeLensReview' {lensAlias} -> lensAlias) (\s@UpgradeLensReview' {} a -> s {lensAlias = a} :: UpgradeLensReview)++-- | Undocumented member.+upgradeLensReview_milestoneName :: Lens.Lens' UpgradeLensReview Prelude.Text+upgradeLensReview_milestoneName = Lens.lens (\UpgradeLensReview' {milestoneName} -> milestoneName) (\s@UpgradeLensReview' {} a -> s {milestoneName = a} :: UpgradeLensReview)++instance Core.AWSRequest UpgradeLensReview where+  type+    AWSResponse UpgradeLensReview =+      UpgradeLensReviewResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveNull UpgradeLensReviewResponse'++instance Prelude.Hashable UpgradeLensReview where+  hashWithSalt _salt UpgradeLensReview' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` workloadId+      `Prelude.hashWithSalt` lensAlias+      `Prelude.hashWithSalt` milestoneName++instance Prelude.NFData UpgradeLensReview where+  rnf UpgradeLensReview' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf workloadId+      `Prelude.seq` Prelude.rnf lensAlias+      `Prelude.seq` Prelude.rnf milestoneName++instance Data.ToHeaders UpgradeLensReview where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpgradeLensReview where+  toJSON UpgradeLensReview' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            Prelude.Just+              ("MilestoneName" Data..= milestoneName)+          ]+      )++instance Data.ToPath UpgradeLensReview where+  toPath UpgradeLensReview' {..} =+    Prelude.mconcat+      [ "/workloads/",+        Data.toBS workloadId,+        "/lensReviews/",+        Data.toBS lensAlias,+        "/upgrade"+      ]++instance Data.ToQuery UpgradeLensReview where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpgradeLensReviewResponse' smart constructor.+data UpgradeLensReviewResponse = UpgradeLensReviewResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpgradeLensReviewResponse' 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.+newUpgradeLensReviewResponse ::+  UpgradeLensReviewResponse+newUpgradeLensReviewResponse =+  UpgradeLensReviewResponse'++instance Prelude.NFData UpgradeLensReviewResponse where+  rnf _ = ()
+ gen/Amazonka/WellArchitected/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.WellArchitected.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.WellArchitected.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.WellArchitected.Lens+import Amazonka.WellArchitected.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.WellArchitected+import Test.Amazonka.WellArchitected.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "WellArchitected"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/WellArchitected.hs view
@@ -0,0 +1,878 @@+{-# 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.WellArchitected+-- 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.WellArchitected where++import Amazonka.WellArchitected+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.WellArchitected.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"+--         [ requestAssociateLenses $+--             newAssociateLenses+--+--         , requestCreateLensShare $+--             newCreateLensShare+--+--         , requestCreateLensVersion $+--             newCreateLensVersion+--+--         , requestCreateMilestone $+--             newCreateMilestone+--+--         , requestCreateWorkload $+--             newCreateWorkload+--+--         , requestCreateWorkloadShare $+--             newCreateWorkloadShare+--+--         , requestDeleteLens $+--             newDeleteLens+--+--         , requestDeleteLensShare $+--             newDeleteLensShare+--+--         , requestDeleteWorkload $+--             newDeleteWorkload+--+--         , requestDeleteWorkloadShare $+--             newDeleteWorkloadShare+--+--         , requestDisassociateLenses $+--             newDisassociateLenses+--+--         , requestExportLens $+--             newExportLens+--+--         , requestGetAnswer $+--             newGetAnswer+--+--         , requestGetLens $+--             newGetLens+--+--         , requestGetLensReview $+--             newGetLensReview+--+--         , requestGetLensReviewReport $+--             newGetLensReviewReport+--+--         , requestGetLensVersionDifference $+--             newGetLensVersionDifference+--+--         , requestGetMilestone $+--             newGetMilestone+--+--         , requestGetWorkload $+--             newGetWorkload+--+--         , requestImportLens $+--             newImportLens+--+--         , requestListAnswers $+--             newListAnswers+--+--         , requestListCheckDetails $+--             newListCheckDetails+--+--         , requestListCheckSummaries $+--             newListCheckSummaries+--+--         , requestListLensReviewImprovements $+--             newListLensReviewImprovements+--+--         , requestListLensReviews $+--             newListLensReviews+--+--         , requestListLensShares $+--             newListLensShares+--+--         , requestListLenses $+--             newListLenses+--+--         , requestListMilestones $+--             newListMilestones+--+--         , requestListNotifications $+--             newListNotifications+--+--         , requestListShareInvitations $+--             newListShareInvitations+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestListWorkloadShares $+--             newListWorkloadShares+--+--         , requestListWorkloads $+--             newListWorkloads+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateAnswer $+--             newUpdateAnswer+--+--         , requestUpdateGlobalSettings $+--             newUpdateGlobalSettings+--+--         , requestUpdateLensReview $+--             newUpdateLensReview+--+--         , requestUpdateShareInvitation $+--             newUpdateShareInvitation+--+--         , requestUpdateWorkload $+--             newUpdateWorkload+--+--         , requestUpdateWorkloadShare $+--             newUpdateWorkloadShare+--+--         , requestUpgradeLensReview $+--             newUpgradeLensReview+--+--           ]++--     , testGroup "response"+--         [ responseAssociateLenses $+--             newAssociateLensesResponse+--+--         , responseCreateLensShare $+--             newCreateLensShareResponse+--+--         , responseCreateLensVersion $+--             newCreateLensVersionResponse+--+--         , responseCreateMilestone $+--             newCreateMilestoneResponse+--+--         , responseCreateWorkload $+--             newCreateWorkloadResponse+--+--         , responseCreateWorkloadShare $+--             newCreateWorkloadShareResponse+--+--         , responseDeleteLens $+--             newDeleteLensResponse+--+--         , responseDeleteLensShare $+--             newDeleteLensShareResponse+--+--         , responseDeleteWorkload $+--             newDeleteWorkloadResponse+--+--         , responseDeleteWorkloadShare $+--             newDeleteWorkloadShareResponse+--+--         , responseDisassociateLenses $+--             newDisassociateLensesResponse+--+--         , responseExportLens $+--             newExportLensResponse+--+--         , responseGetAnswer $+--             newGetAnswerResponse+--+--         , responseGetLens $+--             newGetLensResponse+--+--         , responseGetLensReview $+--             newGetLensReviewResponse+--+--         , responseGetLensReviewReport $+--             newGetLensReviewReportResponse+--+--         , responseGetLensVersionDifference $+--             newGetLensVersionDifferenceResponse+--+--         , responseGetMilestone $+--             newGetMilestoneResponse+--+--         , responseGetWorkload $+--             newGetWorkloadResponse+--+--         , responseImportLens $+--             newImportLensResponse+--+--         , responseListAnswers $+--             newListAnswersResponse+--+--         , responseListCheckDetails $+--             newListCheckDetailsResponse+--+--         , responseListCheckSummaries $+--             newListCheckSummariesResponse+--+--         , responseListLensReviewImprovements $+--             newListLensReviewImprovementsResponse+--+--         , responseListLensReviews $+--             newListLensReviewsResponse+--+--         , responseListLensShares $+--             newListLensSharesResponse+--+--         , responseListLenses $+--             newListLensesResponse+--+--         , responseListMilestones $+--             newListMilestonesResponse+--+--         , responseListNotifications $+--             newListNotificationsResponse+--+--         , responseListShareInvitations $+--             newListShareInvitationsResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseListWorkloadShares $+--             newListWorkloadSharesResponse+--+--         , responseListWorkloads $+--             newListWorkloadsResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateAnswer $+--             newUpdateAnswerResponse+--+--         , responseUpdateGlobalSettings $+--             newUpdateGlobalSettingsResponse+--+--         , responseUpdateLensReview $+--             newUpdateLensReviewResponse+--+--         , responseUpdateShareInvitation $+--             newUpdateShareInvitationResponse+--+--         , responseUpdateWorkload $+--             newUpdateWorkloadResponse+--+--         , responseUpdateWorkloadShare $+--             newUpdateWorkloadShareResponse+--+--         , responseUpgradeLensReview $+--             newUpgradeLensReviewResponse+--+--           ]+--     ]++-- Requests++requestAssociateLenses :: AssociateLenses -> TestTree+requestAssociateLenses =+  req+    "AssociateLenses"+    "fixture/AssociateLenses.yaml"++requestCreateLensShare :: CreateLensShare -> TestTree+requestCreateLensShare =+  req+    "CreateLensShare"+    "fixture/CreateLensShare.yaml"++requestCreateLensVersion :: CreateLensVersion -> TestTree+requestCreateLensVersion =+  req+    "CreateLensVersion"+    "fixture/CreateLensVersion.yaml"++requestCreateMilestone :: CreateMilestone -> TestTree+requestCreateMilestone =+  req+    "CreateMilestone"+    "fixture/CreateMilestone.yaml"++requestCreateWorkload :: CreateWorkload -> TestTree+requestCreateWorkload =+  req+    "CreateWorkload"+    "fixture/CreateWorkload.yaml"++requestCreateWorkloadShare :: CreateWorkloadShare -> TestTree+requestCreateWorkloadShare =+  req+    "CreateWorkloadShare"+    "fixture/CreateWorkloadShare.yaml"++requestDeleteLens :: DeleteLens -> TestTree+requestDeleteLens =+  req+    "DeleteLens"+    "fixture/DeleteLens.yaml"++requestDeleteLensShare :: DeleteLensShare -> TestTree+requestDeleteLensShare =+  req+    "DeleteLensShare"+    "fixture/DeleteLensShare.yaml"++requestDeleteWorkload :: DeleteWorkload -> TestTree+requestDeleteWorkload =+  req+    "DeleteWorkload"+    "fixture/DeleteWorkload.yaml"++requestDeleteWorkloadShare :: DeleteWorkloadShare -> TestTree+requestDeleteWorkloadShare =+  req+    "DeleteWorkloadShare"+    "fixture/DeleteWorkloadShare.yaml"++requestDisassociateLenses :: DisassociateLenses -> TestTree+requestDisassociateLenses =+  req+    "DisassociateLenses"+    "fixture/DisassociateLenses.yaml"++requestExportLens :: ExportLens -> TestTree+requestExportLens =+  req+    "ExportLens"+    "fixture/ExportLens.yaml"++requestGetAnswer :: GetAnswer -> TestTree+requestGetAnswer =+  req+    "GetAnswer"+    "fixture/GetAnswer.yaml"++requestGetLens :: GetLens -> TestTree+requestGetLens =+  req+    "GetLens"+    "fixture/GetLens.yaml"++requestGetLensReview :: GetLensReview -> TestTree+requestGetLensReview =+  req+    "GetLensReview"+    "fixture/GetLensReview.yaml"++requestGetLensReviewReport :: GetLensReviewReport -> TestTree+requestGetLensReviewReport =+  req+    "GetLensReviewReport"+    "fixture/GetLensReviewReport.yaml"++requestGetLensVersionDifference :: GetLensVersionDifference -> TestTree+requestGetLensVersionDifference =+  req+    "GetLensVersionDifference"+    "fixture/GetLensVersionDifference.yaml"++requestGetMilestone :: GetMilestone -> TestTree+requestGetMilestone =+  req+    "GetMilestone"+    "fixture/GetMilestone.yaml"++requestGetWorkload :: GetWorkload -> TestTree+requestGetWorkload =+  req+    "GetWorkload"+    "fixture/GetWorkload.yaml"++requestImportLens :: ImportLens -> TestTree+requestImportLens =+  req+    "ImportLens"+    "fixture/ImportLens.yaml"++requestListAnswers :: ListAnswers -> TestTree+requestListAnswers =+  req+    "ListAnswers"+    "fixture/ListAnswers.yaml"++requestListCheckDetails :: ListCheckDetails -> TestTree+requestListCheckDetails =+  req+    "ListCheckDetails"+    "fixture/ListCheckDetails.yaml"++requestListCheckSummaries :: ListCheckSummaries -> TestTree+requestListCheckSummaries =+  req+    "ListCheckSummaries"+    "fixture/ListCheckSummaries.yaml"++requestListLensReviewImprovements :: ListLensReviewImprovements -> TestTree+requestListLensReviewImprovements =+  req+    "ListLensReviewImprovements"+    "fixture/ListLensReviewImprovements.yaml"++requestListLensReviews :: ListLensReviews -> TestTree+requestListLensReviews =+  req+    "ListLensReviews"+    "fixture/ListLensReviews.yaml"++requestListLensShares :: ListLensShares -> TestTree+requestListLensShares =+  req+    "ListLensShares"+    "fixture/ListLensShares.yaml"++requestListLenses :: ListLenses -> TestTree+requestListLenses =+  req+    "ListLenses"+    "fixture/ListLenses.yaml"++requestListMilestones :: ListMilestones -> TestTree+requestListMilestones =+  req+    "ListMilestones"+    "fixture/ListMilestones.yaml"++requestListNotifications :: ListNotifications -> TestTree+requestListNotifications =+  req+    "ListNotifications"+    "fixture/ListNotifications.yaml"++requestListShareInvitations :: ListShareInvitations -> TestTree+requestListShareInvitations =+  req+    "ListShareInvitations"+    "fixture/ListShareInvitations.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestListWorkloadShares :: ListWorkloadShares -> TestTree+requestListWorkloadShares =+  req+    "ListWorkloadShares"+    "fixture/ListWorkloadShares.yaml"++requestListWorkloads :: ListWorkloads -> TestTree+requestListWorkloads =+  req+    "ListWorkloads"+    "fixture/ListWorkloads.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateAnswer :: UpdateAnswer -> TestTree+requestUpdateAnswer =+  req+    "UpdateAnswer"+    "fixture/UpdateAnswer.yaml"++requestUpdateGlobalSettings :: UpdateGlobalSettings -> TestTree+requestUpdateGlobalSettings =+  req+    "UpdateGlobalSettings"+    "fixture/UpdateGlobalSettings.yaml"++requestUpdateLensReview :: UpdateLensReview -> TestTree+requestUpdateLensReview =+  req+    "UpdateLensReview"+    "fixture/UpdateLensReview.yaml"++requestUpdateShareInvitation :: UpdateShareInvitation -> TestTree+requestUpdateShareInvitation =+  req+    "UpdateShareInvitation"+    "fixture/UpdateShareInvitation.yaml"++requestUpdateWorkload :: UpdateWorkload -> TestTree+requestUpdateWorkload =+  req+    "UpdateWorkload"+    "fixture/UpdateWorkload.yaml"++requestUpdateWorkloadShare :: UpdateWorkloadShare -> TestTree+requestUpdateWorkloadShare =+  req+    "UpdateWorkloadShare"+    "fixture/UpdateWorkloadShare.yaml"++requestUpgradeLensReview :: UpgradeLensReview -> TestTree+requestUpgradeLensReview =+  req+    "UpgradeLensReview"+    "fixture/UpgradeLensReview.yaml"++-- Responses++responseAssociateLenses :: AssociateLensesResponse -> TestTree+responseAssociateLenses =+  res+    "AssociateLensesResponse"+    "fixture/AssociateLensesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateLenses)++responseCreateLensShare :: CreateLensShareResponse -> TestTree+responseCreateLensShare =+  res+    "CreateLensShareResponse"+    "fixture/CreateLensShareResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateLensShare)++responseCreateLensVersion :: CreateLensVersionResponse -> TestTree+responseCreateLensVersion =+  res+    "CreateLensVersionResponse"+    "fixture/CreateLensVersionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateLensVersion)++responseCreateMilestone :: CreateMilestoneResponse -> TestTree+responseCreateMilestone =+  res+    "CreateMilestoneResponse"+    "fixture/CreateMilestoneResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMilestone)++responseCreateWorkload :: CreateWorkloadResponse -> TestTree+responseCreateWorkload =+  res+    "CreateWorkloadResponse"+    "fixture/CreateWorkloadResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWorkload)++responseCreateWorkloadShare :: CreateWorkloadShareResponse -> TestTree+responseCreateWorkloadShare =+  res+    "CreateWorkloadShareResponse"+    "fixture/CreateWorkloadShareResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWorkloadShare)++responseDeleteLens :: DeleteLensResponse -> TestTree+responseDeleteLens =+  res+    "DeleteLensResponse"+    "fixture/DeleteLensResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteLens)++responseDeleteLensShare :: DeleteLensShareResponse -> TestTree+responseDeleteLensShare =+  res+    "DeleteLensShareResponse"+    "fixture/DeleteLensShareResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteLensShare)++responseDeleteWorkload :: DeleteWorkloadResponse -> TestTree+responseDeleteWorkload =+  res+    "DeleteWorkloadResponse"+    "fixture/DeleteWorkloadResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWorkload)++responseDeleteWorkloadShare :: DeleteWorkloadShareResponse -> TestTree+responseDeleteWorkloadShare =+  res+    "DeleteWorkloadShareResponse"+    "fixture/DeleteWorkloadShareResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWorkloadShare)++responseDisassociateLenses :: DisassociateLensesResponse -> TestTree+responseDisassociateLenses =+  res+    "DisassociateLensesResponse"+    "fixture/DisassociateLensesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateLenses)++responseExportLens :: ExportLensResponse -> TestTree+responseExportLens =+  res+    "ExportLensResponse"+    "fixture/ExportLensResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ExportLens)++responseGetAnswer :: GetAnswerResponse -> TestTree+responseGetAnswer =+  res+    "GetAnswerResponse"+    "fixture/GetAnswerResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAnswer)++responseGetLens :: GetLensResponse -> TestTree+responseGetLens =+  res+    "GetLensResponse"+    "fixture/GetLensResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetLens)++responseGetLensReview :: GetLensReviewResponse -> TestTree+responseGetLensReview =+  res+    "GetLensReviewResponse"+    "fixture/GetLensReviewResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetLensReview)++responseGetLensReviewReport :: GetLensReviewReportResponse -> TestTree+responseGetLensReviewReport =+  res+    "GetLensReviewReportResponse"+    "fixture/GetLensReviewReportResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetLensReviewReport)++responseGetLensVersionDifference :: GetLensVersionDifferenceResponse -> TestTree+responseGetLensVersionDifference =+  res+    "GetLensVersionDifferenceResponse"+    "fixture/GetLensVersionDifferenceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetLensVersionDifference)++responseGetMilestone :: GetMilestoneResponse -> TestTree+responseGetMilestone =+  res+    "GetMilestoneResponse"+    "fixture/GetMilestoneResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetMilestone)++responseGetWorkload :: GetWorkloadResponse -> TestTree+responseGetWorkload =+  res+    "GetWorkloadResponse"+    "fixture/GetWorkloadResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetWorkload)++responseImportLens :: ImportLensResponse -> TestTree+responseImportLens =+  res+    "ImportLensResponse"+    "fixture/ImportLensResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ImportLens)++responseListAnswers :: ListAnswersResponse -> TestTree+responseListAnswers =+  res+    "ListAnswersResponse"+    "fixture/ListAnswersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAnswers)++responseListCheckDetails :: ListCheckDetailsResponse -> TestTree+responseListCheckDetails =+  res+    "ListCheckDetailsResponse"+    "fixture/ListCheckDetailsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListCheckDetails)++responseListCheckSummaries :: ListCheckSummariesResponse -> TestTree+responseListCheckSummaries =+  res+    "ListCheckSummariesResponse"+    "fixture/ListCheckSummariesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListCheckSummaries)++responseListLensReviewImprovements :: ListLensReviewImprovementsResponse -> TestTree+responseListLensReviewImprovements =+  res+    "ListLensReviewImprovementsResponse"+    "fixture/ListLensReviewImprovementsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListLensReviewImprovements)++responseListLensReviews :: ListLensReviewsResponse -> TestTree+responseListLensReviews =+  res+    "ListLensReviewsResponse"+    "fixture/ListLensReviewsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListLensReviews)++responseListLensShares :: ListLensSharesResponse -> TestTree+responseListLensShares =+  res+    "ListLensSharesResponse"+    "fixture/ListLensSharesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListLensShares)++responseListLenses :: ListLensesResponse -> TestTree+responseListLenses =+  res+    "ListLensesResponse"+    "fixture/ListLensesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListLenses)++responseListMilestones :: ListMilestonesResponse -> TestTree+responseListMilestones =+  res+    "ListMilestonesResponse"+    "fixture/ListMilestonesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListMilestones)++responseListNotifications :: ListNotificationsResponse -> TestTree+responseListNotifications =+  res+    "ListNotificationsResponse"+    "fixture/ListNotificationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListNotifications)++responseListShareInvitations :: ListShareInvitationsResponse -> TestTree+responseListShareInvitations =+  res+    "ListShareInvitationsResponse"+    "fixture/ListShareInvitationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListShareInvitations)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListWorkloadShares :: ListWorkloadSharesResponse -> TestTree+responseListWorkloadShares =+  res+    "ListWorkloadSharesResponse"+    "fixture/ListWorkloadSharesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWorkloadShares)++responseListWorkloads :: ListWorkloadsResponse -> TestTree+responseListWorkloads =+  res+    "ListWorkloadsResponse"+    "fixture/ListWorkloadsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWorkloads)++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)++responseUpdateAnswer :: UpdateAnswerResponse -> TestTree+responseUpdateAnswer =+  res+    "UpdateAnswerResponse"+    "fixture/UpdateAnswerResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAnswer)++responseUpdateGlobalSettings :: UpdateGlobalSettingsResponse -> TestTree+responseUpdateGlobalSettings =+  res+    "UpdateGlobalSettingsResponse"+    "fixture/UpdateGlobalSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateGlobalSettings)++responseUpdateLensReview :: UpdateLensReviewResponse -> TestTree+responseUpdateLensReview =+  res+    "UpdateLensReviewResponse"+    "fixture/UpdateLensReviewResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateLensReview)++responseUpdateShareInvitation :: UpdateShareInvitationResponse -> TestTree+responseUpdateShareInvitation =+  res+    "UpdateShareInvitationResponse"+    "fixture/UpdateShareInvitationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateShareInvitation)++responseUpdateWorkload :: UpdateWorkloadResponse -> TestTree+responseUpdateWorkload =+  res+    "UpdateWorkloadResponse"+    "fixture/UpdateWorkloadResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateWorkload)++responseUpdateWorkloadShare :: UpdateWorkloadShareResponse -> TestTree+responseUpdateWorkloadShare =+  res+    "UpdateWorkloadShareResponse"+    "fixture/UpdateWorkloadShareResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateWorkloadShare)++responseUpgradeLensReview :: UpgradeLensReviewResponse -> TestTree+responseUpgradeLensReview =+  res+    "UpgradeLensReviewResponse"+    "fixture/UpgradeLensReviewResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpgradeLensReview)
+ test/Test/Amazonka/WellArchitected.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.WellArchitected+-- 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.WellArchitected+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/WellArchitected/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.WellArchitected.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.WellArchitected.Internal where