packages feed

amazonka-amplifybackend (empty) → 2.0

raw patch · 155 files changed

+16559/−0 lines, 155 filesdep +amazonka-amplifybackenddep +amazonka-coredep +amazonka-test

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

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon AmplifyBackend SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-08-11@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-amplifybackend)+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.AmplifyBackend](http://hackage.haskell.org/package/amazonka-amplifybackend/docs/Amazonka-AmplifyBackend.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-amplifybackend` 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-amplifybackend.cabal view
@@ -0,0 +1,164 @@+cabal-version:      2.2+name:               amazonka-amplifybackend+version:            2.0+synopsis:           Amazon AmplifyBackend 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-08-11@ 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.AmplifyBackend.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.AmplifyBackend" 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-amplifybackend++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.AmplifyBackend+    Amazonka.AmplifyBackend.CloneBackend+    Amazonka.AmplifyBackend.CreateBackend+    Amazonka.AmplifyBackend.CreateBackendAPI+    Amazonka.AmplifyBackend.CreateBackendAuth+    Amazonka.AmplifyBackend.CreateBackendConfig+    Amazonka.AmplifyBackend.CreateBackendStorage+    Amazonka.AmplifyBackend.CreateToken+    Amazonka.AmplifyBackend.DeleteBackend+    Amazonka.AmplifyBackend.DeleteBackendAPI+    Amazonka.AmplifyBackend.DeleteBackendAuth+    Amazonka.AmplifyBackend.DeleteBackendStorage+    Amazonka.AmplifyBackend.DeleteToken+    Amazonka.AmplifyBackend.GenerateBackendAPIModels+    Amazonka.AmplifyBackend.GetBackend+    Amazonka.AmplifyBackend.GetBackendAPI+    Amazonka.AmplifyBackend.GetBackendAPIModels+    Amazonka.AmplifyBackend.GetBackendAuth+    Amazonka.AmplifyBackend.GetBackendJob+    Amazonka.AmplifyBackend.GetBackendStorage+    Amazonka.AmplifyBackend.GetToken+    Amazonka.AmplifyBackend.ImportBackendAuth+    Amazonka.AmplifyBackend.ImportBackendStorage+    Amazonka.AmplifyBackend.Lens+    Amazonka.AmplifyBackend.ListBackendJobs+    Amazonka.AmplifyBackend.ListS3Buckets+    Amazonka.AmplifyBackend.RemoveAllBackends+    Amazonka.AmplifyBackend.RemoveBackendConfig+    Amazonka.AmplifyBackend.Types+    Amazonka.AmplifyBackend.Types.AdditionalConstraintsElement+    Amazonka.AmplifyBackend.Types.AuthenticatedElement+    Amazonka.AmplifyBackend.Types.AuthResources+    Amazonka.AmplifyBackend.Types.BackendAPIAppSyncAuthSettings+    Amazonka.AmplifyBackend.Types.BackendAPIAuthType+    Amazonka.AmplifyBackend.Types.BackendAPIConflictResolution+    Amazonka.AmplifyBackend.Types.BackendAPIResourceConfig+    Amazonka.AmplifyBackend.Types.BackendAuthAppleProviderConfig+    Amazonka.AmplifyBackend.Types.BackendAuthSocialProviderConfig+    Amazonka.AmplifyBackend.Types.BackendJobRespObj+    Amazonka.AmplifyBackend.Types.BackendStoragePermissions+    Amazonka.AmplifyBackend.Types.CreateBackendAuthForgotPasswordConfig+    Amazonka.AmplifyBackend.Types.CreateBackendAuthIdentityPoolConfig+    Amazonka.AmplifyBackend.Types.CreateBackendAuthMFAConfig+    Amazonka.AmplifyBackend.Types.CreateBackendAuthOAuthConfig+    Amazonka.AmplifyBackend.Types.CreateBackendAuthPasswordPolicyConfig+    Amazonka.AmplifyBackend.Types.CreateBackendAuthResourceConfig+    Amazonka.AmplifyBackend.Types.CreateBackendAuthUserPoolConfig+    Amazonka.AmplifyBackend.Types.CreateBackendAuthVerificationMessageConfig+    Amazonka.AmplifyBackend.Types.CreateBackendStorageResourceConfig+    Amazonka.AmplifyBackend.Types.DeliveryMethod+    Amazonka.AmplifyBackend.Types.EmailSettings+    Amazonka.AmplifyBackend.Types.GetBackendStorageResourceConfig+    Amazonka.AmplifyBackend.Types.LoginAuthConfigReqObj+    Amazonka.AmplifyBackend.Types.MFAMode+    Amazonka.AmplifyBackend.Types.MfaTypesElement+    Amazonka.AmplifyBackend.Types.Mode+    Amazonka.AmplifyBackend.Types.OAuthGrantType+    Amazonka.AmplifyBackend.Types.OAuthScopesElement+    Amazonka.AmplifyBackend.Types.RequiredSignUpAttributesElement+    Amazonka.AmplifyBackend.Types.ResolutionStrategy+    Amazonka.AmplifyBackend.Types.ResourceConfig+    Amazonka.AmplifyBackend.Types.S3BucketInfo+    Amazonka.AmplifyBackend.Types.Service+    Amazonka.AmplifyBackend.Types.ServiceName+    Amazonka.AmplifyBackend.Types.Settings+    Amazonka.AmplifyBackend.Types.SignInMethod+    Amazonka.AmplifyBackend.Types.SmsSettings+    Amazonka.AmplifyBackend.Types.SocialProviderSettings+    Amazonka.AmplifyBackend.Types.Status+    Amazonka.AmplifyBackend.Types.UnAuthenticatedElement+    Amazonka.AmplifyBackend.Types.UpdateBackendAuthForgotPasswordConfig+    Amazonka.AmplifyBackend.Types.UpdateBackendAuthIdentityPoolConfig+    Amazonka.AmplifyBackend.Types.UpdateBackendAuthMFAConfig+    Amazonka.AmplifyBackend.Types.UpdateBackendAuthOAuthConfig+    Amazonka.AmplifyBackend.Types.UpdateBackendAuthPasswordPolicyConfig+    Amazonka.AmplifyBackend.Types.UpdateBackendAuthResourceConfig+    Amazonka.AmplifyBackend.Types.UpdateBackendAuthUserPoolConfig+    Amazonka.AmplifyBackend.Types.UpdateBackendAuthVerificationMessageConfig+    Amazonka.AmplifyBackend.Types.UpdateBackendStorageResourceConfig+    Amazonka.AmplifyBackend.UpdateBackendAPI+    Amazonka.AmplifyBackend.UpdateBackendAuth+    Amazonka.AmplifyBackend.UpdateBackendConfig+    Amazonka.AmplifyBackend.UpdateBackendJob+    Amazonka.AmplifyBackend.UpdateBackendStorage+    Amazonka.AmplifyBackend.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-amplifybackend-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.AmplifyBackend+    Test.Amazonka.AmplifyBackend.Internal+    Test.Amazonka.Gen.AmplifyBackend++  build-depends:+    , amazonka-amplifybackend+    , amazonka-core            >=2.0 && <2.1+    , amazonka-test            >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CloneBackend.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/CloneBackendResponse.proto view
+ fixture/CreateBackend.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/CreateBackendAPI.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/CreateBackendAPIResponse.proto view
+ fixture/CreateBackendAuth.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/CreateBackendAuthResponse.proto view
+ fixture/CreateBackendConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/CreateBackendConfigResponse.proto view
+ fixture/CreateBackendResponse.proto view
+ fixture/CreateBackendStorage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/CreateBackendStorageResponse.proto view
+ fixture/CreateToken.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/CreateTokenResponse.proto view
+ fixture/DeleteBackend.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/DeleteBackendAPI.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/DeleteBackendAPIResponse.proto view
+ fixture/DeleteBackendAuth.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/DeleteBackendAuthResponse.proto view
+ fixture/DeleteBackendResponse.proto view
+ fixture/DeleteBackendStorage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/DeleteBackendStorageResponse.proto view
+ fixture/DeleteToken.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/DeleteTokenResponse.proto view
+ fixture/GenerateBackendAPIModels.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/GenerateBackendAPIModelsResponse.proto view
+ fixture/GetBackend.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/GetBackendAPI.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/GetBackendAPIModels.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/GetBackendAPIModelsResponse.proto view
+ fixture/GetBackendAPIResponse.proto view
+ fixture/GetBackendAuth.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/GetBackendAuthResponse.proto view
+ fixture/GetBackendJob.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/GetBackendJobResponse.proto view
+ fixture/GetBackendResponse.proto view
+ fixture/GetBackendStorage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/GetBackendStorageResponse.proto view
+ fixture/GetToken.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/GetTokenResponse.proto view
+ fixture/ImportBackendAuth.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/ImportBackendAuthResponse.proto view
+ fixture/ImportBackendStorage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/ImportBackendStorageResponse.proto view
+ fixture/ListBackendJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/ListBackendJobsResponse.proto view
+ fixture/ListS3Buckets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/ListS3BucketsResponse.proto view
+ fixture/RemoveAllBackends.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/RemoveAllBackendsResponse.proto view
+ fixture/RemoveBackendConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/RemoveBackendConfigResponse.proto view
+ fixture/UpdateBackendAPI.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/UpdateBackendAPIResponse.proto view
+ fixture/UpdateBackendAuth.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/UpdateBackendAuthResponse.proto view
+ fixture/UpdateBackendConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/UpdateBackendConfigResponse.proto view
+ fixture/UpdateBackendJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/UpdateBackendJobResponse.proto view
+ fixture/UpdateBackendStorage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/amplifybackend/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  amplifybackend.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/UpdateBackendStorageResponse.proto view
+ gen/Amazonka/AmplifyBackend.hs view
@@ -0,0 +1,474 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.AmplifyBackend+-- 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-08-11@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- AWS Amplify Admin API+module Amazonka.AmplifyBackend+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** BadRequestException+    _BadRequestException,++    -- ** GatewayTimeoutException+    _GatewayTimeoutException,++    -- ** NotFoundException+    _NotFoundException,++    -- ** TooManyRequestsException+    _TooManyRequestsException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CloneBackend+    CloneBackend (CloneBackend'),+    newCloneBackend,+    CloneBackendResponse (CloneBackendResponse'),+    newCloneBackendResponse,++    -- ** CreateBackend+    CreateBackend (CreateBackend'),+    newCreateBackend,+    CreateBackendResponse (CreateBackendResponse'),+    newCreateBackendResponse,++    -- ** CreateBackendAPI+    CreateBackendAPI (CreateBackendAPI'),+    newCreateBackendAPI,+    CreateBackendAPIResponse (CreateBackendAPIResponse'),+    newCreateBackendAPIResponse,++    -- ** CreateBackendAuth+    CreateBackendAuth (CreateBackendAuth'),+    newCreateBackendAuth,+    CreateBackendAuthResponse (CreateBackendAuthResponse'),+    newCreateBackendAuthResponse,++    -- ** CreateBackendConfig+    CreateBackendConfig (CreateBackendConfig'),+    newCreateBackendConfig,+    CreateBackendConfigResponse (CreateBackendConfigResponse'),+    newCreateBackendConfigResponse,++    -- ** CreateBackendStorage+    CreateBackendStorage (CreateBackendStorage'),+    newCreateBackendStorage,+    CreateBackendStorageResponse (CreateBackendStorageResponse'),+    newCreateBackendStorageResponse,++    -- ** CreateToken+    CreateToken (CreateToken'),+    newCreateToken,+    CreateTokenResponse (CreateTokenResponse'),+    newCreateTokenResponse,++    -- ** DeleteBackend+    DeleteBackend (DeleteBackend'),+    newDeleteBackend,+    DeleteBackendResponse (DeleteBackendResponse'),+    newDeleteBackendResponse,++    -- ** DeleteBackendAPI+    DeleteBackendAPI (DeleteBackendAPI'),+    newDeleteBackendAPI,+    DeleteBackendAPIResponse (DeleteBackendAPIResponse'),+    newDeleteBackendAPIResponse,++    -- ** DeleteBackendAuth+    DeleteBackendAuth (DeleteBackendAuth'),+    newDeleteBackendAuth,+    DeleteBackendAuthResponse (DeleteBackendAuthResponse'),+    newDeleteBackendAuthResponse,++    -- ** DeleteBackendStorage+    DeleteBackendStorage (DeleteBackendStorage'),+    newDeleteBackendStorage,+    DeleteBackendStorageResponse (DeleteBackendStorageResponse'),+    newDeleteBackendStorageResponse,++    -- ** DeleteToken+    DeleteToken (DeleteToken'),+    newDeleteToken,+    DeleteTokenResponse (DeleteTokenResponse'),+    newDeleteTokenResponse,++    -- ** GenerateBackendAPIModels+    GenerateBackendAPIModels (GenerateBackendAPIModels'),+    newGenerateBackendAPIModels,+    GenerateBackendAPIModelsResponse (GenerateBackendAPIModelsResponse'),+    newGenerateBackendAPIModelsResponse,++    -- ** GetBackend+    GetBackend (GetBackend'),+    newGetBackend,+    GetBackendResponse (GetBackendResponse'),+    newGetBackendResponse,++    -- ** GetBackendAPI+    GetBackendAPI (GetBackendAPI'),+    newGetBackendAPI,+    GetBackendAPIResponse (GetBackendAPIResponse'),+    newGetBackendAPIResponse,++    -- ** GetBackendAPIModels+    GetBackendAPIModels (GetBackendAPIModels'),+    newGetBackendAPIModels,+    GetBackendAPIModelsResponse (GetBackendAPIModelsResponse'),+    newGetBackendAPIModelsResponse,++    -- ** GetBackendAuth+    GetBackendAuth (GetBackendAuth'),+    newGetBackendAuth,+    GetBackendAuthResponse (GetBackendAuthResponse'),+    newGetBackendAuthResponse,++    -- ** GetBackendJob+    GetBackendJob (GetBackendJob'),+    newGetBackendJob,+    GetBackendJobResponse (GetBackendJobResponse'),+    newGetBackendJobResponse,++    -- ** GetBackendStorage+    GetBackendStorage (GetBackendStorage'),+    newGetBackendStorage,+    GetBackendStorageResponse (GetBackendStorageResponse'),+    newGetBackendStorageResponse,++    -- ** GetToken+    GetToken (GetToken'),+    newGetToken,+    GetTokenResponse (GetTokenResponse'),+    newGetTokenResponse,++    -- ** ImportBackendAuth+    ImportBackendAuth (ImportBackendAuth'),+    newImportBackendAuth,+    ImportBackendAuthResponse (ImportBackendAuthResponse'),+    newImportBackendAuthResponse,++    -- ** ImportBackendStorage+    ImportBackendStorage (ImportBackendStorage'),+    newImportBackendStorage,+    ImportBackendStorageResponse (ImportBackendStorageResponse'),+    newImportBackendStorageResponse,++    -- ** ListBackendJobs (Paginated)+    ListBackendJobs (ListBackendJobs'),+    newListBackendJobs,+    ListBackendJobsResponse (ListBackendJobsResponse'),+    newListBackendJobsResponse,++    -- ** ListS3Buckets+    ListS3Buckets (ListS3Buckets'),+    newListS3Buckets,+    ListS3BucketsResponse (ListS3BucketsResponse'),+    newListS3BucketsResponse,++    -- ** RemoveAllBackends+    RemoveAllBackends (RemoveAllBackends'),+    newRemoveAllBackends,+    RemoveAllBackendsResponse (RemoveAllBackendsResponse'),+    newRemoveAllBackendsResponse,++    -- ** RemoveBackendConfig+    RemoveBackendConfig (RemoveBackendConfig'),+    newRemoveBackendConfig,+    RemoveBackendConfigResponse (RemoveBackendConfigResponse'),+    newRemoveBackendConfigResponse,++    -- ** UpdateBackendAPI+    UpdateBackendAPI (UpdateBackendAPI'),+    newUpdateBackendAPI,+    UpdateBackendAPIResponse (UpdateBackendAPIResponse'),+    newUpdateBackendAPIResponse,++    -- ** UpdateBackendAuth+    UpdateBackendAuth (UpdateBackendAuth'),+    newUpdateBackendAuth,+    UpdateBackendAuthResponse (UpdateBackendAuthResponse'),+    newUpdateBackendAuthResponse,++    -- ** UpdateBackendConfig+    UpdateBackendConfig (UpdateBackendConfig'),+    newUpdateBackendConfig,+    UpdateBackendConfigResponse (UpdateBackendConfigResponse'),+    newUpdateBackendConfigResponse,++    -- ** UpdateBackendJob+    UpdateBackendJob (UpdateBackendJob'),+    newUpdateBackendJob,+    UpdateBackendJobResponse (UpdateBackendJobResponse'),+    newUpdateBackendJobResponse,++    -- ** UpdateBackendStorage+    UpdateBackendStorage (UpdateBackendStorage'),+    newUpdateBackendStorage,+    UpdateBackendStorageResponse (UpdateBackendStorageResponse'),+    newUpdateBackendStorageResponse,++    -- * Types++    -- ** AdditionalConstraintsElement+    AdditionalConstraintsElement (..),++    -- ** AuthResources+    AuthResources (..),++    -- ** AuthenticatedElement+    AuthenticatedElement (..),++    -- ** DeliveryMethod+    DeliveryMethod (..),++    -- ** MFAMode+    MFAMode (..),++    -- ** MfaTypesElement+    MfaTypesElement (..),++    -- ** Mode+    Mode (..),++    -- ** OAuthGrantType+    OAuthGrantType (..),++    -- ** OAuthScopesElement+    OAuthScopesElement (..),++    -- ** RequiredSignUpAttributesElement+    RequiredSignUpAttributesElement (..),++    -- ** ResolutionStrategy+    ResolutionStrategy (..),++    -- ** Service+    Service (..),++    -- ** ServiceName+    ServiceName (..),++    -- ** SignInMethod+    SignInMethod (..),++    -- ** Status+    Status (..),++    -- ** UnAuthenticatedElement+    UnAuthenticatedElement (..),++    -- ** BackendAPIAppSyncAuthSettings+    BackendAPIAppSyncAuthSettings (BackendAPIAppSyncAuthSettings'),+    newBackendAPIAppSyncAuthSettings,++    -- ** BackendAPIAuthType+    BackendAPIAuthType (BackendAPIAuthType'),+    newBackendAPIAuthType,++    -- ** BackendAPIConflictResolution+    BackendAPIConflictResolution (BackendAPIConflictResolution'),+    newBackendAPIConflictResolution,++    -- ** BackendAPIResourceConfig+    BackendAPIResourceConfig (BackendAPIResourceConfig'),+    newBackendAPIResourceConfig,++    -- ** BackendAuthAppleProviderConfig+    BackendAuthAppleProviderConfig (BackendAuthAppleProviderConfig'),+    newBackendAuthAppleProviderConfig,++    -- ** BackendAuthSocialProviderConfig+    BackendAuthSocialProviderConfig (BackendAuthSocialProviderConfig'),+    newBackendAuthSocialProviderConfig,++    -- ** BackendJobRespObj+    BackendJobRespObj (BackendJobRespObj'),+    newBackendJobRespObj,++    -- ** BackendStoragePermissions+    BackendStoragePermissions (BackendStoragePermissions'),+    newBackendStoragePermissions,++    -- ** CreateBackendAuthForgotPasswordConfig+    CreateBackendAuthForgotPasswordConfig (CreateBackendAuthForgotPasswordConfig'),+    newCreateBackendAuthForgotPasswordConfig,++    -- ** CreateBackendAuthIdentityPoolConfig+    CreateBackendAuthIdentityPoolConfig (CreateBackendAuthIdentityPoolConfig'),+    newCreateBackendAuthIdentityPoolConfig,++    -- ** CreateBackendAuthMFAConfig+    CreateBackendAuthMFAConfig (CreateBackendAuthMFAConfig'),+    newCreateBackendAuthMFAConfig,++    -- ** CreateBackendAuthOAuthConfig+    CreateBackendAuthOAuthConfig (CreateBackendAuthOAuthConfig'),+    newCreateBackendAuthOAuthConfig,++    -- ** CreateBackendAuthPasswordPolicyConfig+    CreateBackendAuthPasswordPolicyConfig (CreateBackendAuthPasswordPolicyConfig'),+    newCreateBackendAuthPasswordPolicyConfig,++    -- ** CreateBackendAuthResourceConfig+    CreateBackendAuthResourceConfig (CreateBackendAuthResourceConfig'),+    newCreateBackendAuthResourceConfig,++    -- ** CreateBackendAuthUserPoolConfig+    CreateBackendAuthUserPoolConfig (CreateBackendAuthUserPoolConfig'),+    newCreateBackendAuthUserPoolConfig,++    -- ** CreateBackendAuthVerificationMessageConfig+    CreateBackendAuthVerificationMessageConfig (CreateBackendAuthVerificationMessageConfig'),+    newCreateBackendAuthVerificationMessageConfig,++    -- ** CreateBackendStorageResourceConfig+    CreateBackendStorageResourceConfig (CreateBackendStorageResourceConfig'),+    newCreateBackendStorageResourceConfig,++    -- ** EmailSettings+    EmailSettings (EmailSettings'),+    newEmailSettings,++    -- ** GetBackendStorageResourceConfig+    GetBackendStorageResourceConfig (GetBackendStorageResourceConfig'),+    newGetBackendStorageResourceConfig,++    -- ** LoginAuthConfigReqObj+    LoginAuthConfigReqObj (LoginAuthConfigReqObj'),+    newLoginAuthConfigReqObj,++    -- ** ResourceConfig+    ResourceConfig (ResourceConfig'),+    newResourceConfig,++    -- ** S3BucketInfo+    S3BucketInfo (S3BucketInfo'),+    newS3BucketInfo,++    -- ** Settings+    Settings (Settings'),+    newSettings,++    -- ** SmsSettings+    SmsSettings (SmsSettings'),+    newSmsSettings,++    -- ** SocialProviderSettings+    SocialProviderSettings (SocialProviderSettings'),+    newSocialProviderSettings,++    -- ** UpdateBackendAuthForgotPasswordConfig+    UpdateBackendAuthForgotPasswordConfig (UpdateBackendAuthForgotPasswordConfig'),+    newUpdateBackendAuthForgotPasswordConfig,++    -- ** UpdateBackendAuthIdentityPoolConfig+    UpdateBackendAuthIdentityPoolConfig (UpdateBackendAuthIdentityPoolConfig'),+    newUpdateBackendAuthIdentityPoolConfig,++    -- ** UpdateBackendAuthMFAConfig+    UpdateBackendAuthMFAConfig (UpdateBackendAuthMFAConfig'),+    newUpdateBackendAuthMFAConfig,++    -- ** UpdateBackendAuthOAuthConfig+    UpdateBackendAuthOAuthConfig (UpdateBackendAuthOAuthConfig'),+    newUpdateBackendAuthOAuthConfig,++    -- ** UpdateBackendAuthPasswordPolicyConfig+    UpdateBackendAuthPasswordPolicyConfig (UpdateBackendAuthPasswordPolicyConfig'),+    newUpdateBackendAuthPasswordPolicyConfig,++    -- ** UpdateBackendAuthResourceConfig+    UpdateBackendAuthResourceConfig (UpdateBackendAuthResourceConfig'),+    newUpdateBackendAuthResourceConfig,++    -- ** UpdateBackendAuthUserPoolConfig+    UpdateBackendAuthUserPoolConfig (UpdateBackendAuthUserPoolConfig'),+    newUpdateBackendAuthUserPoolConfig,++    -- ** UpdateBackendAuthVerificationMessageConfig+    UpdateBackendAuthVerificationMessageConfig (UpdateBackendAuthVerificationMessageConfig'),+    newUpdateBackendAuthVerificationMessageConfig,++    -- ** UpdateBackendStorageResourceConfig+    UpdateBackendStorageResourceConfig (UpdateBackendStorageResourceConfig'),+    newUpdateBackendStorageResourceConfig,+  )+where++import Amazonka.AmplifyBackend.CloneBackend+import Amazonka.AmplifyBackend.CreateBackend+import Amazonka.AmplifyBackend.CreateBackendAPI+import Amazonka.AmplifyBackend.CreateBackendAuth+import Amazonka.AmplifyBackend.CreateBackendConfig+import Amazonka.AmplifyBackend.CreateBackendStorage+import Amazonka.AmplifyBackend.CreateToken+import Amazonka.AmplifyBackend.DeleteBackend+import Amazonka.AmplifyBackend.DeleteBackendAPI+import Amazonka.AmplifyBackend.DeleteBackendAuth+import Amazonka.AmplifyBackend.DeleteBackendStorage+import Amazonka.AmplifyBackend.DeleteToken+import Amazonka.AmplifyBackend.GenerateBackendAPIModels+import Amazonka.AmplifyBackend.GetBackend+import Amazonka.AmplifyBackend.GetBackendAPI+import Amazonka.AmplifyBackend.GetBackendAPIModels+import Amazonka.AmplifyBackend.GetBackendAuth+import Amazonka.AmplifyBackend.GetBackendJob+import Amazonka.AmplifyBackend.GetBackendStorage+import Amazonka.AmplifyBackend.GetToken+import Amazonka.AmplifyBackend.ImportBackendAuth+import Amazonka.AmplifyBackend.ImportBackendStorage+import Amazonka.AmplifyBackend.Lens+import Amazonka.AmplifyBackend.ListBackendJobs+import Amazonka.AmplifyBackend.ListS3Buckets+import Amazonka.AmplifyBackend.RemoveAllBackends+import Amazonka.AmplifyBackend.RemoveBackendConfig+import Amazonka.AmplifyBackend.Types+import Amazonka.AmplifyBackend.UpdateBackendAPI+import Amazonka.AmplifyBackend.UpdateBackendAuth+import Amazonka.AmplifyBackend.UpdateBackendConfig+import Amazonka.AmplifyBackend.UpdateBackendJob+import Amazonka.AmplifyBackend.UpdateBackendStorage+import Amazonka.AmplifyBackend.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 'AmplifyBackend'.++-- $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/AmplifyBackend/CloneBackend.hs view
@@ -0,0 +1,269 @@+{-# 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.AmplifyBackend.CloneBackend+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This operation clones an existing backend.+module Amazonka.AmplifyBackend.CloneBackend+  ( -- * Creating a Request+    CloneBackend (..),+    newCloneBackend,++    -- * Request Lenses+    cloneBackend_appId,+    cloneBackend_backendEnvironmentName,+    cloneBackend_targetEnvironmentName,++    -- * Destructuring the Response+    CloneBackendResponse (..),+    newCloneBackendResponse,++    -- * Response Lenses+    cloneBackendResponse_appId,+    cloneBackendResponse_backendEnvironmentName,+    cloneBackendResponse_error,+    cloneBackendResponse_jobId,+    cloneBackendResponse_operation,+    cloneBackendResponse_status,+    cloneBackendResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for CloneBackend.+--+-- /See:/ 'newCloneBackend' smart constructor.+data CloneBackend = CloneBackend'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of the destination backend environment to be created.+    targetEnvironmentName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloneBackend' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'cloneBackend_appId' - The app ID.+--+-- 'backendEnvironmentName', 'cloneBackend_backendEnvironmentName' - The name of the backend environment.+--+-- 'targetEnvironmentName', 'cloneBackend_targetEnvironmentName' - The name of the destination backend environment to be created.+newCloneBackend ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'targetEnvironmentName'+  Prelude.Text ->+  CloneBackend+newCloneBackend+  pAppId_+  pBackendEnvironmentName_+  pTargetEnvironmentName_ =+    CloneBackend'+      { appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        targetEnvironmentName = pTargetEnvironmentName_+      }++-- | The app ID.+cloneBackend_appId :: Lens.Lens' CloneBackend Prelude.Text+cloneBackend_appId = Lens.lens (\CloneBackend' {appId} -> appId) (\s@CloneBackend' {} a -> s {appId = a} :: CloneBackend)++-- | The name of the backend environment.+cloneBackend_backendEnvironmentName :: Lens.Lens' CloneBackend Prelude.Text+cloneBackend_backendEnvironmentName = Lens.lens (\CloneBackend' {backendEnvironmentName} -> backendEnvironmentName) (\s@CloneBackend' {} a -> s {backendEnvironmentName = a} :: CloneBackend)++-- | The name of the destination backend environment to be created.+cloneBackend_targetEnvironmentName :: Lens.Lens' CloneBackend Prelude.Text+cloneBackend_targetEnvironmentName = Lens.lens (\CloneBackend' {targetEnvironmentName} -> targetEnvironmentName) (\s@CloneBackend' {} a -> s {targetEnvironmentName = a} :: CloneBackend)++instance Core.AWSRequest CloneBackend where+  type AWSResponse CloneBackend = CloneBackendResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CloneBackendResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CloneBackend where+  hashWithSalt _salt CloneBackend' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` targetEnvironmentName++instance Prelude.NFData CloneBackend where+  rnf CloneBackend' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf targetEnvironmentName++instance Data.ToHeaders CloneBackend where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CloneBackend where+  toJSON CloneBackend' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "targetEnvironmentName"+                  Data..= targetEnvironmentName+              )+          ]+      )++instance Data.ToPath CloneBackend where+  toPath CloneBackend' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/environments/",+        Data.toBS backendEnvironmentName,+        "/clone"+      ]++instance Data.ToQuery CloneBackend where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCloneBackendResponse' smart constructor.+data CloneBackendResponse = CloneBackendResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'CloneBackendResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'cloneBackendResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'cloneBackendResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'cloneBackendResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'cloneBackendResponse_jobId' - The ID for the job.+--+-- 'operation', 'cloneBackendResponse_operation' - The name of the operation.+--+-- 'status', 'cloneBackendResponse_status' - The current status of the request.+--+-- 'httpStatus', 'cloneBackendResponse_httpStatus' - The response's http status code.+newCloneBackendResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CloneBackendResponse+newCloneBackendResponse pHttpStatus_ =+  CloneBackendResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+cloneBackendResponse_appId :: Lens.Lens' CloneBackendResponse (Prelude.Maybe Prelude.Text)+cloneBackendResponse_appId = Lens.lens (\CloneBackendResponse' {appId} -> appId) (\s@CloneBackendResponse' {} a -> s {appId = a} :: CloneBackendResponse)++-- | The name of the backend environment.+cloneBackendResponse_backendEnvironmentName :: Lens.Lens' CloneBackendResponse (Prelude.Maybe Prelude.Text)+cloneBackendResponse_backendEnvironmentName = Lens.lens (\CloneBackendResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@CloneBackendResponse' {} a -> s {backendEnvironmentName = a} :: CloneBackendResponse)++-- | If the request fails, this error is returned.+cloneBackendResponse_error :: Lens.Lens' CloneBackendResponse (Prelude.Maybe Prelude.Text)+cloneBackendResponse_error = Lens.lens (\CloneBackendResponse' {error} -> error) (\s@CloneBackendResponse' {} a -> s {error = a} :: CloneBackendResponse)++-- | The ID for the job.+cloneBackendResponse_jobId :: Lens.Lens' CloneBackendResponse (Prelude.Maybe Prelude.Text)+cloneBackendResponse_jobId = Lens.lens (\CloneBackendResponse' {jobId} -> jobId) (\s@CloneBackendResponse' {} a -> s {jobId = a} :: CloneBackendResponse)++-- | The name of the operation.+cloneBackendResponse_operation :: Lens.Lens' CloneBackendResponse (Prelude.Maybe Prelude.Text)+cloneBackendResponse_operation = Lens.lens (\CloneBackendResponse' {operation} -> operation) (\s@CloneBackendResponse' {} a -> s {operation = a} :: CloneBackendResponse)++-- | The current status of the request.+cloneBackendResponse_status :: Lens.Lens' CloneBackendResponse (Prelude.Maybe Prelude.Text)+cloneBackendResponse_status = Lens.lens (\CloneBackendResponse' {status} -> status) (\s@CloneBackendResponse' {} a -> s {status = a} :: CloneBackendResponse)++-- | The response's http status code.+cloneBackendResponse_httpStatus :: Lens.Lens' CloneBackendResponse Prelude.Int+cloneBackendResponse_httpStatus = Lens.lens (\CloneBackendResponse' {httpStatus} -> httpStatus) (\s@CloneBackendResponse' {} a -> s {httpStatus = a} :: CloneBackendResponse)++instance Prelude.NFData CloneBackendResponse where+  rnf CloneBackendResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/CreateBackend.hs view
@@ -0,0 +1,294 @@+{-# 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.AmplifyBackend.CreateBackend+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This operation creates a backend for an Amplify app. Backends are+-- automatically created at the time of app creation.+module Amazonka.AmplifyBackend.CreateBackend+  ( -- * Creating a Request+    CreateBackend (..),+    newCreateBackend,++    -- * Request Lenses+    createBackend_resourceConfig,+    createBackend_resourceName,+    createBackend_appId,+    createBackend_backendEnvironmentName,+    createBackend_appName,++    -- * Destructuring the Response+    CreateBackendResponse (..),+    newCreateBackendResponse,++    -- * Response Lenses+    createBackendResponse_appId,+    createBackendResponse_backendEnvironmentName,+    createBackendResponse_error,+    createBackendResponse_jobId,+    createBackendResponse_operation,+    createBackendResponse_status,+    createBackendResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for CreateBackend.+--+-- /See:/ 'newCreateBackend' smart constructor.+data CreateBackend = CreateBackend'+  { -- | The resource configuration for creating a backend.+    resourceConfig :: Prelude.Maybe ResourceConfig,+    -- | The name of the resource.+    resourceName :: Prelude.Maybe Prelude.Text,+    -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of the app.+    appName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackend' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceConfig', 'createBackend_resourceConfig' - The resource configuration for creating a backend.+--+-- 'resourceName', 'createBackend_resourceName' - The name of the resource.+--+-- 'appId', 'createBackend_appId' - The app ID.+--+-- 'backendEnvironmentName', 'createBackend_backendEnvironmentName' - The name of the backend environment.+--+-- 'appName', 'createBackend_appName' - The name of the app.+newCreateBackend ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'appName'+  Prelude.Text ->+  CreateBackend+newCreateBackend+  pAppId_+  pBackendEnvironmentName_+  pAppName_ =+    CreateBackend'+      { resourceConfig = Prelude.Nothing,+        resourceName = Prelude.Nothing,+        appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        appName = pAppName_+      }++-- | The resource configuration for creating a backend.+createBackend_resourceConfig :: Lens.Lens' CreateBackend (Prelude.Maybe ResourceConfig)+createBackend_resourceConfig = Lens.lens (\CreateBackend' {resourceConfig} -> resourceConfig) (\s@CreateBackend' {} a -> s {resourceConfig = a} :: CreateBackend)++-- | The name of the resource.+createBackend_resourceName :: Lens.Lens' CreateBackend (Prelude.Maybe Prelude.Text)+createBackend_resourceName = Lens.lens (\CreateBackend' {resourceName} -> resourceName) (\s@CreateBackend' {} a -> s {resourceName = a} :: CreateBackend)++-- | The app ID.+createBackend_appId :: Lens.Lens' CreateBackend Prelude.Text+createBackend_appId = Lens.lens (\CreateBackend' {appId} -> appId) (\s@CreateBackend' {} a -> s {appId = a} :: CreateBackend)++-- | The name of the backend environment.+createBackend_backendEnvironmentName :: Lens.Lens' CreateBackend Prelude.Text+createBackend_backendEnvironmentName = Lens.lens (\CreateBackend' {backendEnvironmentName} -> backendEnvironmentName) (\s@CreateBackend' {} a -> s {backendEnvironmentName = a} :: CreateBackend)++-- | The name of the app.+createBackend_appName :: Lens.Lens' CreateBackend Prelude.Text+createBackend_appName = Lens.lens (\CreateBackend' {appName} -> appName) (\s@CreateBackend' {} a -> s {appName = a} :: CreateBackend)++instance Core.AWSRequest CreateBackend where+  type+    AWSResponse CreateBackend =+      CreateBackendResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateBackendResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateBackend where+  hashWithSalt _salt CreateBackend' {..} =+    _salt+      `Prelude.hashWithSalt` resourceConfig+      `Prelude.hashWithSalt` resourceName+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` appName++instance Prelude.NFData CreateBackend where+  rnf CreateBackend' {..} =+    Prelude.rnf resourceConfig+      `Prelude.seq` Prelude.rnf resourceName+      `Prelude.seq` Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf appName++instance Data.ToHeaders CreateBackend where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateBackend where+  toJSON CreateBackend' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("resourceConfig" Data..=)+              Prelude.<$> resourceConfig,+            ("resourceName" Data..=) Prelude.<$> resourceName,+            Prelude.Just ("appId" Data..= appId),+            Prelude.Just+              ( "backendEnvironmentName"+                  Data..= backendEnvironmentName+              ),+            Prelude.Just ("appName" Data..= appName)+          ]+      )++instance Data.ToPath CreateBackend where+  toPath = Prelude.const "/backend"++instance Data.ToQuery CreateBackend where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateBackendResponse' smart constructor.+data CreateBackendResponse = CreateBackendResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'CreateBackendResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'createBackendResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'createBackendResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'createBackendResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'createBackendResponse_jobId' - The ID for the job.+--+-- 'operation', 'createBackendResponse_operation' - The name of the operation.+--+-- 'status', 'createBackendResponse_status' - The current status of the request.+--+-- 'httpStatus', 'createBackendResponse_httpStatus' - The response's http status code.+newCreateBackendResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateBackendResponse+newCreateBackendResponse pHttpStatus_ =+  CreateBackendResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+createBackendResponse_appId :: Lens.Lens' CreateBackendResponse (Prelude.Maybe Prelude.Text)+createBackendResponse_appId = Lens.lens (\CreateBackendResponse' {appId} -> appId) (\s@CreateBackendResponse' {} a -> s {appId = a} :: CreateBackendResponse)++-- | The name of the backend environment.+createBackendResponse_backendEnvironmentName :: Lens.Lens' CreateBackendResponse (Prelude.Maybe Prelude.Text)+createBackendResponse_backendEnvironmentName = Lens.lens (\CreateBackendResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@CreateBackendResponse' {} a -> s {backendEnvironmentName = a} :: CreateBackendResponse)++-- | If the request fails, this error is returned.+createBackendResponse_error :: Lens.Lens' CreateBackendResponse (Prelude.Maybe Prelude.Text)+createBackendResponse_error = Lens.lens (\CreateBackendResponse' {error} -> error) (\s@CreateBackendResponse' {} a -> s {error = a} :: CreateBackendResponse)++-- | The ID for the job.+createBackendResponse_jobId :: Lens.Lens' CreateBackendResponse (Prelude.Maybe Prelude.Text)+createBackendResponse_jobId = Lens.lens (\CreateBackendResponse' {jobId} -> jobId) (\s@CreateBackendResponse' {} a -> s {jobId = a} :: CreateBackendResponse)++-- | The name of the operation.+createBackendResponse_operation :: Lens.Lens' CreateBackendResponse (Prelude.Maybe Prelude.Text)+createBackendResponse_operation = Lens.lens (\CreateBackendResponse' {operation} -> operation) (\s@CreateBackendResponse' {} a -> s {operation = a} :: CreateBackendResponse)++-- | The current status of the request.+createBackendResponse_status :: Lens.Lens' CreateBackendResponse (Prelude.Maybe Prelude.Text)+createBackendResponse_status = Lens.lens (\CreateBackendResponse' {status} -> status) (\s@CreateBackendResponse' {} a -> s {status = a} :: CreateBackendResponse)++-- | The response's http status code.+createBackendResponse_httpStatus :: Lens.Lens' CreateBackendResponse Prelude.Int+createBackendResponse_httpStatus = Lens.lens (\CreateBackendResponse' {httpStatus} -> httpStatus) (\s@CreateBackendResponse' {} a -> s {httpStatus = a} :: CreateBackendResponse)++instance Prelude.NFData CreateBackendResponse where+  rnf CreateBackendResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/CreateBackendAPI.hs view
@@ -0,0 +1,284 @@+{-# 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.AmplifyBackend.CreateBackendAPI+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new backend API resource.+module Amazonka.AmplifyBackend.CreateBackendAPI+  ( -- * Creating a Request+    CreateBackendAPI (..),+    newCreateBackendAPI,++    -- * Request Lenses+    createBackendAPI_appId,+    createBackendAPI_resourceName,+    createBackendAPI_backendEnvironmentName,+    createBackendAPI_resourceConfig,++    -- * Destructuring the Response+    CreateBackendAPIResponse (..),+    newCreateBackendAPIResponse,++    -- * Response Lenses+    createBackendAPIResponse_appId,+    createBackendAPIResponse_backendEnvironmentName,+    createBackendAPIResponse_error,+    createBackendAPIResponse_jobId,+    createBackendAPIResponse_operation,+    createBackendAPIResponse_status,+    createBackendAPIResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for CreateBackendAPI.+--+-- /See:/ 'newCreateBackendAPI' smart constructor.+data CreateBackendAPI = CreateBackendAPI'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of this resource.+    resourceName :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The resource configuration for this request.+    resourceConfig :: BackendAPIResourceConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendAPI' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'createBackendAPI_appId' - The app ID.+--+-- 'resourceName', 'createBackendAPI_resourceName' - The name of this resource.+--+-- 'backendEnvironmentName', 'createBackendAPI_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceConfig', 'createBackendAPI_resourceConfig' - The resource configuration for this request.+newCreateBackendAPI ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceConfig'+  BackendAPIResourceConfig ->+  CreateBackendAPI+newCreateBackendAPI+  pAppId_+  pResourceName_+  pBackendEnvironmentName_+  pResourceConfig_ =+    CreateBackendAPI'+      { appId = pAppId_,+        resourceName = pResourceName_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceConfig = pResourceConfig_+      }++-- | The app ID.+createBackendAPI_appId :: Lens.Lens' CreateBackendAPI Prelude.Text+createBackendAPI_appId = Lens.lens (\CreateBackendAPI' {appId} -> appId) (\s@CreateBackendAPI' {} a -> s {appId = a} :: CreateBackendAPI)++-- | The name of this resource.+createBackendAPI_resourceName :: Lens.Lens' CreateBackendAPI Prelude.Text+createBackendAPI_resourceName = Lens.lens (\CreateBackendAPI' {resourceName} -> resourceName) (\s@CreateBackendAPI' {} a -> s {resourceName = a} :: CreateBackendAPI)++-- | The name of the backend environment.+createBackendAPI_backendEnvironmentName :: Lens.Lens' CreateBackendAPI Prelude.Text+createBackendAPI_backendEnvironmentName = Lens.lens (\CreateBackendAPI' {backendEnvironmentName} -> backendEnvironmentName) (\s@CreateBackendAPI' {} a -> s {backendEnvironmentName = a} :: CreateBackendAPI)++-- | The resource configuration for this request.+createBackendAPI_resourceConfig :: Lens.Lens' CreateBackendAPI BackendAPIResourceConfig+createBackendAPI_resourceConfig = Lens.lens (\CreateBackendAPI' {resourceConfig} -> resourceConfig) (\s@CreateBackendAPI' {} a -> s {resourceConfig = a} :: CreateBackendAPI)++instance Core.AWSRequest CreateBackendAPI where+  type+    AWSResponse CreateBackendAPI =+      CreateBackendAPIResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateBackendAPIResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateBackendAPI where+  hashWithSalt _salt CreateBackendAPI' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` resourceName+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceConfig++instance Prelude.NFData CreateBackendAPI where+  rnf CreateBackendAPI' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf resourceName+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceConfig++instance Data.ToHeaders CreateBackendAPI where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateBackendAPI where+  toJSON CreateBackendAPI' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("resourceName" Data..= resourceName),+            Prelude.Just+              ( "backendEnvironmentName"+                  Data..= backendEnvironmentName+              ),+            Prelude.Just+              ("resourceConfig" Data..= resourceConfig)+          ]+      )++instance Data.ToPath CreateBackendAPI where+  toPath CreateBackendAPI' {..} =+    Prelude.mconcat+      ["/backend/", Data.toBS appId, "/api"]++instance Data.ToQuery CreateBackendAPI where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateBackendAPIResponse' smart constructor.+data CreateBackendAPIResponse = CreateBackendAPIResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'CreateBackendAPIResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'createBackendAPIResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'createBackendAPIResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'createBackendAPIResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'createBackendAPIResponse_jobId' - The ID for the job.+--+-- 'operation', 'createBackendAPIResponse_operation' - The name of the operation.+--+-- 'status', 'createBackendAPIResponse_status' - The current status of the request.+--+-- 'httpStatus', 'createBackendAPIResponse_httpStatus' - The response's http status code.+newCreateBackendAPIResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateBackendAPIResponse+newCreateBackendAPIResponse pHttpStatus_ =+  CreateBackendAPIResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+createBackendAPIResponse_appId :: Lens.Lens' CreateBackendAPIResponse (Prelude.Maybe Prelude.Text)+createBackendAPIResponse_appId = Lens.lens (\CreateBackendAPIResponse' {appId} -> appId) (\s@CreateBackendAPIResponse' {} a -> s {appId = a} :: CreateBackendAPIResponse)++-- | The name of the backend environment.+createBackendAPIResponse_backendEnvironmentName :: Lens.Lens' CreateBackendAPIResponse (Prelude.Maybe Prelude.Text)+createBackendAPIResponse_backendEnvironmentName = Lens.lens (\CreateBackendAPIResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@CreateBackendAPIResponse' {} a -> s {backendEnvironmentName = a} :: CreateBackendAPIResponse)++-- | If the request fails, this error is returned.+createBackendAPIResponse_error :: Lens.Lens' CreateBackendAPIResponse (Prelude.Maybe Prelude.Text)+createBackendAPIResponse_error = Lens.lens (\CreateBackendAPIResponse' {error} -> error) (\s@CreateBackendAPIResponse' {} a -> s {error = a} :: CreateBackendAPIResponse)++-- | The ID for the job.+createBackendAPIResponse_jobId :: Lens.Lens' CreateBackendAPIResponse (Prelude.Maybe Prelude.Text)+createBackendAPIResponse_jobId = Lens.lens (\CreateBackendAPIResponse' {jobId} -> jobId) (\s@CreateBackendAPIResponse' {} a -> s {jobId = a} :: CreateBackendAPIResponse)++-- | The name of the operation.+createBackendAPIResponse_operation :: Lens.Lens' CreateBackendAPIResponse (Prelude.Maybe Prelude.Text)+createBackendAPIResponse_operation = Lens.lens (\CreateBackendAPIResponse' {operation} -> operation) (\s@CreateBackendAPIResponse' {} a -> s {operation = a} :: CreateBackendAPIResponse)++-- | The current status of the request.+createBackendAPIResponse_status :: Lens.Lens' CreateBackendAPIResponse (Prelude.Maybe Prelude.Text)+createBackendAPIResponse_status = Lens.lens (\CreateBackendAPIResponse' {status} -> status) (\s@CreateBackendAPIResponse' {} a -> s {status = a} :: CreateBackendAPIResponse)++-- | The response's http status code.+createBackendAPIResponse_httpStatus :: Lens.Lens' CreateBackendAPIResponse Prelude.Int+createBackendAPIResponse_httpStatus = Lens.lens (\CreateBackendAPIResponse' {httpStatus} -> httpStatus) (\s@CreateBackendAPIResponse' {} a -> s {httpStatus = a} :: CreateBackendAPIResponse)++instance Prelude.NFData CreateBackendAPIResponse where+  rnf CreateBackendAPIResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/CreateBackendAuth.hs view
@@ -0,0 +1,284 @@+{-# 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.AmplifyBackend.CreateBackendAuth+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new backend authentication resource.+module Amazonka.AmplifyBackend.CreateBackendAuth+  ( -- * Creating a Request+    CreateBackendAuth (..),+    newCreateBackendAuth,++    -- * Request Lenses+    createBackendAuth_appId,+    createBackendAuth_resourceName,+    createBackendAuth_backendEnvironmentName,+    createBackendAuth_resourceConfig,++    -- * Destructuring the Response+    CreateBackendAuthResponse (..),+    newCreateBackendAuthResponse,++    -- * Response Lenses+    createBackendAuthResponse_appId,+    createBackendAuthResponse_backendEnvironmentName,+    createBackendAuthResponse_error,+    createBackendAuthResponse_jobId,+    createBackendAuthResponse_operation,+    createBackendAuthResponse_status,+    createBackendAuthResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for CreateBackendAuth.+--+-- /See:/ 'newCreateBackendAuth' smart constructor.+data CreateBackendAuth = CreateBackendAuth'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of this resource.+    resourceName :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The resource configuration for this request object.+    resourceConfig :: CreateBackendAuthResourceConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendAuth' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'createBackendAuth_appId' - The app ID.+--+-- 'resourceName', 'createBackendAuth_resourceName' - The name of this resource.+--+-- 'backendEnvironmentName', 'createBackendAuth_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceConfig', 'createBackendAuth_resourceConfig' - The resource configuration for this request object.+newCreateBackendAuth ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceConfig'+  CreateBackendAuthResourceConfig ->+  CreateBackendAuth+newCreateBackendAuth+  pAppId_+  pResourceName_+  pBackendEnvironmentName_+  pResourceConfig_ =+    CreateBackendAuth'+      { appId = pAppId_,+        resourceName = pResourceName_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceConfig = pResourceConfig_+      }++-- | The app ID.+createBackendAuth_appId :: Lens.Lens' CreateBackendAuth Prelude.Text+createBackendAuth_appId = Lens.lens (\CreateBackendAuth' {appId} -> appId) (\s@CreateBackendAuth' {} a -> s {appId = a} :: CreateBackendAuth)++-- | The name of this resource.+createBackendAuth_resourceName :: Lens.Lens' CreateBackendAuth Prelude.Text+createBackendAuth_resourceName = Lens.lens (\CreateBackendAuth' {resourceName} -> resourceName) (\s@CreateBackendAuth' {} a -> s {resourceName = a} :: CreateBackendAuth)++-- | The name of the backend environment.+createBackendAuth_backendEnvironmentName :: Lens.Lens' CreateBackendAuth Prelude.Text+createBackendAuth_backendEnvironmentName = Lens.lens (\CreateBackendAuth' {backendEnvironmentName} -> backendEnvironmentName) (\s@CreateBackendAuth' {} a -> s {backendEnvironmentName = a} :: CreateBackendAuth)++-- | The resource configuration for this request object.+createBackendAuth_resourceConfig :: Lens.Lens' CreateBackendAuth CreateBackendAuthResourceConfig+createBackendAuth_resourceConfig = Lens.lens (\CreateBackendAuth' {resourceConfig} -> resourceConfig) (\s@CreateBackendAuth' {} a -> s {resourceConfig = a} :: CreateBackendAuth)++instance Core.AWSRequest CreateBackendAuth where+  type+    AWSResponse CreateBackendAuth =+      CreateBackendAuthResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateBackendAuthResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateBackendAuth where+  hashWithSalt _salt CreateBackendAuth' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` resourceName+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceConfig++instance Prelude.NFData CreateBackendAuth where+  rnf CreateBackendAuth' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf resourceName+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceConfig++instance Data.ToHeaders CreateBackendAuth where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateBackendAuth where+  toJSON CreateBackendAuth' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("resourceName" Data..= resourceName),+            Prelude.Just+              ( "backendEnvironmentName"+                  Data..= backendEnvironmentName+              ),+            Prelude.Just+              ("resourceConfig" Data..= resourceConfig)+          ]+      )++instance Data.ToPath CreateBackendAuth where+  toPath CreateBackendAuth' {..} =+    Prelude.mconcat+      ["/backend/", Data.toBS appId, "/auth"]++instance Data.ToQuery CreateBackendAuth where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateBackendAuthResponse' smart constructor.+data CreateBackendAuthResponse = CreateBackendAuthResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'CreateBackendAuthResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'createBackendAuthResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'createBackendAuthResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'createBackendAuthResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'createBackendAuthResponse_jobId' - The ID for the job.+--+-- 'operation', 'createBackendAuthResponse_operation' - The name of the operation.+--+-- 'status', 'createBackendAuthResponse_status' - The current status of the request.+--+-- 'httpStatus', 'createBackendAuthResponse_httpStatus' - The response's http status code.+newCreateBackendAuthResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateBackendAuthResponse+newCreateBackendAuthResponse pHttpStatus_ =+  CreateBackendAuthResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+createBackendAuthResponse_appId :: Lens.Lens' CreateBackendAuthResponse (Prelude.Maybe Prelude.Text)+createBackendAuthResponse_appId = Lens.lens (\CreateBackendAuthResponse' {appId} -> appId) (\s@CreateBackendAuthResponse' {} a -> s {appId = a} :: CreateBackendAuthResponse)++-- | The name of the backend environment.+createBackendAuthResponse_backendEnvironmentName :: Lens.Lens' CreateBackendAuthResponse (Prelude.Maybe Prelude.Text)+createBackendAuthResponse_backendEnvironmentName = Lens.lens (\CreateBackendAuthResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@CreateBackendAuthResponse' {} a -> s {backendEnvironmentName = a} :: CreateBackendAuthResponse)++-- | If the request fails, this error is returned.+createBackendAuthResponse_error :: Lens.Lens' CreateBackendAuthResponse (Prelude.Maybe Prelude.Text)+createBackendAuthResponse_error = Lens.lens (\CreateBackendAuthResponse' {error} -> error) (\s@CreateBackendAuthResponse' {} a -> s {error = a} :: CreateBackendAuthResponse)++-- | The ID for the job.+createBackendAuthResponse_jobId :: Lens.Lens' CreateBackendAuthResponse (Prelude.Maybe Prelude.Text)+createBackendAuthResponse_jobId = Lens.lens (\CreateBackendAuthResponse' {jobId} -> jobId) (\s@CreateBackendAuthResponse' {} a -> s {jobId = a} :: CreateBackendAuthResponse)++-- | The name of the operation.+createBackendAuthResponse_operation :: Lens.Lens' CreateBackendAuthResponse (Prelude.Maybe Prelude.Text)+createBackendAuthResponse_operation = Lens.lens (\CreateBackendAuthResponse' {operation} -> operation) (\s@CreateBackendAuthResponse' {} a -> s {operation = a} :: CreateBackendAuthResponse)++-- | The current status of the request.+createBackendAuthResponse_status :: Lens.Lens' CreateBackendAuthResponse (Prelude.Maybe Prelude.Text)+createBackendAuthResponse_status = Lens.lens (\CreateBackendAuthResponse' {status} -> status) (\s@CreateBackendAuthResponse' {} a -> s {status = a} :: CreateBackendAuthResponse)++-- | The response's http status code.+createBackendAuthResponse_httpStatus :: Lens.Lens' CreateBackendAuthResponse Prelude.Int+createBackendAuthResponse_httpStatus = Lens.lens (\CreateBackendAuthResponse' {httpStatus} -> httpStatus) (\s@CreateBackendAuthResponse' {} a -> s {httpStatus = a} :: CreateBackendAuthResponse)++instance Prelude.NFData CreateBackendAuthResponse where+  rnf CreateBackendAuthResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/CreateBackendConfig.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.AmplifyBackend.CreateBackendConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a config object for a backend.+module Amazonka.AmplifyBackend.CreateBackendConfig+  ( -- * Creating a Request+    CreateBackendConfig (..),+    newCreateBackendConfig,++    -- * Request Lenses+    createBackendConfig_backendManagerAppId,+    createBackendConfig_appId,++    -- * Destructuring the Response+    CreateBackendConfigResponse (..),+    newCreateBackendConfigResponse,++    -- * Response Lenses+    createBackendConfigResponse_appId,+    createBackendConfigResponse_backendEnvironmentName,+    createBackendConfigResponse_jobId,+    createBackendConfigResponse_status,+    createBackendConfigResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for CreateBackendConfig.+--+-- /See:/ 'newCreateBackendConfig' smart constructor.+data CreateBackendConfig = CreateBackendConfig'+  { -- | The app ID for the backend manager.+    backendManagerAppId :: Prelude.Maybe Prelude.Text,+    -- | The app ID.+    appId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backendManagerAppId', 'createBackendConfig_backendManagerAppId' - The app ID for the backend manager.+--+-- 'appId', 'createBackendConfig_appId' - The app ID.+newCreateBackendConfig ::+  -- | 'appId'+  Prelude.Text ->+  CreateBackendConfig+newCreateBackendConfig pAppId_ =+  CreateBackendConfig'+    { backendManagerAppId =+        Prelude.Nothing,+      appId = pAppId_+    }++-- | The app ID for the backend manager.+createBackendConfig_backendManagerAppId :: Lens.Lens' CreateBackendConfig (Prelude.Maybe Prelude.Text)+createBackendConfig_backendManagerAppId = Lens.lens (\CreateBackendConfig' {backendManagerAppId} -> backendManagerAppId) (\s@CreateBackendConfig' {} a -> s {backendManagerAppId = a} :: CreateBackendConfig)++-- | The app ID.+createBackendConfig_appId :: Lens.Lens' CreateBackendConfig Prelude.Text+createBackendConfig_appId = Lens.lens (\CreateBackendConfig' {appId} -> appId) (\s@CreateBackendConfig' {} a -> s {appId = a} :: CreateBackendConfig)++instance Core.AWSRequest CreateBackendConfig where+  type+    AWSResponse CreateBackendConfig =+      CreateBackendConfigResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateBackendConfigResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateBackendConfig where+  hashWithSalt _salt CreateBackendConfig' {..} =+    _salt+      `Prelude.hashWithSalt` backendManagerAppId+      `Prelude.hashWithSalt` appId++instance Prelude.NFData CreateBackendConfig where+  rnf CreateBackendConfig' {..} =+    Prelude.rnf backendManagerAppId+      `Prelude.seq` Prelude.rnf appId++instance Data.ToHeaders CreateBackendConfig where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateBackendConfig where+  toJSON CreateBackendConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("backendManagerAppId" Data..=)+              Prelude.<$> backendManagerAppId+          ]+      )++instance Data.ToPath CreateBackendConfig where+  toPath CreateBackendConfig' {..} =+    Prelude.mconcat+      ["/backend/", Data.toBS appId, "/config"]++instance Data.ToQuery CreateBackendConfig where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateBackendConfigResponse' smart constructor.+data CreateBackendConfigResponse = CreateBackendConfigResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'CreateBackendConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'createBackendConfigResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'createBackendConfigResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'jobId', 'createBackendConfigResponse_jobId' - The ID for the job.+--+-- 'status', 'createBackendConfigResponse_status' - The current status of the request.+--+-- 'httpStatus', 'createBackendConfigResponse_httpStatus' - The response's http status code.+newCreateBackendConfigResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateBackendConfigResponse+newCreateBackendConfigResponse pHttpStatus_ =+  CreateBackendConfigResponse'+    { appId =+        Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      jobId = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+createBackendConfigResponse_appId :: Lens.Lens' CreateBackendConfigResponse (Prelude.Maybe Prelude.Text)+createBackendConfigResponse_appId = Lens.lens (\CreateBackendConfigResponse' {appId} -> appId) (\s@CreateBackendConfigResponse' {} a -> s {appId = a} :: CreateBackendConfigResponse)++-- | The name of the backend environment.+createBackendConfigResponse_backendEnvironmentName :: Lens.Lens' CreateBackendConfigResponse (Prelude.Maybe Prelude.Text)+createBackendConfigResponse_backendEnvironmentName = Lens.lens (\CreateBackendConfigResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@CreateBackendConfigResponse' {} a -> s {backendEnvironmentName = a} :: CreateBackendConfigResponse)++-- | The ID for the job.+createBackendConfigResponse_jobId :: Lens.Lens' CreateBackendConfigResponse (Prelude.Maybe Prelude.Text)+createBackendConfigResponse_jobId = Lens.lens (\CreateBackendConfigResponse' {jobId} -> jobId) (\s@CreateBackendConfigResponse' {} a -> s {jobId = a} :: CreateBackendConfigResponse)++-- | The current status of the request.+createBackendConfigResponse_status :: Lens.Lens' CreateBackendConfigResponse (Prelude.Maybe Prelude.Text)+createBackendConfigResponse_status = Lens.lens (\CreateBackendConfigResponse' {status} -> status) (\s@CreateBackendConfigResponse' {} a -> s {status = a} :: CreateBackendConfigResponse)++-- | The response's http status code.+createBackendConfigResponse_httpStatus :: Lens.Lens' CreateBackendConfigResponse Prelude.Int+createBackendConfigResponse_httpStatus = Lens.lens (\CreateBackendConfigResponse' {httpStatus} -> httpStatus) (\s@CreateBackendConfigResponse' {} a -> s {httpStatus = a} :: CreateBackendConfigResponse)++instance Prelude.NFData CreateBackendConfigResponse where+  rnf CreateBackendConfigResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/CreateBackendStorage.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.CreateBackendStorage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a backend storage resource.+module Amazonka.AmplifyBackend.CreateBackendStorage+  ( -- * Creating a Request+    CreateBackendStorage (..),+    newCreateBackendStorage,++    -- * Request Lenses+    createBackendStorage_appId,+    createBackendStorage_resourceName,+    createBackendStorage_backendEnvironmentName,+    createBackendStorage_resourceConfig,++    -- * Destructuring the Response+    CreateBackendStorageResponse (..),+    newCreateBackendStorageResponse,++    -- * Response Lenses+    createBackendStorageResponse_appId,+    createBackendStorageResponse_backendEnvironmentName,+    createBackendStorageResponse_jobId,+    createBackendStorageResponse_status,+    createBackendStorageResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for CreateBackendStorage.+--+-- /See:/ 'newCreateBackendStorage' smart constructor.+data CreateBackendStorage = CreateBackendStorage'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the storage resource.+    resourceName :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The resource configuration for creating backend storage.+    resourceConfig :: CreateBackendStorageResourceConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'createBackendStorage_appId' - The app ID.+--+-- 'resourceName', 'createBackendStorage_resourceName' - The name of the storage resource.+--+-- 'backendEnvironmentName', 'createBackendStorage_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceConfig', 'createBackendStorage_resourceConfig' - The resource configuration for creating backend storage.+newCreateBackendStorage ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceConfig'+  CreateBackendStorageResourceConfig ->+  CreateBackendStorage+newCreateBackendStorage+  pAppId_+  pResourceName_+  pBackendEnvironmentName_+  pResourceConfig_ =+    CreateBackendStorage'+      { appId = pAppId_,+        resourceName = pResourceName_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceConfig = pResourceConfig_+      }++-- | The app ID.+createBackendStorage_appId :: Lens.Lens' CreateBackendStorage Prelude.Text+createBackendStorage_appId = Lens.lens (\CreateBackendStorage' {appId} -> appId) (\s@CreateBackendStorage' {} a -> s {appId = a} :: CreateBackendStorage)++-- | The name of the storage resource.+createBackendStorage_resourceName :: Lens.Lens' CreateBackendStorage Prelude.Text+createBackendStorage_resourceName = Lens.lens (\CreateBackendStorage' {resourceName} -> resourceName) (\s@CreateBackendStorage' {} a -> s {resourceName = a} :: CreateBackendStorage)++-- | The name of the backend environment.+createBackendStorage_backendEnvironmentName :: Lens.Lens' CreateBackendStorage Prelude.Text+createBackendStorage_backendEnvironmentName = Lens.lens (\CreateBackendStorage' {backendEnvironmentName} -> backendEnvironmentName) (\s@CreateBackendStorage' {} a -> s {backendEnvironmentName = a} :: CreateBackendStorage)++-- | The resource configuration for creating backend storage.+createBackendStorage_resourceConfig :: Lens.Lens' CreateBackendStorage CreateBackendStorageResourceConfig+createBackendStorage_resourceConfig = Lens.lens (\CreateBackendStorage' {resourceConfig} -> resourceConfig) (\s@CreateBackendStorage' {} a -> s {resourceConfig = a} :: CreateBackendStorage)++instance Core.AWSRequest CreateBackendStorage where+  type+    AWSResponse CreateBackendStorage =+      CreateBackendStorageResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateBackendStorageResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateBackendStorage where+  hashWithSalt _salt CreateBackendStorage' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` resourceName+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceConfig++instance Prelude.NFData CreateBackendStorage where+  rnf CreateBackendStorage' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf resourceName+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceConfig++instance Data.ToHeaders CreateBackendStorage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateBackendStorage where+  toJSON CreateBackendStorage' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("resourceName" Data..= resourceName),+            Prelude.Just+              ( "backendEnvironmentName"+                  Data..= backendEnvironmentName+              ),+            Prelude.Just+              ("resourceConfig" Data..= resourceConfig)+          ]+      )++instance Data.ToPath CreateBackendStorage where+  toPath CreateBackendStorage' {..} =+    Prelude.mconcat+      ["/backend/", Data.toBS appId, "/storage"]++instance Data.ToQuery CreateBackendStorage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateBackendStorageResponse' smart constructor.+data CreateBackendStorageResponse = CreateBackendStorageResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'CreateBackendStorageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'createBackendStorageResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'createBackendStorageResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'jobId', 'createBackendStorageResponse_jobId' - The ID for the job.+--+-- 'status', 'createBackendStorageResponse_status' - The current status of the request.+--+-- 'httpStatus', 'createBackendStorageResponse_httpStatus' - The response's http status code.+newCreateBackendStorageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateBackendStorageResponse+newCreateBackendStorageResponse pHttpStatus_ =+  CreateBackendStorageResponse'+    { appId =+        Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      jobId = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+createBackendStorageResponse_appId :: Lens.Lens' CreateBackendStorageResponse (Prelude.Maybe Prelude.Text)+createBackendStorageResponse_appId = Lens.lens (\CreateBackendStorageResponse' {appId} -> appId) (\s@CreateBackendStorageResponse' {} a -> s {appId = a} :: CreateBackendStorageResponse)++-- | The name of the backend environment.+createBackendStorageResponse_backendEnvironmentName :: Lens.Lens' CreateBackendStorageResponse (Prelude.Maybe Prelude.Text)+createBackendStorageResponse_backendEnvironmentName = Lens.lens (\CreateBackendStorageResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@CreateBackendStorageResponse' {} a -> s {backendEnvironmentName = a} :: CreateBackendStorageResponse)++-- | The ID for the job.+createBackendStorageResponse_jobId :: Lens.Lens' CreateBackendStorageResponse (Prelude.Maybe Prelude.Text)+createBackendStorageResponse_jobId = Lens.lens (\CreateBackendStorageResponse' {jobId} -> jobId) (\s@CreateBackendStorageResponse' {} a -> s {jobId = a} :: CreateBackendStorageResponse)++-- | The current status of the request.+createBackendStorageResponse_status :: Lens.Lens' CreateBackendStorageResponse (Prelude.Maybe Prelude.Text)+createBackendStorageResponse_status = Lens.lens (\CreateBackendStorageResponse' {status} -> status) (\s@CreateBackendStorageResponse' {} a -> s {status = a} :: CreateBackendStorageResponse)++-- | The response's http status code.+createBackendStorageResponse_httpStatus :: Lens.Lens' CreateBackendStorageResponse Prelude.Int+createBackendStorageResponse_httpStatus = Lens.lens (\CreateBackendStorageResponse' {httpStatus} -> httpStatus) (\s@CreateBackendStorageResponse' {} a -> s {httpStatus = a} :: CreateBackendStorageResponse)++instance Prelude.NFData CreateBackendStorageResponse where+  rnf CreateBackendStorageResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/CreateToken.hs view
@@ -0,0 +1,196 @@+{-# 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.AmplifyBackend.CreateToken+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates a one-time challenge code to authenticate a user into your+-- Amplify Admin UI.+module Amazonka.AmplifyBackend.CreateToken+  ( -- * Creating a Request+    CreateToken (..),+    newCreateToken,++    -- * Request Lenses+    createToken_appId,++    -- * Destructuring the Response+    CreateTokenResponse (..),+    newCreateTokenResponse,++    -- * Response Lenses+    createTokenResponse_appId,+    createTokenResponse_challengeCode,+    createTokenResponse_sessionId,+    createTokenResponse_ttl,+    createTokenResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | /See:/ 'newCreateToken' smart constructor.+data CreateToken = CreateToken'+  { -- | The app ID.+    appId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateToken' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'createToken_appId' - The app ID.+newCreateToken ::+  -- | 'appId'+  Prelude.Text ->+  CreateToken+newCreateToken pAppId_ =+  CreateToken' {appId = pAppId_}++-- | The app ID.+createToken_appId :: Lens.Lens' CreateToken Prelude.Text+createToken_appId = Lens.lens (\CreateToken' {appId} -> appId) (\s@CreateToken' {} a -> s {appId = a} :: CreateToken)++instance Core.AWSRequest CreateToken where+  type AWSResponse CreateToken = CreateTokenResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateTokenResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "challengeCode")+            Prelude.<*> (x Data..?> "sessionId")+            Prelude.<*> (x Data..?> "ttl")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateToken where+  hashWithSalt _salt CreateToken' {..} =+    _salt `Prelude.hashWithSalt` appId++instance Prelude.NFData CreateToken where+  rnf CreateToken' {..} = Prelude.rnf appId++instance Data.ToHeaders CreateToken where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateToken where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath CreateToken where+  toPath CreateToken' {..} =+    Prelude.mconcat+      ["/backend/", Data.toBS appId, "/challenge"]++instance Data.ToQuery CreateToken where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateTokenResponse' smart constructor.+data CreateTokenResponse = CreateTokenResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | One-time challenge code for authenticating into the Amplify Admin UI.+    challengeCode :: Prelude.Maybe Prelude.Text,+    -- | A unique ID provided when creating a new challenge token.+    sessionId :: Prelude.Maybe Prelude.Text,+    -- | The expiry time for the one-time generated token code.+    ttl :: 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 'CreateTokenResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'createTokenResponse_appId' - The app ID.+--+-- 'challengeCode', 'createTokenResponse_challengeCode' - One-time challenge code for authenticating into the Amplify Admin UI.+--+-- 'sessionId', 'createTokenResponse_sessionId' - A unique ID provided when creating a new challenge token.+--+-- 'ttl', 'createTokenResponse_ttl' - The expiry time for the one-time generated token code.+--+-- 'httpStatus', 'createTokenResponse_httpStatus' - The response's http status code.+newCreateTokenResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateTokenResponse+newCreateTokenResponse pHttpStatus_ =+  CreateTokenResponse'+    { appId = Prelude.Nothing,+      challengeCode = Prelude.Nothing,+      sessionId = Prelude.Nothing,+      ttl = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+createTokenResponse_appId :: Lens.Lens' CreateTokenResponse (Prelude.Maybe Prelude.Text)+createTokenResponse_appId = Lens.lens (\CreateTokenResponse' {appId} -> appId) (\s@CreateTokenResponse' {} a -> s {appId = a} :: CreateTokenResponse)++-- | One-time challenge code for authenticating into the Amplify Admin UI.+createTokenResponse_challengeCode :: Lens.Lens' CreateTokenResponse (Prelude.Maybe Prelude.Text)+createTokenResponse_challengeCode = Lens.lens (\CreateTokenResponse' {challengeCode} -> challengeCode) (\s@CreateTokenResponse' {} a -> s {challengeCode = a} :: CreateTokenResponse)++-- | A unique ID provided when creating a new challenge token.+createTokenResponse_sessionId :: Lens.Lens' CreateTokenResponse (Prelude.Maybe Prelude.Text)+createTokenResponse_sessionId = Lens.lens (\CreateTokenResponse' {sessionId} -> sessionId) (\s@CreateTokenResponse' {} a -> s {sessionId = a} :: CreateTokenResponse)++-- | The expiry time for the one-time generated token code.+createTokenResponse_ttl :: Lens.Lens' CreateTokenResponse (Prelude.Maybe Prelude.Text)+createTokenResponse_ttl = Lens.lens (\CreateTokenResponse' {ttl} -> ttl) (\s@CreateTokenResponse' {} a -> s {ttl = a} :: CreateTokenResponse)++-- | The response's http status code.+createTokenResponse_httpStatus :: Lens.Lens' CreateTokenResponse Prelude.Int+createTokenResponse_httpStatus = Lens.lens (\CreateTokenResponse' {httpStatus} -> httpStatus) (\s@CreateTokenResponse' {} a -> s {httpStatus = a} :: CreateTokenResponse)++instance Prelude.NFData CreateTokenResponse where+  rnf CreateTokenResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf challengeCode+      `Prelude.seq` Prelude.rnf sessionId+      `Prelude.seq` Prelude.rnf ttl+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/DeleteBackend.hs view
@@ -0,0 +1,244 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.DeleteBackend+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes an existing environment from your Amplify project.+module Amazonka.AmplifyBackend.DeleteBackend+  ( -- * Creating a Request+    DeleteBackend (..),+    newDeleteBackend,++    -- * Request Lenses+    deleteBackend_appId,+    deleteBackend_backendEnvironmentName,++    -- * Destructuring the Response+    DeleteBackendResponse (..),+    newDeleteBackendResponse,++    -- * Response Lenses+    deleteBackendResponse_appId,+    deleteBackendResponse_backendEnvironmentName,+    deleteBackendResponse_error,+    deleteBackendResponse_jobId,+    deleteBackendResponse_operation,+    deleteBackendResponse_status,+    deleteBackendResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | /See:/ 'newDeleteBackend' smart constructor.+data DeleteBackend = DeleteBackend'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBackend' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'deleteBackend_appId' - The app ID.+--+-- 'backendEnvironmentName', 'deleteBackend_backendEnvironmentName' - The name of the backend environment.+newDeleteBackend ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  DeleteBackend+newDeleteBackend pAppId_ pBackendEnvironmentName_ =+  DeleteBackend'+    { appId = pAppId_,+      backendEnvironmentName = pBackendEnvironmentName_+    }++-- | The app ID.+deleteBackend_appId :: Lens.Lens' DeleteBackend Prelude.Text+deleteBackend_appId = Lens.lens (\DeleteBackend' {appId} -> appId) (\s@DeleteBackend' {} a -> s {appId = a} :: DeleteBackend)++-- | The name of the backend environment.+deleteBackend_backendEnvironmentName :: Lens.Lens' DeleteBackend Prelude.Text+deleteBackend_backendEnvironmentName = Lens.lens (\DeleteBackend' {backendEnvironmentName} -> backendEnvironmentName) (\s@DeleteBackend' {} a -> s {backendEnvironmentName = a} :: DeleteBackend)++instance Core.AWSRequest DeleteBackend where+  type+    AWSResponse DeleteBackend =+      DeleteBackendResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteBackendResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteBackend where+  hashWithSalt _salt DeleteBackend' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName++instance Prelude.NFData DeleteBackend where+  rnf DeleteBackend' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName++instance Data.ToHeaders DeleteBackend where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteBackend where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath DeleteBackend where+  toPath DeleteBackend' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/environments/",+        Data.toBS backendEnvironmentName,+        "/remove"+      ]++instance Data.ToQuery DeleteBackend where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteBackendResponse' smart constructor.+data DeleteBackendResponse = DeleteBackendResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'DeleteBackendResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'deleteBackendResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'deleteBackendResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'deleteBackendResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'deleteBackendResponse_jobId' - The ID for the job.+--+-- 'operation', 'deleteBackendResponse_operation' - The name of the operation.+--+-- 'status', 'deleteBackendResponse_status' - The current status of the request.+--+-- 'httpStatus', 'deleteBackendResponse_httpStatus' - The response's http status code.+newDeleteBackendResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteBackendResponse+newDeleteBackendResponse pHttpStatus_ =+  DeleteBackendResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+deleteBackendResponse_appId :: Lens.Lens' DeleteBackendResponse (Prelude.Maybe Prelude.Text)+deleteBackendResponse_appId = Lens.lens (\DeleteBackendResponse' {appId} -> appId) (\s@DeleteBackendResponse' {} a -> s {appId = a} :: DeleteBackendResponse)++-- | The name of the backend environment.+deleteBackendResponse_backendEnvironmentName :: Lens.Lens' DeleteBackendResponse (Prelude.Maybe Prelude.Text)+deleteBackendResponse_backendEnvironmentName = Lens.lens (\DeleteBackendResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@DeleteBackendResponse' {} a -> s {backendEnvironmentName = a} :: DeleteBackendResponse)++-- | If the request fails, this error is returned.+deleteBackendResponse_error :: Lens.Lens' DeleteBackendResponse (Prelude.Maybe Prelude.Text)+deleteBackendResponse_error = Lens.lens (\DeleteBackendResponse' {error} -> error) (\s@DeleteBackendResponse' {} a -> s {error = a} :: DeleteBackendResponse)++-- | The ID for the job.+deleteBackendResponse_jobId :: Lens.Lens' DeleteBackendResponse (Prelude.Maybe Prelude.Text)+deleteBackendResponse_jobId = Lens.lens (\DeleteBackendResponse' {jobId} -> jobId) (\s@DeleteBackendResponse' {} a -> s {jobId = a} :: DeleteBackendResponse)++-- | The name of the operation.+deleteBackendResponse_operation :: Lens.Lens' DeleteBackendResponse (Prelude.Maybe Prelude.Text)+deleteBackendResponse_operation = Lens.lens (\DeleteBackendResponse' {operation} -> operation) (\s@DeleteBackendResponse' {} a -> s {operation = a} :: DeleteBackendResponse)++-- | The current status of the request.+deleteBackendResponse_status :: Lens.Lens' DeleteBackendResponse (Prelude.Maybe Prelude.Text)+deleteBackendResponse_status = Lens.lens (\DeleteBackendResponse' {status} -> status) (\s@DeleteBackendResponse' {} a -> s {status = a} :: DeleteBackendResponse)++-- | The response's http status code.+deleteBackendResponse_httpStatus :: Lens.Lens' DeleteBackendResponse Prelude.Int+deleteBackendResponse_httpStatus = Lens.lens (\DeleteBackendResponse' {httpStatus} -> httpStatus) (\s@DeleteBackendResponse' {} a -> s {httpStatus = a} :: DeleteBackendResponse)++instance Prelude.NFData DeleteBackendResponse where+  rnf DeleteBackendResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/DeleteBackendAPI.hs view
@@ -0,0 +1,285 @@+{-# 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.AmplifyBackend.DeleteBackendAPI+-- 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 an existing backend API resource.+module Amazonka.AmplifyBackend.DeleteBackendAPI+  ( -- * Creating a Request+    DeleteBackendAPI (..),+    newDeleteBackendAPI,++    -- * Request Lenses+    deleteBackendAPI_resourceConfig,+    deleteBackendAPI_appId,+    deleteBackendAPI_backendEnvironmentName,+    deleteBackendAPI_resourceName,++    -- * Destructuring the Response+    DeleteBackendAPIResponse (..),+    newDeleteBackendAPIResponse,++    -- * Response Lenses+    deleteBackendAPIResponse_appId,+    deleteBackendAPIResponse_backendEnvironmentName,+    deleteBackendAPIResponse_error,+    deleteBackendAPIResponse_jobId,+    deleteBackendAPIResponse_operation,+    deleteBackendAPIResponse_status,+    deleteBackendAPIResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for DeleteBackendAPI.+--+-- /See:/ 'newDeleteBackendAPI' smart constructor.+data DeleteBackendAPI = DeleteBackendAPI'+  { -- | Defines the resource configuration for the data model in your Amplify+    -- project.+    resourceConfig :: Prelude.Maybe BackendAPIResourceConfig,+    -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of this resource.+    resourceName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBackendAPI' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceConfig', 'deleteBackendAPI_resourceConfig' - Defines the resource configuration for the data model in your Amplify+-- project.+--+-- 'appId', 'deleteBackendAPI_appId' - The app ID.+--+-- 'backendEnvironmentName', 'deleteBackendAPI_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceName', 'deleteBackendAPI_resourceName' - The name of this resource.+newDeleteBackendAPI ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  DeleteBackendAPI+newDeleteBackendAPI+  pAppId_+  pBackendEnvironmentName_+  pResourceName_ =+    DeleteBackendAPI'+      { resourceConfig = Prelude.Nothing,+        appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceName = pResourceName_+      }++-- | Defines the resource configuration for the data model in your Amplify+-- project.+deleteBackendAPI_resourceConfig :: Lens.Lens' DeleteBackendAPI (Prelude.Maybe BackendAPIResourceConfig)+deleteBackendAPI_resourceConfig = Lens.lens (\DeleteBackendAPI' {resourceConfig} -> resourceConfig) (\s@DeleteBackendAPI' {} a -> s {resourceConfig = a} :: DeleteBackendAPI)++-- | The app ID.+deleteBackendAPI_appId :: Lens.Lens' DeleteBackendAPI Prelude.Text+deleteBackendAPI_appId = Lens.lens (\DeleteBackendAPI' {appId} -> appId) (\s@DeleteBackendAPI' {} a -> s {appId = a} :: DeleteBackendAPI)++-- | The name of the backend environment.+deleteBackendAPI_backendEnvironmentName :: Lens.Lens' DeleteBackendAPI Prelude.Text+deleteBackendAPI_backendEnvironmentName = Lens.lens (\DeleteBackendAPI' {backendEnvironmentName} -> backendEnvironmentName) (\s@DeleteBackendAPI' {} a -> s {backendEnvironmentName = a} :: DeleteBackendAPI)++-- | The name of this resource.+deleteBackendAPI_resourceName :: Lens.Lens' DeleteBackendAPI Prelude.Text+deleteBackendAPI_resourceName = Lens.lens (\DeleteBackendAPI' {resourceName} -> resourceName) (\s@DeleteBackendAPI' {} a -> s {resourceName = a} :: DeleteBackendAPI)++instance Core.AWSRequest DeleteBackendAPI where+  type+    AWSResponse DeleteBackendAPI =+      DeleteBackendAPIResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteBackendAPIResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteBackendAPI where+  hashWithSalt _salt DeleteBackendAPI' {..} =+    _salt+      `Prelude.hashWithSalt` resourceConfig+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceName++instance Prelude.NFData DeleteBackendAPI where+  rnf DeleteBackendAPI' {..} =+    Prelude.rnf resourceConfig+      `Prelude.seq` Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceName++instance Data.ToHeaders DeleteBackendAPI where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteBackendAPI where+  toJSON DeleteBackendAPI' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("resourceConfig" Data..=)+              Prelude.<$> resourceConfig,+            Prelude.Just ("resourceName" Data..= resourceName)+          ]+      )++instance Data.ToPath DeleteBackendAPI where+  toPath DeleteBackendAPI' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/api/",+        Data.toBS backendEnvironmentName,+        "/remove"+      ]++instance Data.ToQuery DeleteBackendAPI where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteBackendAPIResponse' smart constructor.+data DeleteBackendAPIResponse = DeleteBackendAPIResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'DeleteBackendAPIResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'deleteBackendAPIResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'deleteBackendAPIResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'deleteBackendAPIResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'deleteBackendAPIResponse_jobId' - The ID for the job.+--+-- 'operation', 'deleteBackendAPIResponse_operation' - The name of the operation.+--+-- 'status', 'deleteBackendAPIResponse_status' - The current status of the request.+--+-- 'httpStatus', 'deleteBackendAPIResponse_httpStatus' - The response's http status code.+newDeleteBackendAPIResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteBackendAPIResponse+newDeleteBackendAPIResponse pHttpStatus_ =+  DeleteBackendAPIResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+deleteBackendAPIResponse_appId :: Lens.Lens' DeleteBackendAPIResponse (Prelude.Maybe Prelude.Text)+deleteBackendAPIResponse_appId = Lens.lens (\DeleteBackendAPIResponse' {appId} -> appId) (\s@DeleteBackendAPIResponse' {} a -> s {appId = a} :: DeleteBackendAPIResponse)++-- | The name of the backend environment.+deleteBackendAPIResponse_backendEnvironmentName :: Lens.Lens' DeleteBackendAPIResponse (Prelude.Maybe Prelude.Text)+deleteBackendAPIResponse_backendEnvironmentName = Lens.lens (\DeleteBackendAPIResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@DeleteBackendAPIResponse' {} a -> s {backendEnvironmentName = a} :: DeleteBackendAPIResponse)++-- | If the request fails, this error is returned.+deleteBackendAPIResponse_error :: Lens.Lens' DeleteBackendAPIResponse (Prelude.Maybe Prelude.Text)+deleteBackendAPIResponse_error = Lens.lens (\DeleteBackendAPIResponse' {error} -> error) (\s@DeleteBackendAPIResponse' {} a -> s {error = a} :: DeleteBackendAPIResponse)++-- | The ID for the job.+deleteBackendAPIResponse_jobId :: Lens.Lens' DeleteBackendAPIResponse (Prelude.Maybe Prelude.Text)+deleteBackendAPIResponse_jobId = Lens.lens (\DeleteBackendAPIResponse' {jobId} -> jobId) (\s@DeleteBackendAPIResponse' {} a -> s {jobId = a} :: DeleteBackendAPIResponse)++-- | The name of the operation.+deleteBackendAPIResponse_operation :: Lens.Lens' DeleteBackendAPIResponse (Prelude.Maybe Prelude.Text)+deleteBackendAPIResponse_operation = Lens.lens (\DeleteBackendAPIResponse' {operation} -> operation) (\s@DeleteBackendAPIResponse' {} a -> s {operation = a} :: DeleteBackendAPIResponse)++-- | The current status of the request.+deleteBackendAPIResponse_status :: Lens.Lens' DeleteBackendAPIResponse (Prelude.Maybe Prelude.Text)+deleteBackendAPIResponse_status = Lens.lens (\DeleteBackendAPIResponse' {status} -> status) (\s@DeleteBackendAPIResponse' {} a -> s {status = a} :: DeleteBackendAPIResponse)++-- | The response's http status code.+deleteBackendAPIResponse_httpStatus :: Lens.Lens' DeleteBackendAPIResponse Prelude.Int+deleteBackendAPIResponse_httpStatus = Lens.lens (\DeleteBackendAPIResponse' {httpStatus} -> httpStatus) (\s@DeleteBackendAPIResponse' {} a -> s {httpStatus = a} :: DeleteBackendAPIResponse)++instance Prelude.NFData DeleteBackendAPIResponse where+  rnf DeleteBackendAPIResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/DeleteBackendAuth.hs view
@@ -0,0 +1,267 @@+{-# 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.AmplifyBackend.DeleteBackendAuth+-- 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 an existing backend authentication resource.+module Amazonka.AmplifyBackend.DeleteBackendAuth+  ( -- * Creating a Request+    DeleteBackendAuth (..),+    newDeleteBackendAuth,++    -- * Request Lenses+    deleteBackendAuth_appId,+    deleteBackendAuth_backendEnvironmentName,+    deleteBackendAuth_resourceName,++    -- * Destructuring the Response+    DeleteBackendAuthResponse (..),+    newDeleteBackendAuthResponse,++    -- * Response Lenses+    deleteBackendAuthResponse_appId,+    deleteBackendAuthResponse_backendEnvironmentName,+    deleteBackendAuthResponse_error,+    deleteBackendAuthResponse_jobId,+    deleteBackendAuthResponse_operation,+    deleteBackendAuthResponse_status,+    deleteBackendAuthResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for DeleteBackendAuth.+--+-- /See:/ 'newDeleteBackendAuth' smart constructor.+data DeleteBackendAuth = DeleteBackendAuth'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of this resource.+    resourceName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBackendAuth' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'deleteBackendAuth_appId' - The app ID.+--+-- 'backendEnvironmentName', 'deleteBackendAuth_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceName', 'deleteBackendAuth_resourceName' - The name of this resource.+newDeleteBackendAuth ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  DeleteBackendAuth+newDeleteBackendAuth+  pAppId_+  pBackendEnvironmentName_+  pResourceName_ =+    DeleteBackendAuth'+      { appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceName = pResourceName_+      }++-- | The app ID.+deleteBackendAuth_appId :: Lens.Lens' DeleteBackendAuth Prelude.Text+deleteBackendAuth_appId = Lens.lens (\DeleteBackendAuth' {appId} -> appId) (\s@DeleteBackendAuth' {} a -> s {appId = a} :: DeleteBackendAuth)++-- | The name of the backend environment.+deleteBackendAuth_backendEnvironmentName :: Lens.Lens' DeleteBackendAuth Prelude.Text+deleteBackendAuth_backendEnvironmentName = Lens.lens (\DeleteBackendAuth' {backendEnvironmentName} -> backendEnvironmentName) (\s@DeleteBackendAuth' {} a -> s {backendEnvironmentName = a} :: DeleteBackendAuth)++-- | The name of this resource.+deleteBackendAuth_resourceName :: Lens.Lens' DeleteBackendAuth Prelude.Text+deleteBackendAuth_resourceName = Lens.lens (\DeleteBackendAuth' {resourceName} -> resourceName) (\s@DeleteBackendAuth' {} a -> s {resourceName = a} :: DeleteBackendAuth)++instance Core.AWSRequest DeleteBackendAuth where+  type+    AWSResponse DeleteBackendAuth =+      DeleteBackendAuthResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteBackendAuthResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteBackendAuth where+  hashWithSalt _salt DeleteBackendAuth' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceName++instance Prelude.NFData DeleteBackendAuth where+  rnf DeleteBackendAuth' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceName++instance Data.ToHeaders DeleteBackendAuth where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteBackendAuth where+  toJSON DeleteBackendAuth' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("resourceName" Data..= resourceName)]+      )++instance Data.ToPath DeleteBackendAuth where+  toPath DeleteBackendAuth' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/auth/",+        Data.toBS backendEnvironmentName,+        "/remove"+      ]++instance Data.ToQuery DeleteBackendAuth where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteBackendAuthResponse' smart constructor.+data DeleteBackendAuthResponse = DeleteBackendAuthResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'DeleteBackendAuthResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'deleteBackendAuthResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'deleteBackendAuthResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'deleteBackendAuthResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'deleteBackendAuthResponse_jobId' - The ID for the job.+--+-- 'operation', 'deleteBackendAuthResponse_operation' - The name of the operation.+--+-- 'status', 'deleteBackendAuthResponse_status' - The current status of the request.+--+-- 'httpStatus', 'deleteBackendAuthResponse_httpStatus' - The response's http status code.+newDeleteBackendAuthResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteBackendAuthResponse+newDeleteBackendAuthResponse pHttpStatus_ =+  DeleteBackendAuthResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+deleteBackendAuthResponse_appId :: Lens.Lens' DeleteBackendAuthResponse (Prelude.Maybe Prelude.Text)+deleteBackendAuthResponse_appId = Lens.lens (\DeleteBackendAuthResponse' {appId} -> appId) (\s@DeleteBackendAuthResponse' {} a -> s {appId = a} :: DeleteBackendAuthResponse)++-- | The name of the backend environment.+deleteBackendAuthResponse_backendEnvironmentName :: Lens.Lens' DeleteBackendAuthResponse (Prelude.Maybe Prelude.Text)+deleteBackendAuthResponse_backendEnvironmentName = Lens.lens (\DeleteBackendAuthResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@DeleteBackendAuthResponse' {} a -> s {backendEnvironmentName = a} :: DeleteBackendAuthResponse)++-- | If the request fails, this error is returned.+deleteBackendAuthResponse_error :: Lens.Lens' DeleteBackendAuthResponse (Prelude.Maybe Prelude.Text)+deleteBackendAuthResponse_error = Lens.lens (\DeleteBackendAuthResponse' {error} -> error) (\s@DeleteBackendAuthResponse' {} a -> s {error = a} :: DeleteBackendAuthResponse)++-- | The ID for the job.+deleteBackendAuthResponse_jobId :: Lens.Lens' DeleteBackendAuthResponse (Prelude.Maybe Prelude.Text)+deleteBackendAuthResponse_jobId = Lens.lens (\DeleteBackendAuthResponse' {jobId} -> jobId) (\s@DeleteBackendAuthResponse' {} a -> s {jobId = a} :: DeleteBackendAuthResponse)++-- | The name of the operation.+deleteBackendAuthResponse_operation :: Lens.Lens' DeleteBackendAuthResponse (Prelude.Maybe Prelude.Text)+deleteBackendAuthResponse_operation = Lens.lens (\DeleteBackendAuthResponse' {operation} -> operation) (\s@DeleteBackendAuthResponse' {} a -> s {operation = a} :: DeleteBackendAuthResponse)++-- | The current status of the request.+deleteBackendAuthResponse_status :: Lens.Lens' DeleteBackendAuthResponse (Prelude.Maybe Prelude.Text)+deleteBackendAuthResponse_status = Lens.lens (\DeleteBackendAuthResponse' {status} -> status) (\s@DeleteBackendAuthResponse' {} a -> s {status = a} :: DeleteBackendAuthResponse)++-- | The response's http status code.+deleteBackendAuthResponse_httpStatus :: Lens.Lens' DeleteBackendAuthResponse Prelude.Int+deleteBackendAuthResponse_httpStatus = Lens.lens (\DeleteBackendAuthResponse' {httpStatus} -> httpStatus) (\s@DeleteBackendAuthResponse' {} a -> s {httpStatus = a} :: DeleteBackendAuthResponse)++instance Prelude.NFData DeleteBackendAuthResponse where+  rnf DeleteBackendAuthResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/DeleteBackendStorage.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.DeleteBackendStorage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the specified backend storage resource.+module Amazonka.AmplifyBackend.DeleteBackendStorage+  ( -- * Creating a Request+    DeleteBackendStorage (..),+    newDeleteBackendStorage,++    -- * Request Lenses+    deleteBackendStorage_appId,+    deleteBackendStorage_backendEnvironmentName,+    deleteBackendStorage_serviceName,+    deleteBackendStorage_resourceName,++    -- * Destructuring the Response+    DeleteBackendStorageResponse (..),+    newDeleteBackendStorageResponse,++    -- * Response Lenses+    deleteBackendStorageResponse_appId,+    deleteBackendStorageResponse_backendEnvironmentName,+    deleteBackendStorageResponse_jobId,+    deleteBackendStorageResponse_status,+    deleteBackendStorageResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for DeleteBackendStorage.+--+-- /See:/ 'newDeleteBackendStorage' smart constructor.+data DeleteBackendStorage = DeleteBackendStorage'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of the storage service.+    serviceName :: ServiceName,+    -- | The name of the storage resource.+    resourceName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBackendStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'deleteBackendStorage_appId' - The app ID.+--+-- 'backendEnvironmentName', 'deleteBackendStorage_backendEnvironmentName' - The name of the backend environment.+--+-- 'serviceName', 'deleteBackendStorage_serviceName' - The name of the storage service.+--+-- 'resourceName', 'deleteBackendStorage_resourceName' - The name of the storage resource.+newDeleteBackendStorage ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'serviceName'+  ServiceName ->+  -- | 'resourceName'+  Prelude.Text ->+  DeleteBackendStorage+newDeleteBackendStorage+  pAppId_+  pBackendEnvironmentName_+  pServiceName_+  pResourceName_ =+    DeleteBackendStorage'+      { appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        serviceName = pServiceName_,+        resourceName = pResourceName_+      }++-- | The app ID.+deleteBackendStorage_appId :: Lens.Lens' DeleteBackendStorage Prelude.Text+deleteBackendStorage_appId = Lens.lens (\DeleteBackendStorage' {appId} -> appId) (\s@DeleteBackendStorage' {} a -> s {appId = a} :: DeleteBackendStorage)++-- | The name of the backend environment.+deleteBackendStorage_backendEnvironmentName :: Lens.Lens' DeleteBackendStorage Prelude.Text+deleteBackendStorage_backendEnvironmentName = Lens.lens (\DeleteBackendStorage' {backendEnvironmentName} -> backendEnvironmentName) (\s@DeleteBackendStorage' {} a -> s {backendEnvironmentName = a} :: DeleteBackendStorage)++-- | The name of the storage service.+deleteBackendStorage_serviceName :: Lens.Lens' DeleteBackendStorage ServiceName+deleteBackendStorage_serviceName = Lens.lens (\DeleteBackendStorage' {serviceName} -> serviceName) (\s@DeleteBackendStorage' {} a -> s {serviceName = a} :: DeleteBackendStorage)++-- | The name of the storage resource.+deleteBackendStorage_resourceName :: Lens.Lens' DeleteBackendStorage Prelude.Text+deleteBackendStorage_resourceName = Lens.lens (\DeleteBackendStorage' {resourceName} -> resourceName) (\s@DeleteBackendStorage' {} a -> s {resourceName = a} :: DeleteBackendStorage)++instance Core.AWSRequest DeleteBackendStorage where+  type+    AWSResponse DeleteBackendStorage =+      DeleteBackendStorageResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteBackendStorageResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteBackendStorage where+  hashWithSalt _salt DeleteBackendStorage' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` serviceName+      `Prelude.hashWithSalt` resourceName++instance Prelude.NFData DeleteBackendStorage where+  rnf DeleteBackendStorage' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf serviceName+      `Prelude.seq` Prelude.rnf resourceName++instance Data.ToHeaders DeleteBackendStorage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteBackendStorage where+  toJSON DeleteBackendStorage' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("serviceName" Data..= serviceName),+            Prelude.Just ("resourceName" Data..= resourceName)+          ]+      )++instance Data.ToPath DeleteBackendStorage where+  toPath DeleteBackendStorage' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/storage/",+        Data.toBS backendEnvironmentName,+        "/remove"+      ]++instance Data.ToQuery DeleteBackendStorage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteBackendStorageResponse' smart constructor.+data DeleteBackendStorageResponse = DeleteBackendStorageResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'DeleteBackendStorageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'deleteBackendStorageResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'deleteBackendStorageResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'jobId', 'deleteBackendStorageResponse_jobId' - The ID for the job.+--+-- 'status', 'deleteBackendStorageResponse_status' - The current status of the request.+--+-- 'httpStatus', 'deleteBackendStorageResponse_httpStatus' - The response's http status code.+newDeleteBackendStorageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteBackendStorageResponse+newDeleteBackendStorageResponse pHttpStatus_ =+  DeleteBackendStorageResponse'+    { appId =+        Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      jobId = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+deleteBackendStorageResponse_appId :: Lens.Lens' DeleteBackendStorageResponse (Prelude.Maybe Prelude.Text)+deleteBackendStorageResponse_appId = Lens.lens (\DeleteBackendStorageResponse' {appId} -> appId) (\s@DeleteBackendStorageResponse' {} a -> s {appId = a} :: DeleteBackendStorageResponse)++-- | The name of the backend environment.+deleteBackendStorageResponse_backendEnvironmentName :: Lens.Lens' DeleteBackendStorageResponse (Prelude.Maybe Prelude.Text)+deleteBackendStorageResponse_backendEnvironmentName = Lens.lens (\DeleteBackendStorageResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@DeleteBackendStorageResponse' {} a -> s {backendEnvironmentName = a} :: DeleteBackendStorageResponse)++-- | The ID for the job.+deleteBackendStorageResponse_jobId :: Lens.Lens' DeleteBackendStorageResponse (Prelude.Maybe Prelude.Text)+deleteBackendStorageResponse_jobId = Lens.lens (\DeleteBackendStorageResponse' {jobId} -> jobId) (\s@DeleteBackendStorageResponse' {} a -> s {jobId = a} :: DeleteBackendStorageResponse)++-- | The current status of the request.+deleteBackendStorageResponse_status :: Lens.Lens' DeleteBackendStorageResponse (Prelude.Maybe Prelude.Text)+deleteBackendStorageResponse_status = Lens.lens (\DeleteBackendStorageResponse' {status} -> status) (\s@DeleteBackendStorageResponse' {} a -> s {status = a} :: DeleteBackendStorageResponse)++-- | The response's http status code.+deleteBackendStorageResponse_httpStatus :: Lens.Lens' DeleteBackendStorageResponse Prelude.Int+deleteBackendStorageResponse_httpStatus = Lens.lens (\DeleteBackendStorageResponse' {httpStatus} -> httpStatus) (\s@DeleteBackendStorageResponse' {} a -> s {httpStatus = a} :: DeleteBackendStorageResponse)++instance Prelude.NFData DeleteBackendStorageResponse where+  rnf DeleteBackendStorageResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/DeleteToken.hs view
@@ -0,0 +1,182 @@+{-# 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.AmplifyBackend.DeleteToken+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the challenge token based on the given appId and sessionId.+module Amazonka.AmplifyBackend.DeleteToken+  ( -- * Creating a Request+    DeleteToken (..),+    newDeleteToken,++    -- * Request Lenses+    deleteToken_sessionId,+    deleteToken_appId,++    -- * Destructuring the Response+    DeleteTokenResponse (..),+    newDeleteTokenResponse,++    -- * Response Lenses+    deleteTokenResponse_isSuccess,+    deleteTokenResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | /See:/ 'newDeleteToken' smart constructor.+data DeleteToken = DeleteToken'+  { -- | The session ID.+    sessionId :: Prelude.Text,+    -- | The app ID.+    appId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteToken' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sessionId', 'deleteToken_sessionId' - The session ID.+--+-- 'appId', 'deleteToken_appId' - The app ID.+newDeleteToken ::+  -- | 'sessionId'+  Prelude.Text ->+  -- | 'appId'+  Prelude.Text ->+  DeleteToken+newDeleteToken pSessionId_ pAppId_ =+  DeleteToken'+    { sessionId = pSessionId_,+      appId = pAppId_+    }++-- | The session ID.+deleteToken_sessionId :: Lens.Lens' DeleteToken Prelude.Text+deleteToken_sessionId = Lens.lens (\DeleteToken' {sessionId} -> sessionId) (\s@DeleteToken' {} a -> s {sessionId = a} :: DeleteToken)++-- | The app ID.+deleteToken_appId :: Lens.Lens' DeleteToken Prelude.Text+deleteToken_appId = Lens.lens (\DeleteToken' {appId} -> appId) (\s@DeleteToken' {} a -> s {appId = a} :: DeleteToken)++instance Core.AWSRequest DeleteToken where+  type AWSResponse DeleteToken = DeleteTokenResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteTokenResponse'+            Prelude.<$> (x Data..?> "isSuccess")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteToken where+  hashWithSalt _salt DeleteToken' {..} =+    _salt+      `Prelude.hashWithSalt` sessionId+      `Prelude.hashWithSalt` appId++instance Prelude.NFData DeleteToken where+  rnf DeleteToken' {..} =+    Prelude.rnf sessionId+      `Prelude.seq` Prelude.rnf appId++instance Data.ToHeaders DeleteToken where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteToken where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath DeleteToken where+  toPath DeleteToken' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/challenge/",+        Data.toBS sessionId,+        "/remove"+      ]++instance Data.ToQuery DeleteToken where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteTokenResponse' smart constructor.+data DeleteTokenResponse = DeleteTokenResponse'+  { -- | Indicates whether the request succeeded or failed.+    isSuccess :: Prelude.Maybe Prelude.Bool,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTokenResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'isSuccess', 'deleteTokenResponse_isSuccess' - Indicates whether the request succeeded or failed.+--+-- 'httpStatus', 'deleteTokenResponse_httpStatus' - The response's http status code.+newDeleteTokenResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteTokenResponse+newDeleteTokenResponse pHttpStatus_ =+  DeleteTokenResponse'+    { isSuccess = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Indicates whether the request succeeded or failed.+deleteTokenResponse_isSuccess :: Lens.Lens' DeleteTokenResponse (Prelude.Maybe Prelude.Bool)+deleteTokenResponse_isSuccess = Lens.lens (\DeleteTokenResponse' {isSuccess} -> isSuccess) (\s@DeleteTokenResponse' {} a -> s {isSuccess = a} :: DeleteTokenResponse)++-- | The response's http status code.+deleteTokenResponse_httpStatus :: Lens.Lens' DeleteTokenResponse Prelude.Int+deleteTokenResponse_httpStatus = Lens.lens (\DeleteTokenResponse' {httpStatus} -> httpStatus) (\s@DeleteTokenResponse' {} a -> s {httpStatus = a} :: DeleteTokenResponse)++instance Prelude.NFData DeleteTokenResponse where+  rnf DeleteTokenResponse' {..} =+    Prelude.rnf isSuccess+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/GenerateBackendAPIModels.hs view
@@ -0,0 +1,271 @@+{-# 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.AmplifyBackend.GenerateBackendAPIModels+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates a model schema for an existing backend API resource.+module Amazonka.AmplifyBackend.GenerateBackendAPIModels+  ( -- * Creating a Request+    GenerateBackendAPIModels (..),+    newGenerateBackendAPIModels,++    -- * Request Lenses+    generateBackendAPIModels_appId,+    generateBackendAPIModels_backendEnvironmentName,+    generateBackendAPIModels_resourceName,++    -- * Destructuring the Response+    GenerateBackendAPIModelsResponse (..),+    newGenerateBackendAPIModelsResponse,++    -- * Response Lenses+    generateBackendAPIModelsResponse_appId,+    generateBackendAPIModelsResponse_backendEnvironmentName,+    generateBackendAPIModelsResponse_error,+    generateBackendAPIModelsResponse_jobId,+    generateBackendAPIModelsResponse_operation,+    generateBackendAPIModelsResponse_status,+    generateBackendAPIModelsResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for GenerateBackendAPIModels.+--+-- /See:/ 'newGenerateBackendAPIModels' smart constructor.+data GenerateBackendAPIModels = GenerateBackendAPIModels'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of this resource.+    resourceName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GenerateBackendAPIModels' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'generateBackendAPIModels_appId' - The app ID.+--+-- 'backendEnvironmentName', 'generateBackendAPIModels_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceName', 'generateBackendAPIModels_resourceName' - The name of this resource.+newGenerateBackendAPIModels ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  GenerateBackendAPIModels+newGenerateBackendAPIModels+  pAppId_+  pBackendEnvironmentName_+  pResourceName_ =+    GenerateBackendAPIModels'+      { appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceName = pResourceName_+      }++-- | The app ID.+generateBackendAPIModels_appId :: Lens.Lens' GenerateBackendAPIModels Prelude.Text+generateBackendAPIModels_appId = Lens.lens (\GenerateBackendAPIModels' {appId} -> appId) (\s@GenerateBackendAPIModels' {} a -> s {appId = a} :: GenerateBackendAPIModels)++-- | The name of the backend environment.+generateBackendAPIModels_backendEnvironmentName :: Lens.Lens' GenerateBackendAPIModels Prelude.Text+generateBackendAPIModels_backendEnvironmentName = Lens.lens (\GenerateBackendAPIModels' {backendEnvironmentName} -> backendEnvironmentName) (\s@GenerateBackendAPIModels' {} a -> s {backendEnvironmentName = a} :: GenerateBackendAPIModels)++-- | The name of this resource.+generateBackendAPIModels_resourceName :: Lens.Lens' GenerateBackendAPIModels Prelude.Text+generateBackendAPIModels_resourceName = Lens.lens (\GenerateBackendAPIModels' {resourceName} -> resourceName) (\s@GenerateBackendAPIModels' {} a -> s {resourceName = a} :: GenerateBackendAPIModels)++instance Core.AWSRequest GenerateBackendAPIModels where+  type+    AWSResponse GenerateBackendAPIModels =+      GenerateBackendAPIModelsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GenerateBackendAPIModelsResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GenerateBackendAPIModels where+  hashWithSalt _salt GenerateBackendAPIModels' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceName++instance Prelude.NFData GenerateBackendAPIModels where+  rnf GenerateBackendAPIModels' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceName++instance Data.ToHeaders GenerateBackendAPIModels where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GenerateBackendAPIModels where+  toJSON GenerateBackendAPIModels' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("resourceName" Data..= resourceName)]+      )++instance Data.ToPath GenerateBackendAPIModels where+  toPath GenerateBackendAPIModels' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/api/",+        Data.toBS backendEnvironmentName,+        "/generateModels"+      ]++instance Data.ToQuery GenerateBackendAPIModels where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGenerateBackendAPIModelsResponse' smart constructor.+data GenerateBackendAPIModelsResponse = GenerateBackendAPIModelsResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'GenerateBackendAPIModelsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'generateBackendAPIModelsResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'generateBackendAPIModelsResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'generateBackendAPIModelsResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'generateBackendAPIModelsResponse_jobId' - The ID for the job.+--+-- 'operation', 'generateBackendAPIModelsResponse_operation' - The name of the operation.+--+-- 'status', 'generateBackendAPIModelsResponse_status' - The current status of the request.+--+-- 'httpStatus', 'generateBackendAPIModelsResponse_httpStatus' - The response's http status code.+newGenerateBackendAPIModelsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GenerateBackendAPIModelsResponse+newGenerateBackendAPIModelsResponse pHttpStatus_ =+  GenerateBackendAPIModelsResponse'+    { appId =+        Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+generateBackendAPIModelsResponse_appId :: Lens.Lens' GenerateBackendAPIModelsResponse (Prelude.Maybe Prelude.Text)+generateBackendAPIModelsResponse_appId = Lens.lens (\GenerateBackendAPIModelsResponse' {appId} -> appId) (\s@GenerateBackendAPIModelsResponse' {} a -> s {appId = a} :: GenerateBackendAPIModelsResponse)++-- | The name of the backend environment.+generateBackendAPIModelsResponse_backendEnvironmentName :: Lens.Lens' GenerateBackendAPIModelsResponse (Prelude.Maybe Prelude.Text)+generateBackendAPIModelsResponse_backendEnvironmentName = Lens.lens (\GenerateBackendAPIModelsResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@GenerateBackendAPIModelsResponse' {} a -> s {backendEnvironmentName = a} :: GenerateBackendAPIModelsResponse)++-- | If the request fails, this error is returned.+generateBackendAPIModelsResponse_error :: Lens.Lens' GenerateBackendAPIModelsResponse (Prelude.Maybe Prelude.Text)+generateBackendAPIModelsResponse_error = Lens.lens (\GenerateBackendAPIModelsResponse' {error} -> error) (\s@GenerateBackendAPIModelsResponse' {} a -> s {error = a} :: GenerateBackendAPIModelsResponse)++-- | The ID for the job.+generateBackendAPIModelsResponse_jobId :: Lens.Lens' GenerateBackendAPIModelsResponse (Prelude.Maybe Prelude.Text)+generateBackendAPIModelsResponse_jobId = Lens.lens (\GenerateBackendAPIModelsResponse' {jobId} -> jobId) (\s@GenerateBackendAPIModelsResponse' {} a -> s {jobId = a} :: GenerateBackendAPIModelsResponse)++-- | The name of the operation.+generateBackendAPIModelsResponse_operation :: Lens.Lens' GenerateBackendAPIModelsResponse (Prelude.Maybe Prelude.Text)+generateBackendAPIModelsResponse_operation = Lens.lens (\GenerateBackendAPIModelsResponse' {operation} -> operation) (\s@GenerateBackendAPIModelsResponse' {} a -> s {operation = a} :: GenerateBackendAPIModelsResponse)++-- | The current status of the request.+generateBackendAPIModelsResponse_status :: Lens.Lens' GenerateBackendAPIModelsResponse (Prelude.Maybe Prelude.Text)+generateBackendAPIModelsResponse_status = Lens.lens (\GenerateBackendAPIModelsResponse' {status} -> status) (\s@GenerateBackendAPIModelsResponse' {} a -> s {status = a} :: GenerateBackendAPIModelsResponse)++-- | The response's http status code.+generateBackendAPIModelsResponse_httpStatus :: Lens.Lens' GenerateBackendAPIModelsResponse Prelude.Int+generateBackendAPIModelsResponse_httpStatus = Lens.lens (\GenerateBackendAPIModelsResponse' {httpStatus} -> httpStatus) (\s@GenerateBackendAPIModelsResponse' {} a -> s {httpStatus = a} :: GenerateBackendAPIModelsResponse)++instance+  Prelude.NFData+    GenerateBackendAPIModelsResponse+  where+  rnf GenerateBackendAPIModelsResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/GetBackend.hs view
@@ -0,0 +1,260 @@+{-# 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.AmplifyBackend.GetBackend+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides project-level details for your Amplify UI project.+module Amazonka.AmplifyBackend.GetBackend+  ( -- * Creating a Request+    GetBackend (..),+    newGetBackend,++    -- * Request Lenses+    getBackend_backendEnvironmentName,+    getBackend_appId,++    -- * Destructuring the Response+    GetBackendResponse (..),+    newGetBackendResponse,++    -- * Response Lenses+    getBackendResponse_amplifyFeatureFlags,+    getBackendResponse_amplifyMetaConfig,+    getBackendResponse_appId,+    getBackendResponse_appName,+    getBackendResponse_backendEnvironmentList,+    getBackendResponse_backendEnvironmentName,+    getBackendResponse_error,+    getBackendResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for GetBackend.+--+-- /See:/ 'newGetBackend' smart constructor.+data GetBackend = GetBackend'+  { -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | The app ID.+    appId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBackend' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'backendEnvironmentName', 'getBackend_backendEnvironmentName' - The name of the backend environment.+--+-- 'appId', 'getBackend_appId' - The app ID.+newGetBackend ::+  -- | 'appId'+  Prelude.Text ->+  GetBackend+newGetBackend pAppId_ =+  GetBackend'+    { backendEnvironmentName =+        Prelude.Nothing,+      appId = pAppId_+    }++-- | The name of the backend environment.+getBackend_backendEnvironmentName :: Lens.Lens' GetBackend (Prelude.Maybe Prelude.Text)+getBackend_backendEnvironmentName = Lens.lens (\GetBackend' {backendEnvironmentName} -> backendEnvironmentName) (\s@GetBackend' {} a -> s {backendEnvironmentName = a} :: GetBackend)++-- | The app ID.+getBackend_appId :: Lens.Lens' GetBackend Prelude.Text+getBackend_appId = Lens.lens (\GetBackend' {appId} -> appId) (\s@GetBackend' {} a -> s {appId = a} :: GetBackend)++instance Core.AWSRequest GetBackend where+  type AWSResponse GetBackend = GetBackendResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetBackendResponse'+            Prelude.<$> (x Data..?> "amplifyFeatureFlags")+            Prelude.<*> (x Data..?> "amplifyMetaConfig")+            Prelude.<*> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "appName")+            Prelude.<*> ( x+                            Data..?> "backendEnvironmentList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBackend where+  hashWithSalt _salt GetBackend' {..} =+    _salt+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` appId++instance Prelude.NFData GetBackend where+  rnf GetBackend' {..} =+    Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf appId++instance Data.ToHeaders GetBackend where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetBackend where+  toJSON GetBackend' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("backendEnvironmentName" Data..=)+              Prelude.<$> backendEnvironmentName+          ]+      )++instance Data.ToPath GetBackend where+  toPath GetBackend' {..} =+    Prelude.mconcat+      ["/backend/", Data.toBS appId, "/details"]++instance Data.ToQuery GetBackend where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetBackendResponse' smart constructor.+data GetBackendResponse = GetBackendResponse'+  { -- | A stringified version of the cli.json file for your Amplify project.+    amplifyFeatureFlags :: Prelude.Maybe Prelude.Text,+    -- | A stringified version of the current configs for your Amplify project.+    amplifyMetaConfig :: Prelude.Maybe Prelude.Text,+    -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the app.+    appName :: Prelude.Maybe Prelude.Text,+    -- | A list of backend environments in an array.+    backendEnvironmentList :: Prelude.Maybe [Prelude.Text],+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request failed, this is the returned error.+    error :: 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 'GetBackendResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amplifyFeatureFlags', 'getBackendResponse_amplifyFeatureFlags' - A stringified version of the cli.json file for your Amplify project.+--+-- 'amplifyMetaConfig', 'getBackendResponse_amplifyMetaConfig' - A stringified version of the current configs for your Amplify project.+--+-- 'appId', 'getBackendResponse_appId' - The app ID.+--+-- 'appName', 'getBackendResponse_appName' - The name of the app.+--+-- 'backendEnvironmentList', 'getBackendResponse_backendEnvironmentList' - A list of backend environments in an array.+--+-- 'backendEnvironmentName', 'getBackendResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'getBackendResponse_error' - If the request failed, this is the returned error.+--+-- 'httpStatus', 'getBackendResponse_httpStatus' - The response's http status code.+newGetBackendResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBackendResponse+newGetBackendResponse pHttpStatus_ =+  GetBackendResponse'+    { amplifyFeatureFlags =+        Prelude.Nothing,+      amplifyMetaConfig = Prelude.Nothing,+      appId = Prelude.Nothing,+      appName = Prelude.Nothing,+      backendEnvironmentList = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A stringified version of the cli.json file for your Amplify project.+getBackendResponse_amplifyFeatureFlags :: Lens.Lens' GetBackendResponse (Prelude.Maybe Prelude.Text)+getBackendResponse_amplifyFeatureFlags = Lens.lens (\GetBackendResponse' {amplifyFeatureFlags} -> amplifyFeatureFlags) (\s@GetBackendResponse' {} a -> s {amplifyFeatureFlags = a} :: GetBackendResponse)++-- | A stringified version of the current configs for your Amplify project.+getBackendResponse_amplifyMetaConfig :: Lens.Lens' GetBackendResponse (Prelude.Maybe Prelude.Text)+getBackendResponse_amplifyMetaConfig = Lens.lens (\GetBackendResponse' {amplifyMetaConfig} -> amplifyMetaConfig) (\s@GetBackendResponse' {} a -> s {amplifyMetaConfig = a} :: GetBackendResponse)++-- | The app ID.+getBackendResponse_appId :: Lens.Lens' GetBackendResponse (Prelude.Maybe Prelude.Text)+getBackendResponse_appId = Lens.lens (\GetBackendResponse' {appId} -> appId) (\s@GetBackendResponse' {} a -> s {appId = a} :: GetBackendResponse)++-- | The name of the app.+getBackendResponse_appName :: Lens.Lens' GetBackendResponse (Prelude.Maybe Prelude.Text)+getBackendResponse_appName = Lens.lens (\GetBackendResponse' {appName} -> appName) (\s@GetBackendResponse' {} a -> s {appName = a} :: GetBackendResponse)++-- | A list of backend environments in an array.+getBackendResponse_backendEnvironmentList :: Lens.Lens' GetBackendResponse (Prelude.Maybe [Prelude.Text])+getBackendResponse_backendEnvironmentList = Lens.lens (\GetBackendResponse' {backendEnvironmentList} -> backendEnvironmentList) (\s@GetBackendResponse' {} a -> s {backendEnvironmentList = a} :: GetBackendResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name of the backend environment.+getBackendResponse_backendEnvironmentName :: Lens.Lens' GetBackendResponse (Prelude.Maybe Prelude.Text)+getBackendResponse_backendEnvironmentName = Lens.lens (\GetBackendResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@GetBackendResponse' {} a -> s {backendEnvironmentName = a} :: GetBackendResponse)++-- | If the request failed, this is the returned error.+getBackendResponse_error :: Lens.Lens' GetBackendResponse (Prelude.Maybe Prelude.Text)+getBackendResponse_error = Lens.lens (\GetBackendResponse' {error} -> error) (\s@GetBackendResponse' {} a -> s {error = a} :: GetBackendResponse)++-- | The response's http status code.+getBackendResponse_httpStatus :: Lens.Lens' GetBackendResponse Prelude.Int+getBackendResponse_httpStatus = Lens.lens (\GetBackendResponse' {httpStatus} -> httpStatus) (\s@GetBackendResponse' {} a -> s {httpStatus = a} :: GetBackendResponse)++instance Prelude.NFData GetBackendResponse where+  rnf GetBackendResponse' {..} =+    Prelude.rnf amplifyFeatureFlags+      `Prelude.seq` Prelude.rnf amplifyMetaConfig+      `Prelude.seq` Prelude.rnf appId+      `Prelude.seq` Prelude.rnf appName+      `Prelude.seq` Prelude.rnf backendEnvironmentList+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/GetBackendAPI.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.AmplifyBackend.GetBackendAPI+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the details for a backend API.+module Amazonka.AmplifyBackend.GetBackendAPI+  ( -- * Creating a Request+    GetBackendAPI (..),+    newGetBackendAPI,++    -- * Request Lenses+    getBackendAPI_resourceConfig,+    getBackendAPI_appId,+    getBackendAPI_backendEnvironmentName,+    getBackendAPI_resourceName,++    -- * Destructuring the Response+    GetBackendAPIResponse (..),+    newGetBackendAPIResponse,++    -- * Response Lenses+    getBackendAPIResponse_appId,+    getBackendAPIResponse_backendEnvironmentName,+    getBackendAPIResponse_error,+    getBackendAPIResponse_resourceConfig,+    getBackendAPIResponse_resourceName,+    getBackendAPIResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for GetBackendAPI.+--+-- /See:/ 'newGetBackendAPI' smart constructor.+data GetBackendAPI = GetBackendAPI'+  { -- | Defines the resource configuration for the data model in your Amplify+    -- project.+    resourceConfig :: Prelude.Maybe BackendAPIResourceConfig,+    -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of this resource.+    resourceName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBackendAPI' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceConfig', 'getBackendAPI_resourceConfig' - Defines the resource configuration for the data model in your Amplify+-- project.+--+-- 'appId', 'getBackendAPI_appId' - The app ID.+--+-- 'backendEnvironmentName', 'getBackendAPI_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceName', 'getBackendAPI_resourceName' - The name of this resource.+newGetBackendAPI ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  GetBackendAPI+newGetBackendAPI+  pAppId_+  pBackendEnvironmentName_+  pResourceName_ =+    GetBackendAPI'+      { resourceConfig = Prelude.Nothing,+        appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceName = pResourceName_+      }++-- | Defines the resource configuration for the data model in your Amplify+-- project.+getBackendAPI_resourceConfig :: Lens.Lens' GetBackendAPI (Prelude.Maybe BackendAPIResourceConfig)+getBackendAPI_resourceConfig = Lens.lens (\GetBackendAPI' {resourceConfig} -> resourceConfig) (\s@GetBackendAPI' {} a -> s {resourceConfig = a} :: GetBackendAPI)++-- | The app ID.+getBackendAPI_appId :: Lens.Lens' GetBackendAPI Prelude.Text+getBackendAPI_appId = Lens.lens (\GetBackendAPI' {appId} -> appId) (\s@GetBackendAPI' {} a -> s {appId = a} :: GetBackendAPI)++-- | The name of the backend environment.+getBackendAPI_backendEnvironmentName :: Lens.Lens' GetBackendAPI Prelude.Text+getBackendAPI_backendEnvironmentName = Lens.lens (\GetBackendAPI' {backendEnvironmentName} -> backendEnvironmentName) (\s@GetBackendAPI' {} a -> s {backendEnvironmentName = a} :: GetBackendAPI)++-- | The name of this resource.+getBackendAPI_resourceName :: Lens.Lens' GetBackendAPI Prelude.Text+getBackendAPI_resourceName = Lens.lens (\GetBackendAPI' {resourceName} -> resourceName) (\s@GetBackendAPI' {} a -> s {resourceName = a} :: GetBackendAPI)++instance Core.AWSRequest GetBackendAPI where+  type+    AWSResponse GetBackendAPI =+      GetBackendAPIResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetBackendAPIResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "resourceConfig")+            Prelude.<*> (x Data..?> "resourceName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBackendAPI where+  hashWithSalt _salt GetBackendAPI' {..} =+    _salt+      `Prelude.hashWithSalt` resourceConfig+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceName++instance Prelude.NFData GetBackendAPI where+  rnf GetBackendAPI' {..} =+    Prelude.rnf resourceConfig+      `Prelude.seq` Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceName++instance Data.ToHeaders GetBackendAPI where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetBackendAPI where+  toJSON GetBackendAPI' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("resourceConfig" Data..=)+              Prelude.<$> resourceConfig,+            Prelude.Just ("resourceName" Data..= resourceName)+          ]+      )++instance Data.ToPath GetBackendAPI where+  toPath GetBackendAPI' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/api/",+        Data.toBS backendEnvironmentName,+        "/details"+      ]++instance Data.ToQuery GetBackendAPI where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetBackendAPIResponse' smart constructor.+data GetBackendAPIResponse = GetBackendAPIResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The resource configuration for this response object.+    resourceConfig :: Prelude.Maybe BackendAPIResourceConfig,+    -- | The name of this resource.+    resourceName :: 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 'GetBackendAPIResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'getBackendAPIResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'getBackendAPIResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'getBackendAPIResponse_error' - If the request fails, this error is returned.+--+-- 'resourceConfig', 'getBackendAPIResponse_resourceConfig' - The resource configuration for this response object.+--+-- 'resourceName', 'getBackendAPIResponse_resourceName' - The name of this resource.+--+-- 'httpStatus', 'getBackendAPIResponse_httpStatus' - The response's http status code.+newGetBackendAPIResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBackendAPIResponse+newGetBackendAPIResponse pHttpStatus_ =+  GetBackendAPIResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      resourceConfig = Prelude.Nothing,+      resourceName = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+getBackendAPIResponse_appId :: Lens.Lens' GetBackendAPIResponse (Prelude.Maybe Prelude.Text)+getBackendAPIResponse_appId = Lens.lens (\GetBackendAPIResponse' {appId} -> appId) (\s@GetBackendAPIResponse' {} a -> s {appId = a} :: GetBackendAPIResponse)++-- | The name of the backend environment.+getBackendAPIResponse_backendEnvironmentName :: Lens.Lens' GetBackendAPIResponse (Prelude.Maybe Prelude.Text)+getBackendAPIResponse_backendEnvironmentName = Lens.lens (\GetBackendAPIResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@GetBackendAPIResponse' {} a -> s {backendEnvironmentName = a} :: GetBackendAPIResponse)++-- | If the request fails, this error is returned.+getBackendAPIResponse_error :: Lens.Lens' GetBackendAPIResponse (Prelude.Maybe Prelude.Text)+getBackendAPIResponse_error = Lens.lens (\GetBackendAPIResponse' {error} -> error) (\s@GetBackendAPIResponse' {} a -> s {error = a} :: GetBackendAPIResponse)++-- | The resource configuration for this response object.+getBackendAPIResponse_resourceConfig :: Lens.Lens' GetBackendAPIResponse (Prelude.Maybe BackendAPIResourceConfig)+getBackendAPIResponse_resourceConfig = Lens.lens (\GetBackendAPIResponse' {resourceConfig} -> resourceConfig) (\s@GetBackendAPIResponse' {} a -> s {resourceConfig = a} :: GetBackendAPIResponse)++-- | The name of this resource.+getBackendAPIResponse_resourceName :: Lens.Lens' GetBackendAPIResponse (Prelude.Maybe Prelude.Text)+getBackendAPIResponse_resourceName = Lens.lens (\GetBackendAPIResponse' {resourceName} -> resourceName) (\s@GetBackendAPIResponse' {} a -> s {resourceName = a} :: GetBackendAPIResponse)++-- | The response's http status code.+getBackendAPIResponse_httpStatus :: Lens.Lens' GetBackendAPIResponse Prelude.Int+getBackendAPIResponse_httpStatus = Lens.lens (\GetBackendAPIResponse' {httpStatus} -> httpStatus) (\s@GetBackendAPIResponse' {} a -> s {httpStatus = a} :: GetBackendAPIResponse)++instance Prelude.NFData GetBackendAPIResponse where+  rnf GetBackendAPIResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf resourceConfig+      `Prelude.seq` Prelude.rnf resourceName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/GetBackendAPIModels.hs view
@@ -0,0 +1,235 @@+{-# 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.AmplifyBackend.GetBackendAPIModels+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a model introspection schema for an existing backend API resource.+module Amazonka.AmplifyBackend.GetBackendAPIModels+  ( -- * Creating a Request+    GetBackendAPIModels (..),+    newGetBackendAPIModels,++    -- * Request Lenses+    getBackendAPIModels_appId,+    getBackendAPIModels_backendEnvironmentName,+    getBackendAPIModels_resourceName,++    -- * Destructuring the Response+    GetBackendAPIModelsResponse (..),+    newGetBackendAPIModelsResponse,++    -- * Response Lenses+    getBackendAPIModelsResponse_modelIntrospectionSchema,+    getBackendAPIModelsResponse_models,+    getBackendAPIModelsResponse_status,+    getBackendAPIModelsResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for GetBackendAPIModels.+--+-- /See:/ 'newGetBackendAPIModels' smart constructor.+data GetBackendAPIModels = GetBackendAPIModels'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of this resource.+    resourceName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBackendAPIModels' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'getBackendAPIModels_appId' - The app ID.+--+-- 'backendEnvironmentName', 'getBackendAPIModels_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceName', 'getBackendAPIModels_resourceName' - The name of this resource.+newGetBackendAPIModels ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  GetBackendAPIModels+newGetBackendAPIModels+  pAppId_+  pBackendEnvironmentName_+  pResourceName_ =+    GetBackendAPIModels'+      { appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceName = pResourceName_+      }++-- | The app ID.+getBackendAPIModels_appId :: Lens.Lens' GetBackendAPIModels Prelude.Text+getBackendAPIModels_appId = Lens.lens (\GetBackendAPIModels' {appId} -> appId) (\s@GetBackendAPIModels' {} a -> s {appId = a} :: GetBackendAPIModels)++-- | The name of the backend environment.+getBackendAPIModels_backendEnvironmentName :: Lens.Lens' GetBackendAPIModels Prelude.Text+getBackendAPIModels_backendEnvironmentName = Lens.lens (\GetBackendAPIModels' {backendEnvironmentName} -> backendEnvironmentName) (\s@GetBackendAPIModels' {} a -> s {backendEnvironmentName = a} :: GetBackendAPIModels)++-- | The name of this resource.+getBackendAPIModels_resourceName :: Lens.Lens' GetBackendAPIModels Prelude.Text+getBackendAPIModels_resourceName = Lens.lens (\GetBackendAPIModels' {resourceName} -> resourceName) (\s@GetBackendAPIModels' {} a -> s {resourceName = a} :: GetBackendAPIModels)++instance Core.AWSRequest GetBackendAPIModels where+  type+    AWSResponse GetBackendAPIModels =+      GetBackendAPIModelsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetBackendAPIModelsResponse'+            Prelude.<$> (x Data..?> "modelIntrospectionSchema")+            Prelude.<*> (x Data..?> "models")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBackendAPIModels where+  hashWithSalt _salt GetBackendAPIModels' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceName++instance Prelude.NFData GetBackendAPIModels where+  rnf GetBackendAPIModels' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceName++instance Data.ToHeaders GetBackendAPIModels where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetBackendAPIModels where+  toJSON GetBackendAPIModels' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("resourceName" Data..= resourceName)]+      )++instance Data.ToPath GetBackendAPIModels where+  toPath GetBackendAPIModels' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/api/",+        Data.toBS backendEnvironmentName,+        "/getModels"+      ]++instance Data.ToQuery GetBackendAPIModels where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetBackendAPIModelsResponse' smart constructor.+data GetBackendAPIModelsResponse = GetBackendAPIModelsResponse'+  { -- | Stringified JSON of the model introspection schema for an existing+    -- backend API resource.+    modelIntrospectionSchema :: Prelude.Maybe Prelude.Text,+    -- | Stringified JSON of the datastore model.+    models :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: Prelude.Maybe Status,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBackendAPIModelsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'modelIntrospectionSchema', 'getBackendAPIModelsResponse_modelIntrospectionSchema' - Stringified JSON of the model introspection schema for an existing+-- backend API resource.+--+-- 'models', 'getBackendAPIModelsResponse_models' - Stringified JSON of the datastore model.+--+-- 'status', 'getBackendAPIModelsResponse_status' - The current status of the request.+--+-- 'httpStatus', 'getBackendAPIModelsResponse_httpStatus' - The response's http status code.+newGetBackendAPIModelsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBackendAPIModelsResponse+newGetBackendAPIModelsResponse pHttpStatus_ =+  GetBackendAPIModelsResponse'+    { modelIntrospectionSchema =+        Prelude.Nothing,+      models = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Stringified JSON of the model introspection schema for an existing+-- backend API resource.+getBackendAPIModelsResponse_modelIntrospectionSchema :: Lens.Lens' GetBackendAPIModelsResponse (Prelude.Maybe Prelude.Text)+getBackendAPIModelsResponse_modelIntrospectionSchema = Lens.lens (\GetBackendAPIModelsResponse' {modelIntrospectionSchema} -> modelIntrospectionSchema) (\s@GetBackendAPIModelsResponse' {} a -> s {modelIntrospectionSchema = a} :: GetBackendAPIModelsResponse)++-- | Stringified JSON of the datastore model.+getBackendAPIModelsResponse_models :: Lens.Lens' GetBackendAPIModelsResponse (Prelude.Maybe Prelude.Text)+getBackendAPIModelsResponse_models = Lens.lens (\GetBackendAPIModelsResponse' {models} -> models) (\s@GetBackendAPIModelsResponse' {} a -> s {models = a} :: GetBackendAPIModelsResponse)++-- | The current status of the request.+getBackendAPIModelsResponse_status :: Lens.Lens' GetBackendAPIModelsResponse (Prelude.Maybe Status)+getBackendAPIModelsResponse_status = Lens.lens (\GetBackendAPIModelsResponse' {status} -> status) (\s@GetBackendAPIModelsResponse' {} a -> s {status = a} :: GetBackendAPIModelsResponse)++-- | The response's http status code.+getBackendAPIModelsResponse_httpStatus :: Lens.Lens' GetBackendAPIModelsResponse Prelude.Int+getBackendAPIModelsResponse_httpStatus = Lens.lens (\GetBackendAPIModelsResponse' {httpStatus} -> httpStatus) (\s@GetBackendAPIModelsResponse' {} a -> s {httpStatus = a} :: GetBackendAPIModelsResponse)++instance Prelude.NFData GetBackendAPIModelsResponse where+  rnf GetBackendAPIModelsResponse' {..} =+    Prelude.rnf modelIntrospectionSchema+      `Prelude.seq` Prelude.rnf models+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/GetBackendAuth.hs view
@@ -0,0 +1,258 @@+{-# 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.AmplifyBackend.GetBackendAuth+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a backend auth details.+module Amazonka.AmplifyBackend.GetBackendAuth+  ( -- * Creating a Request+    GetBackendAuth (..),+    newGetBackendAuth,++    -- * Request Lenses+    getBackendAuth_appId,+    getBackendAuth_backendEnvironmentName,+    getBackendAuth_resourceName,++    -- * Destructuring the Response+    GetBackendAuthResponse (..),+    newGetBackendAuthResponse,++    -- * Response Lenses+    getBackendAuthResponse_appId,+    getBackendAuthResponse_backendEnvironmentName,+    getBackendAuthResponse_error,+    getBackendAuthResponse_resourceConfig,+    getBackendAuthResponse_resourceName,+    getBackendAuthResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for GetBackendAuth.+--+-- /See:/ 'newGetBackendAuth' smart constructor.+data GetBackendAuth = GetBackendAuth'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of this resource.+    resourceName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBackendAuth' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'getBackendAuth_appId' - The app ID.+--+-- 'backendEnvironmentName', 'getBackendAuth_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceName', 'getBackendAuth_resourceName' - The name of this resource.+newGetBackendAuth ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  GetBackendAuth+newGetBackendAuth+  pAppId_+  pBackendEnvironmentName_+  pResourceName_ =+    GetBackendAuth'+      { appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceName = pResourceName_+      }++-- | The app ID.+getBackendAuth_appId :: Lens.Lens' GetBackendAuth Prelude.Text+getBackendAuth_appId = Lens.lens (\GetBackendAuth' {appId} -> appId) (\s@GetBackendAuth' {} a -> s {appId = a} :: GetBackendAuth)++-- | The name of the backend environment.+getBackendAuth_backendEnvironmentName :: Lens.Lens' GetBackendAuth Prelude.Text+getBackendAuth_backendEnvironmentName = Lens.lens (\GetBackendAuth' {backendEnvironmentName} -> backendEnvironmentName) (\s@GetBackendAuth' {} a -> s {backendEnvironmentName = a} :: GetBackendAuth)++-- | The name of this resource.+getBackendAuth_resourceName :: Lens.Lens' GetBackendAuth Prelude.Text+getBackendAuth_resourceName = Lens.lens (\GetBackendAuth' {resourceName} -> resourceName) (\s@GetBackendAuth' {} a -> s {resourceName = a} :: GetBackendAuth)++instance Core.AWSRequest GetBackendAuth where+  type+    AWSResponse GetBackendAuth =+      GetBackendAuthResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetBackendAuthResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "resourceConfig")+            Prelude.<*> (x Data..?> "resourceName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBackendAuth where+  hashWithSalt _salt GetBackendAuth' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceName++instance Prelude.NFData GetBackendAuth where+  rnf GetBackendAuth' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceName++instance Data.ToHeaders GetBackendAuth where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetBackendAuth where+  toJSON GetBackendAuth' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("resourceName" Data..= resourceName)]+      )++instance Data.ToPath GetBackendAuth where+  toPath GetBackendAuth' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/auth/",+        Data.toBS backendEnvironmentName,+        "/details"+      ]++instance Data.ToQuery GetBackendAuth where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetBackendAuthResponse' smart constructor.+data GetBackendAuthResponse = GetBackendAuthResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The resource configuration for authorization requests to the backend of+    -- your Amplify project.+    resourceConfig :: Prelude.Maybe CreateBackendAuthResourceConfig,+    -- | The name of this resource.+    resourceName :: 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 'GetBackendAuthResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'getBackendAuthResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'getBackendAuthResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'getBackendAuthResponse_error' - If the request fails, this error is returned.+--+-- 'resourceConfig', 'getBackendAuthResponse_resourceConfig' - The resource configuration for authorization requests to the backend of+-- your Amplify project.+--+-- 'resourceName', 'getBackendAuthResponse_resourceName' - The name of this resource.+--+-- 'httpStatus', 'getBackendAuthResponse_httpStatus' - The response's http status code.+newGetBackendAuthResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBackendAuthResponse+newGetBackendAuthResponse pHttpStatus_ =+  GetBackendAuthResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      resourceConfig = Prelude.Nothing,+      resourceName = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+getBackendAuthResponse_appId :: Lens.Lens' GetBackendAuthResponse (Prelude.Maybe Prelude.Text)+getBackendAuthResponse_appId = Lens.lens (\GetBackendAuthResponse' {appId} -> appId) (\s@GetBackendAuthResponse' {} a -> s {appId = a} :: GetBackendAuthResponse)++-- | The name of the backend environment.+getBackendAuthResponse_backendEnvironmentName :: Lens.Lens' GetBackendAuthResponse (Prelude.Maybe Prelude.Text)+getBackendAuthResponse_backendEnvironmentName = Lens.lens (\GetBackendAuthResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@GetBackendAuthResponse' {} a -> s {backendEnvironmentName = a} :: GetBackendAuthResponse)++-- | If the request fails, this error is returned.+getBackendAuthResponse_error :: Lens.Lens' GetBackendAuthResponse (Prelude.Maybe Prelude.Text)+getBackendAuthResponse_error = Lens.lens (\GetBackendAuthResponse' {error} -> error) (\s@GetBackendAuthResponse' {} a -> s {error = a} :: GetBackendAuthResponse)++-- | The resource configuration for authorization requests to the backend of+-- your Amplify project.+getBackendAuthResponse_resourceConfig :: Lens.Lens' GetBackendAuthResponse (Prelude.Maybe CreateBackendAuthResourceConfig)+getBackendAuthResponse_resourceConfig = Lens.lens (\GetBackendAuthResponse' {resourceConfig} -> resourceConfig) (\s@GetBackendAuthResponse' {} a -> s {resourceConfig = a} :: GetBackendAuthResponse)++-- | The name of this resource.+getBackendAuthResponse_resourceName :: Lens.Lens' GetBackendAuthResponse (Prelude.Maybe Prelude.Text)+getBackendAuthResponse_resourceName = Lens.lens (\GetBackendAuthResponse' {resourceName} -> resourceName) (\s@GetBackendAuthResponse' {} a -> s {resourceName = a} :: GetBackendAuthResponse)++-- | The response's http status code.+getBackendAuthResponse_httpStatus :: Lens.Lens' GetBackendAuthResponse Prelude.Int+getBackendAuthResponse_httpStatus = Lens.lens (\GetBackendAuthResponse' {httpStatus} -> httpStatus) (\s@GetBackendAuthResponse' {} a -> s {httpStatus = a} :: GetBackendAuthResponse)++instance Prelude.NFData GetBackendAuthResponse where+  rnf GetBackendAuthResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf resourceConfig+      `Prelude.seq` Prelude.rnf resourceName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/GetBackendJob.hs view
@@ -0,0 +1,283 @@+{-# 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.AmplifyBackend.GetBackendJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a specific job.+module Amazonka.AmplifyBackend.GetBackendJob+  ( -- * Creating a Request+    GetBackendJob (..),+    newGetBackendJob,++    -- * Request Lenses+    getBackendJob_appId,+    getBackendJob_backendEnvironmentName,+    getBackendJob_jobId,++    -- * Destructuring the Response+    GetBackendJobResponse (..),+    newGetBackendJobResponse,++    -- * Response Lenses+    getBackendJobResponse_appId,+    getBackendJobResponse_backendEnvironmentName,+    getBackendJobResponse_createTime,+    getBackendJobResponse_error,+    getBackendJobResponse_jobId,+    getBackendJobResponse_operation,+    getBackendJobResponse_status,+    getBackendJobResponse_updateTime,+    getBackendJobResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | /See:/ 'newGetBackendJob' smart constructor.+data GetBackendJob = GetBackendJob'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBackendJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'getBackendJob_appId' - The app ID.+--+-- 'backendEnvironmentName', 'getBackendJob_backendEnvironmentName' - The name of the backend environment.+--+-- 'jobId', 'getBackendJob_jobId' - The ID for the job.+newGetBackendJob ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'jobId'+  Prelude.Text ->+  GetBackendJob+newGetBackendJob+  pAppId_+  pBackendEnvironmentName_+  pJobId_ =+    GetBackendJob'+      { appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        jobId = pJobId_+      }++-- | The app ID.+getBackendJob_appId :: Lens.Lens' GetBackendJob Prelude.Text+getBackendJob_appId = Lens.lens (\GetBackendJob' {appId} -> appId) (\s@GetBackendJob' {} a -> s {appId = a} :: GetBackendJob)++-- | The name of the backend environment.+getBackendJob_backendEnvironmentName :: Lens.Lens' GetBackendJob Prelude.Text+getBackendJob_backendEnvironmentName = Lens.lens (\GetBackendJob' {backendEnvironmentName} -> backendEnvironmentName) (\s@GetBackendJob' {} a -> s {backendEnvironmentName = a} :: GetBackendJob)++-- | The ID for the job.+getBackendJob_jobId :: Lens.Lens' GetBackendJob Prelude.Text+getBackendJob_jobId = Lens.lens (\GetBackendJob' {jobId} -> jobId) (\s@GetBackendJob' {} a -> s {jobId = a} :: GetBackendJob)++instance Core.AWSRequest GetBackendJob where+  type+    AWSResponse GetBackendJob =+      GetBackendJobResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetBackendJobResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "createTime")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "updateTime")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBackendJob where+  hashWithSalt _salt GetBackendJob' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` jobId++instance Prelude.NFData GetBackendJob where+  rnf GetBackendJob' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf jobId++instance Data.ToHeaders GetBackendJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetBackendJob where+  toPath GetBackendJob' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/job/",+        Data.toBS backendEnvironmentName,+        "/",+        Data.toBS jobId+      ]++instance Data.ToQuery GetBackendJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetBackendJobResponse' smart constructor.+data GetBackendJobResponse = GetBackendJobResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | The time when the job was created.+    createTime :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: Prelude.Maybe Prelude.Text,+    -- | The time when the job was last updated.+    updateTime :: 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 'GetBackendJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'getBackendJobResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'getBackendJobResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'createTime', 'getBackendJobResponse_createTime' - The time when the job was created.+--+-- 'error', 'getBackendJobResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'getBackendJobResponse_jobId' - The ID for the job.+--+-- 'operation', 'getBackendJobResponse_operation' - The name of the operation.+--+-- 'status', 'getBackendJobResponse_status' - The current status of the request.+--+-- 'updateTime', 'getBackendJobResponse_updateTime' - The time when the job was last updated.+--+-- 'httpStatus', 'getBackendJobResponse_httpStatus' - The response's http status code.+newGetBackendJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBackendJobResponse+newGetBackendJobResponse pHttpStatus_ =+  GetBackendJobResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      createTime = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      updateTime = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+getBackendJobResponse_appId :: Lens.Lens' GetBackendJobResponse (Prelude.Maybe Prelude.Text)+getBackendJobResponse_appId = Lens.lens (\GetBackendJobResponse' {appId} -> appId) (\s@GetBackendJobResponse' {} a -> s {appId = a} :: GetBackendJobResponse)++-- | The name of the backend environment.+getBackendJobResponse_backendEnvironmentName :: Lens.Lens' GetBackendJobResponse (Prelude.Maybe Prelude.Text)+getBackendJobResponse_backendEnvironmentName = Lens.lens (\GetBackendJobResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@GetBackendJobResponse' {} a -> s {backendEnvironmentName = a} :: GetBackendJobResponse)++-- | The time when the job was created.+getBackendJobResponse_createTime :: Lens.Lens' GetBackendJobResponse (Prelude.Maybe Prelude.Text)+getBackendJobResponse_createTime = Lens.lens (\GetBackendJobResponse' {createTime} -> createTime) (\s@GetBackendJobResponse' {} a -> s {createTime = a} :: GetBackendJobResponse)++-- | If the request fails, this error is returned.+getBackendJobResponse_error :: Lens.Lens' GetBackendJobResponse (Prelude.Maybe Prelude.Text)+getBackendJobResponse_error = Lens.lens (\GetBackendJobResponse' {error} -> error) (\s@GetBackendJobResponse' {} a -> s {error = a} :: GetBackendJobResponse)++-- | The ID for the job.+getBackendJobResponse_jobId :: Lens.Lens' GetBackendJobResponse (Prelude.Maybe Prelude.Text)+getBackendJobResponse_jobId = Lens.lens (\GetBackendJobResponse' {jobId} -> jobId) (\s@GetBackendJobResponse' {} a -> s {jobId = a} :: GetBackendJobResponse)++-- | The name of the operation.+getBackendJobResponse_operation :: Lens.Lens' GetBackendJobResponse (Prelude.Maybe Prelude.Text)+getBackendJobResponse_operation = Lens.lens (\GetBackendJobResponse' {operation} -> operation) (\s@GetBackendJobResponse' {} a -> s {operation = a} :: GetBackendJobResponse)++-- | The current status of the request.+getBackendJobResponse_status :: Lens.Lens' GetBackendJobResponse (Prelude.Maybe Prelude.Text)+getBackendJobResponse_status = Lens.lens (\GetBackendJobResponse' {status} -> status) (\s@GetBackendJobResponse' {} a -> s {status = a} :: GetBackendJobResponse)++-- | The time when the job was last updated.+getBackendJobResponse_updateTime :: Lens.Lens' GetBackendJobResponse (Prelude.Maybe Prelude.Text)+getBackendJobResponse_updateTime = Lens.lens (\GetBackendJobResponse' {updateTime} -> updateTime) (\s@GetBackendJobResponse' {} a -> s {updateTime = a} :: GetBackendJobResponse)++-- | The response's http status code.+getBackendJobResponse_httpStatus :: Lens.Lens' GetBackendJobResponse Prelude.Int+getBackendJobResponse_httpStatus = Lens.lens (\GetBackendJobResponse' {httpStatus} -> httpStatus) (\s@GetBackendJobResponse' {} a -> s {httpStatus = a} :: GetBackendJobResponse)++instance Prelude.NFData GetBackendJobResponse where+  rnf GetBackendJobResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf createTime+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf updateTime+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/GetBackendStorage.hs view
@@ -0,0 +1,243 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.GetBackendStorage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets details for a backend storage resource.+module Amazonka.AmplifyBackend.GetBackendStorage+  ( -- * Creating a Request+    GetBackendStorage (..),+    newGetBackendStorage,++    -- * Request Lenses+    getBackendStorage_appId,+    getBackendStorage_backendEnvironmentName,+    getBackendStorage_resourceName,++    -- * Destructuring the Response+    GetBackendStorageResponse (..),+    newGetBackendStorageResponse,++    -- * Response Lenses+    getBackendStorageResponse_appId,+    getBackendStorageResponse_backendEnvironmentName,+    getBackendStorageResponse_resourceConfig,+    getBackendStorageResponse_resourceName,+    getBackendStorageResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for GetBackendStorage.+--+-- /See:/ 'newGetBackendStorage' smart constructor.+data GetBackendStorage = GetBackendStorage'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of the storage resource.+    resourceName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBackendStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'getBackendStorage_appId' - The app ID.+--+-- 'backendEnvironmentName', 'getBackendStorage_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceName', 'getBackendStorage_resourceName' - The name of the storage resource.+newGetBackendStorage ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  GetBackendStorage+newGetBackendStorage+  pAppId_+  pBackendEnvironmentName_+  pResourceName_ =+    GetBackendStorage'+      { appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceName = pResourceName_+      }++-- | The app ID.+getBackendStorage_appId :: Lens.Lens' GetBackendStorage Prelude.Text+getBackendStorage_appId = Lens.lens (\GetBackendStorage' {appId} -> appId) (\s@GetBackendStorage' {} a -> s {appId = a} :: GetBackendStorage)++-- | The name of the backend environment.+getBackendStorage_backendEnvironmentName :: Lens.Lens' GetBackendStorage Prelude.Text+getBackendStorage_backendEnvironmentName = Lens.lens (\GetBackendStorage' {backendEnvironmentName} -> backendEnvironmentName) (\s@GetBackendStorage' {} a -> s {backendEnvironmentName = a} :: GetBackendStorage)++-- | The name of the storage resource.+getBackendStorage_resourceName :: Lens.Lens' GetBackendStorage Prelude.Text+getBackendStorage_resourceName = Lens.lens (\GetBackendStorage' {resourceName} -> resourceName) (\s@GetBackendStorage' {} a -> s {resourceName = a} :: GetBackendStorage)++instance Core.AWSRequest GetBackendStorage where+  type+    AWSResponse GetBackendStorage =+      GetBackendStorageResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetBackendStorageResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "resourceConfig")+            Prelude.<*> (x Data..?> "resourceName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBackendStorage where+  hashWithSalt _salt GetBackendStorage' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceName++instance Prelude.NFData GetBackendStorage where+  rnf GetBackendStorage' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceName++instance Data.ToHeaders GetBackendStorage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetBackendStorage where+  toJSON GetBackendStorage' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("resourceName" Data..= resourceName)]+      )++instance Data.ToPath GetBackendStorage where+  toPath GetBackendStorage' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/storage/",+        Data.toBS backendEnvironmentName,+        "/details"+      ]++instance Data.ToQuery GetBackendStorage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetBackendStorageResponse' smart constructor.+data GetBackendStorageResponse = GetBackendStorageResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | The resource configuration for the backend storage resource.+    resourceConfig :: Prelude.Maybe GetBackendStorageResourceConfig,+    -- | The name of the storage resource.+    resourceName :: 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 'GetBackendStorageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'getBackendStorageResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'getBackendStorageResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceConfig', 'getBackendStorageResponse_resourceConfig' - The resource configuration for the backend storage resource.+--+-- 'resourceName', 'getBackendStorageResponse_resourceName' - The name of the storage resource.+--+-- 'httpStatus', 'getBackendStorageResponse_httpStatus' - The response's http status code.+newGetBackendStorageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBackendStorageResponse+newGetBackendStorageResponse pHttpStatus_ =+  GetBackendStorageResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      resourceConfig = Prelude.Nothing,+      resourceName = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+getBackendStorageResponse_appId :: Lens.Lens' GetBackendStorageResponse (Prelude.Maybe Prelude.Text)+getBackendStorageResponse_appId = Lens.lens (\GetBackendStorageResponse' {appId} -> appId) (\s@GetBackendStorageResponse' {} a -> s {appId = a} :: GetBackendStorageResponse)++-- | The name of the backend environment.+getBackendStorageResponse_backendEnvironmentName :: Lens.Lens' GetBackendStorageResponse (Prelude.Maybe Prelude.Text)+getBackendStorageResponse_backendEnvironmentName = Lens.lens (\GetBackendStorageResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@GetBackendStorageResponse' {} a -> s {backendEnvironmentName = a} :: GetBackendStorageResponse)++-- | The resource configuration for the backend storage resource.+getBackendStorageResponse_resourceConfig :: Lens.Lens' GetBackendStorageResponse (Prelude.Maybe GetBackendStorageResourceConfig)+getBackendStorageResponse_resourceConfig = Lens.lens (\GetBackendStorageResponse' {resourceConfig} -> resourceConfig) (\s@GetBackendStorageResponse' {} a -> s {resourceConfig = a} :: GetBackendStorageResponse)++-- | The name of the storage resource.+getBackendStorageResponse_resourceName :: Lens.Lens' GetBackendStorageResponse (Prelude.Maybe Prelude.Text)+getBackendStorageResponse_resourceName = Lens.lens (\GetBackendStorageResponse' {resourceName} -> resourceName) (\s@GetBackendStorageResponse' {} a -> s {resourceName = a} :: GetBackendStorageResponse)++-- | The response's http status code.+getBackendStorageResponse_httpStatus :: Lens.Lens' GetBackendStorageResponse Prelude.Int+getBackendStorageResponse_httpStatus = Lens.lens (\GetBackendStorageResponse' {httpStatus} -> httpStatus) (\s@GetBackendStorageResponse' {} a -> s {httpStatus = a} :: GetBackendStorageResponse)++instance Prelude.NFData GetBackendStorageResponse where+  rnf GetBackendStorageResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceConfig+      `Prelude.seq` Prelude.rnf resourceName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/GetToken.hs view
@@ -0,0 +1,214 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.GetToken+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the challenge token based on the given appId and sessionId.+module Amazonka.AmplifyBackend.GetToken+  ( -- * Creating a Request+    GetToken (..),+    newGetToken,++    -- * Request Lenses+    getToken_sessionId,+    getToken_appId,++    -- * Destructuring the Response+    GetTokenResponse (..),+    newGetTokenResponse,++    -- * Response Lenses+    getTokenResponse_appId,+    getTokenResponse_challengeCode,+    getTokenResponse_sessionId,+    getTokenResponse_ttl,+    getTokenResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | /See:/ 'newGetToken' smart constructor.+data GetToken = GetToken'+  { -- | The session ID.+    sessionId :: Prelude.Text,+    -- | The app ID.+    appId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetToken' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sessionId', 'getToken_sessionId' - The session ID.+--+-- 'appId', 'getToken_appId' - The app ID.+newGetToken ::+  -- | 'sessionId'+  Prelude.Text ->+  -- | 'appId'+  Prelude.Text ->+  GetToken+newGetToken pSessionId_ pAppId_ =+  GetToken' {sessionId = pSessionId_, appId = pAppId_}++-- | The session ID.+getToken_sessionId :: Lens.Lens' GetToken Prelude.Text+getToken_sessionId = Lens.lens (\GetToken' {sessionId} -> sessionId) (\s@GetToken' {} a -> s {sessionId = a} :: GetToken)++-- | The app ID.+getToken_appId :: Lens.Lens' GetToken Prelude.Text+getToken_appId = Lens.lens (\GetToken' {appId} -> appId) (\s@GetToken' {} a -> s {appId = a} :: GetToken)++instance Core.AWSRequest GetToken where+  type AWSResponse GetToken = GetTokenResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetTokenResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "challengeCode")+            Prelude.<*> (x Data..?> "sessionId")+            Prelude.<*> (x Data..?> "ttl")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetToken where+  hashWithSalt _salt GetToken' {..} =+    _salt+      `Prelude.hashWithSalt` sessionId+      `Prelude.hashWithSalt` appId++instance Prelude.NFData GetToken where+  rnf GetToken' {..} =+    Prelude.rnf sessionId+      `Prelude.seq` Prelude.rnf appId++instance Data.ToHeaders GetToken where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetToken where+  toPath GetToken' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/challenge/",+        Data.toBS sessionId+      ]++instance Data.ToQuery GetToken where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetTokenResponse' smart constructor.+data GetTokenResponse = GetTokenResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The one-time challenge code for authenticating into the Amplify Admin+    -- UI.+    challengeCode :: Prelude.Maybe Prelude.Text,+    -- | A unique ID provided when creating a new challenge token.+    sessionId :: Prelude.Maybe Prelude.Text,+    -- | The expiry time for the one-time generated token code.+    ttl :: 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 'GetTokenResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'getTokenResponse_appId' - The app ID.+--+-- 'challengeCode', 'getTokenResponse_challengeCode' - The one-time challenge code for authenticating into the Amplify Admin+-- UI.+--+-- 'sessionId', 'getTokenResponse_sessionId' - A unique ID provided when creating a new challenge token.+--+-- 'ttl', 'getTokenResponse_ttl' - The expiry time for the one-time generated token code.+--+-- 'httpStatus', 'getTokenResponse_httpStatus' - The response's http status code.+newGetTokenResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetTokenResponse+newGetTokenResponse pHttpStatus_ =+  GetTokenResponse'+    { appId = Prelude.Nothing,+      challengeCode = Prelude.Nothing,+      sessionId = Prelude.Nothing,+      ttl = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+getTokenResponse_appId :: Lens.Lens' GetTokenResponse (Prelude.Maybe Prelude.Text)+getTokenResponse_appId = Lens.lens (\GetTokenResponse' {appId} -> appId) (\s@GetTokenResponse' {} a -> s {appId = a} :: GetTokenResponse)++-- | The one-time challenge code for authenticating into the Amplify Admin+-- UI.+getTokenResponse_challengeCode :: Lens.Lens' GetTokenResponse (Prelude.Maybe Prelude.Text)+getTokenResponse_challengeCode = Lens.lens (\GetTokenResponse' {challengeCode} -> challengeCode) (\s@GetTokenResponse' {} a -> s {challengeCode = a} :: GetTokenResponse)++-- | A unique ID provided when creating a new challenge token.+getTokenResponse_sessionId :: Lens.Lens' GetTokenResponse (Prelude.Maybe Prelude.Text)+getTokenResponse_sessionId = Lens.lens (\GetTokenResponse' {sessionId} -> sessionId) (\s@GetTokenResponse' {} a -> s {sessionId = a} :: GetTokenResponse)++-- | The expiry time for the one-time generated token code.+getTokenResponse_ttl :: Lens.Lens' GetTokenResponse (Prelude.Maybe Prelude.Text)+getTokenResponse_ttl = Lens.lens (\GetTokenResponse' {ttl} -> ttl) (\s@GetTokenResponse' {} a -> s {ttl = a} :: GetTokenResponse)++-- | The response's http status code.+getTokenResponse_httpStatus :: Lens.Lens' GetTokenResponse Prelude.Int+getTokenResponse_httpStatus = Lens.lens (\GetTokenResponse' {httpStatus} -> httpStatus) (\s@GetTokenResponse' {} a -> s {httpStatus = a} :: GetTokenResponse)++instance Prelude.NFData GetTokenResponse where+  rnf GetTokenResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf challengeCode+      `Prelude.seq` Prelude.rnf sessionId+      `Prelude.seq` Prelude.rnf ttl+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/ImportBackendAuth.hs view
@@ -0,0 +1,316 @@+{-# 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.AmplifyBackend.ImportBackendAuth+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Imports an existing backend authentication resource.+module Amazonka.AmplifyBackend.ImportBackendAuth+  ( -- * Creating a Request+    ImportBackendAuth (..),+    newImportBackendAuth,++    -- * Request Lenses+    importBackendAuth_identityPoolId,+    importBackendAuth_appId,+    importBackendAuth_backendEnvironmentName,+    importBackendAuth_userPoolId,+    importBackendAuth_nativeClientId,+    importBackendAuth_webClientId,++    -- * Destructuring the Response+    ImportBackendAuthResponse (..),+    newImportBackendAuthResponse,++    -- * Response Lenses+    importBackendAuthResponse_appId,+    importBackendAuthResponse_backendEnvironmentName,+    importBackendAuthResponse_error,+    importBackendAuthResponse_jobId,+    importBackendAuthResponse_operation,+    importBackendAuthResponse_status,+    importBackendAuthResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for ImportBackendAuth.+--+-- /See:/ 'newImportBackendAuth' smart constructor.+data ImportBackendAuth = ImportBackendAuth'+  { -- | The ID of the Amazon Cognito identity pool.+    identityPoolId :: Prelude.Maybe Prelude.Text,+    -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The ID of the Amazon Cognito user pool.+    userPoolId :: Prelude.Text,+    -- | The ID of the Amazon Cognito native client.+    nativeClientId :: Prelude.Text,+    -- | The ID of the Amazon Cognito web client.+    webClientId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImportBackendAuth' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityPoolId', 'importBackendAuth_identityPoolId' - The ID of the Amazon Cognito identity pool.+--+-- 'appId', 'importBackendAuth_appId' - The app ID.+--+-- 'backendEnvironmentName', 'importBackendAuth_backendEnvironmentName' - The name of the backend environment.+--+-- 'userPoolId', 'importBackendAuth_userPoolId' - The ID of the Amazon Cognito user pool.+--+-- 'nativeClientId', 'importBackendAuth_nativeClientId' - The ID of the Amazon Cognito native client.+--+-- 'webClientId', 'importBackendAuth_webClientId' - The ID of the Amazon Cognito web client.+newImportBackendAuth ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'userPoolId'+  Prelude.Text ->+  -- | 'nativeClientId'+  Prelude.Text ->+  -- | 'webClientId'+  Prelude.Text ->+  ImportBackendAuth+newImportBackendAuth+  pAppId_+  pBackendEnvironmentName_+  pUserPoolId_+  pNativeClientId_+  pWebClientId_ =+    ImportBackendAuth'+      { identityPoolId =+          Prelude.Nothing,+        appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        userPoolId = pUserPoolId_,+        nativeClientId = pNativeClientId_,+        webClientId = pWebClientId_+      }++-- | The ID of the Amazon Cognito identity pool.+importBackendAuth_identityPoolId :: Lens.Lens' ImportBackendAuth (Prelude.Maybe Prelude.Text)+importBackendAuth_identityPoolId = Lens.lens (\ImportBackendAuth' {identityPoolId} -> identityPoolId) (\s@ImportBackendAuth' {} a -> s {identityPoolId = a} :: ImportBackendAuth)++-- | The app ID.+importBackendAuth_appId :: Lens.Lens' ImportBackendAuth Prelude.Text+importBackendAuth_appId = Lens.lens (\ImportBackendAuth' {appId} -> appId) (\s@ImportBackendAuth' {} a -> s {appId = a} :: ImportBackendAuth)++-- | The name of the backend environment.+importBackendAuth_backendEnvironmentName :: Lens.Lens' ImportBackendAuth Prelude.Text+importBackendAuth_backendEnvironmentName = Lens.lens (\ImportBackendAuth' {backendEnvironmentName} -> backendEnvironmentName) (\s@ImportBackendAuth' {} a -> s {backendEnvironmentName = a} :: ImportBackendAuth)++-- | The ID of the Amazon Cognito user pool.+importBackendAuth_userPoolId :: Lens.Lens' ImportBackendAuth Prelude.Text+importBackendAuth_userPoolId = Lens.lens (\ImportBackendAuth' {userPoolId} -> userPoolId) (\s@ImportBackendAuth' {} a -> s {userPoolId = a} :: ImportBackendAuth)++-- | The ID of the Amazon Cognito native client.+importBackendAuth_nativeClientId :: Lens.Lens' ImportBackendAuth Prelude.Text+importBackendAuth_nativeClientId = Lens.lens (\ImportBackendAuth' {nativeClientId} -> nativeClientId) (\s@ImportBackendAuth' {} a -> s {nativeClientId = a} :: ImportBackendAuth)++-- | The ID of the Amazon Cognito web client.+importBackendAuth_webClientId :: Lens.Lens' ImportBackendAuth Prelude.Text+importBackendAuth_webClientId = Lens.lens (\ImportBackendAuth' {webClientId} -> webClientId) (\s@ImportBackendAuth' {} a -> s {webClientId = a} :: ImportBackendAuth)++instance Core.AWSRequest ImportBackendAuth where+  type+    AWSResponse ImportBackendAuth =+      ImportBackendAuthResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ImportBackendAuthResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ImportBackendAuth where+  hashWithSalt _salt ImportBackendAuth' {..} =+    _salt+      `Prelude.hashWithSalt` identityPoolId+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` userPoolId+      `Prelude.hashWithSalt` nativeClientId+      `Prelude.hashWithSalt` webClientId++instance Prelude.NFData ImportBackendAuth where+  rnf ImportBackendAuth' {..} =+    Prelude.rnf identityPoolId+      `Prelude.seq` Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf userPoolId+      `Prelude.seq` Prelude.rnf nativeClientId+      `Prelude.seq` Prelude.rnf webClientId++instance Data.ToHeaders ImportBackendAuth where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ImportBackendAuth where+  toJSON ImportBackendAuth' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("identityPoolId" Data..=)+              Prelude.<$> identityPoolId,+            Prelude.Just ("userPoolId" Data..= userPoolId),+            Prelude.Just+              ("nativeClientId" Data..= nativeClientId),+            Prelude.Just ("webClientId" Data..= webClientId)+          ]+      )++instance Data.ToPath ImportBackendAuth where+  toPath ImportBackendAuth' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/auth/",+        Data.toBS backendEnvironmentName,+        "/import"+      ]++instance Data.ToQuery ImportBackendAuth where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newImportBackendAuthResponse' smart constructor.+data ImportBackendAuthResponse = ImportBackendAuthResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'ImportBackendAuthResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'importBackendAuthResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'importBackendAuthResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'importBackendAuthResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'importBackendAuthResponse_jobId' - The ID for the job.+--+-- 'operation', 'importBackendAuthResponse_operation' - The name of the operation.+--+-- 'status', 'importBackendAuthResponse_status' - The current status of the request.+--+-- 'httpStatus', 'importBackendAuthResponse_httpStatus' - The response's http status code.+newImportBackendAuthResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ImportBackendAuthResponse+newImportBackendAuthResponse pHttpStatus_ =+  ImportBackendAuthResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+importBackendAuthResponse_appId :: Lens.Lens' ImportBackendAuthResponse (Prelude.Maybe Prelude.Text)+importBackendAuthResponse_appId = Lens.lens (\ImportBackendAuthResponse' {appId} -> appId) (\s@ImportBackendAuthResponse' {} a -> s {appId = a} :: ImportBackendAuthResponse)++-- | The name of the backend environment.+importBackendAuthResponse_backendEnvironmentName :: Lens.Lens' ImportBackendAuthResponse (Prelude.Maybe Prelude.Text)+importBackendAuthResponse_backendEnvironmentName = Lens.lens (\ImportBackendAuthResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@ImportBackendAuthResponse' {} a -> s {backendEnvironmentName = a} :: ImportBackendAuthResponse)++-- | If the request fails, this error is returned.+importBackendAuthResponse_error :: Lens.Lens' ImportBackendAuthResponse (Prelude.Maybe Prelude.Text)+importBackendAuthResponse_error = Lens.lens (\ImportBackendAuthResponse' {error} -> error) (\s@ImportBackendAuthResponse' {} a -> s {error = a} :: ImportBackendAuthResponse)++-- | The ID for the job.+importBackendAuthResponse_jobId :: Lens.Lens' ImportBackendAuthResponse (Prelude.Maybe Prelude.Text)+importBackendAuthResponse_jobId = Lens.lens (\ImportBackendAuthResponse' {jobId} -> jobId) (\s@ImportBackendAuthResponse' {} a -> s {jobId = a} :: ImportBackendAuthResponse)++-- | The name of the operation.+importBackendAuthResponse_operation :: Lens.Lens' ImportBackendAuthResponse (Prelude.Maybe Prelude.Text)+importBackendAuthResponse_operation = Lens.lens (\ImportBackendAuthResponse' {operation} -> operation) (\s@ImportBackendAuthResponse' {} a -> s {operation = a} :: ImportBackendAuthResponse)++-- | The current status of the request.+importBackendAuthResponse_status :: Lens.Lens' ImportBackendAuthResponse (Prelude.Maybe Prelude.Text)+importBackendAuthResponse_status = Lens.lens (\ImportBackendAuthResponse' {status} -> status) (\s@ImportBackendAuthResponse' {} a -> s {status = a} :: ImportBackendAuthResponse)++-- | The response's http status code.+importBackendAuthResponse_httpStatus :: Lens.Lens' ImportBackendAuthResponse Prelude.Int+importBackendAuthResponse_httpStatus = Lens.lens (\ImportBackendAuthResponse' {httpStatus} -> httpStatus) (\s@ImportBackendAuthResponse' {} a -> s {httpStatus = a} :: ImportBackendAuthResponse)++instance Prelude.NFData ImportBackendAuthResponse where+  rnf ImportBackendAuthResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/ImportBackendStorage.hs view
@@ -0,0 +1,258 @@+{-# 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.AmplifyBackend.ImportBackendStorage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Imports an existing backend storage resource.+module Amazonka.AmplifyBackend.ImportBackendStorage+  ( -- * Creating a Request+    ImportBackendStorage (..),+    newImportBackendStorage,++    -- * Request Lenses+    importBackendStorage_bucketName,+    importBackendStorage_appId,+    importBackendStorage_backendEnvironmentName,+    importBackendStorage_serviceName,++    -- * Destructuring the Response+    ImportBackendStorageResponse (..),+    newImportBackendStorageResponse,++    -- * Response Lenses+    importBackendStorageResponse_appId,+    importBackendStorageResponse_backendEnvironmentName,+    importBackendStorageResponse_jobId,+    importBackendStorageResponse_status,+    importBackendStorageResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for ImportBackendStorage.+--+-- /See:/ 'newImportBackendStorage' smart constructor.+data ImportBackendStorage = ImportBackendStorage'+  { -- | The name of the S3 bucket.+    bucketName :: Prelude.Maybe Prelude.Text,+    -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of the storage service.+    serviceName :: ServiceName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImportBackendStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketName', 'importBackendStorage_bucketName' - The name of the S3 bucket.+--+-- 'appId', 'importBackendStorage_appId' - The app ID.+--+-- 'backendEnvironmentName', 'importBackendStorage_backendEnvironmentName' - The name of the backend environment.+--+-- 'serviceName', 'importBackendStorage_serviceName' - The name of the storage service.+newImportBackendStorage ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'serviceName'+  ServiceName ->+  ImportBackendStorage+newImportBackendStorage+  pAppId_+  pBackendEnvironmentName_+  pServiceName_ =+    ImportBackendStorage'+      { bucketName = Prelude.Nothing,+        appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        serviceName = pServiceName_+      }++-- | The name of the S3 bucket.+importBackendStorage_bucketName :: Lens.Lens' ImportBackendStorage (Prelude.Maybe Prelude.Text)+importBackendStorage_bucketName = Lens.lens (\ImportBackendStorage' {bucketName} -> bucketName) (\s@ImportBackendStorage' {} a -> s {bucketName = a} :: ImportBackendStorage)++-- | The app ID.+importBackendStorage_appId :: Lens.Lens' ImportBackendStorage Prelude.Text+importBackendStorage_appId = Lens.lens (\ImportBackendStorage' {appId} -> appId) (\s@ImportBackendStorage' {} a -> s {appId = a} :: ImportBackendStorage)++-- | The name of the backend environment.+importBackendStorage_backendEnvironmentName :: Lens.Lens' ImportBackendStorage Prelude.Text+importBackendStorage_backendEnvironmentName = Lens.lens (\ImportBackendStorage' {backendEnvironmentName} -> backendEnvironmentName) (\s@ImportBackendStorage' {} a -> s {backendEnvironmentName = a} :: ImportBackendStorage)++-- | The name of the storage service.+importBackendStorage_serviceName :: Lens.Lens' ImportBackendStorage ServiceName+importBackendStorage_serviceName = Lens.lens (\ImportBackendStorage' {serviceName} -> serviceName) (\s@ImportBackendStorage' {} a -> s {serviceName = a} :: ImportBackendStorage)++instance Core.AWSRequest ImportBackendStorage where+  type+    AWSResponse ImportBackendStorage =+      ImportBackendStorageResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ImportBackendStorageResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ImportBackendStorage where+  hashWithSalt _salt ImportBackendStorage' {..} =+    _salt+      `Prelude.hashWithSalt` bucketName+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` serviceName++instance Prelude.NFData ImportBackendStorage where+  rnf ImportBackendStorage' {..} =+    Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf serviceName++instance Data.ToHeaders ImportBackendStorage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ImportBackendStorage where+  toJSON ImportBackendStorage' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("bucketName" Data..=) Prelude.<$> bucketName,+            Prelude.Just ("serviceName" Data..= serviceName)+          ]+      )++instance Data.ToPath ImportBackendStorage where+  toPath ImportBackendStorage' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/storage/",+        Data.toBS backendEnvironmentName,+        "/import"+      ]++instance Data.ToQuery ImportBackendStorage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newImportBackendStorageResponse' smart constructor.+data ImportBackendStorageResponse = ImportBackendStorageResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'ImportBackendStorageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'importBackendStorageResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'importBackendStorageResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'jobId', 'importBackendStorageResponse_jobId' - The ID for the job.+--+-- 'status', 'importBackendStorageResponse_status' - The current status of the request.+--+-- 'httpStatus', 'importBackendStorageResponse_httpStatus' - The response's http status code.+newImportBackendStorageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ImportBackendStorageResponse+newImportBackendStorageResponse pHttpStatus_ =+  ImportBackendStorageResponse'+    { appId =+        Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      jobId = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+importBackendStorageResponse_appId :: Lens.Lens' ImportBackendStorageResponse (Prelude.Maybe Prelude.Text)+importBackendStorageResponse_appId = Lens.lens (\ImportBackendStorageResponse' {appId} -> appId) (\s@ImportBackendStorageResponse' {} a -> s {appId = a} :: ImportBackendStorageResponse)++-- | The name of the backend environment.+importBackendStorageResponse_backendEnvironmentName :: Lens.Lens' ImportBackendStorageResponse (Prelude.Maybe Prelude.Text)+importBackendStorageResponse_backendEnvironmentName = Lens.lens (\ImportBackendStorageResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@ImportBackendStorageResponse' {} a -> s {backendEnvironmentName = a} :: ImportBackendStorageResponse)++-- | The ID for the job.+importBackendStorageResponse_jobId :: Lens.Lens' ImportBackendStorageResponse (Prelude.Maybe Prelude.Text)+importBackendStorageResponse_jobId = Lens.lens (\ImportBackendStorageResponse' {jobId} -> jobId) (\s@ImportBackendStorageResponse' {} a -> s {jobId = a} :: ImportBackendStorageResponse)++-- | The current status of the request.+importBackendStorageResponse_status :: Lens.Lens' ImportBackendStorageResponse (Prelude.Maybe Prelude.Text)+importBackendStorageResponse_status = Lens.lens (\ImportBackendStorageResponse' {status} -> status) (\s@ImportBackendStorageResponse' {} a -> s {status = a} :: ImportBackendStorageResponse)++-- | The response's http status code.+importBackendStorageResponse_httpStatus :: Lens.Lens' ImportBackendStorageResponse Prelude.Int+importBackendStorageResponse_httpStatus = Lens.lens (\ImportBackendStorageResponse' {httpStatus} -> httpStatus) (\s@ImportBackendStorageResponse' {} a -> s {httpStatus = a} :: ImportBackendStorageResponse)++instance Prelude.NFData ImportBackendStorageResponse where+  rnf ImportBackendStorageResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/Lens.hs view
@@ -0,0 +1,609 @@+{-# 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.AmplifyBackend.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.AmplifyBackend.Lens+  ( -- * Operations++    -- ** CloneBackend+    cloneBackend_appId,+    cloneBackend_backendEnvironmentName,+    cloneBackend_targetEnvironmentName,+    cloneBackendResponse_appId,+    cloneBackendResponse_backendEnvironmentName,+    cloneBackendResponse_error,+    cloneBackendResponse_jobId,+    cloneBackendResponse_operation,+    cloneBackendResponse_status,+    cloneBackendResponse_httpStatus,++    -- ** CreateBackend+    createBackend_resourceConfig,+    createBackend_resourceName,+    createBackend_appId,+    createBackend_backendEnvironmentName,+    createBackend_appName,+    createBackendResponse_appId,+    createBackendResponse_backendEnvironmentName,+    createBackendResponse_error,+    createBackendResponse_jobId,+    createBackendResponse_operation,+    createBackendResponse_status,+    createBackendResponse_httpStatus,++    -- ** CreateBackendAPI+    createBackendAPI_appId,+    createBackendAPI_resourceName,+    createBackendAPI_backendEnvironmentName,+    createBackendAPI_resourceConfig,+    createBackendAPIResponse_appId,+    createBackendAPIResponse_backendEnvironmentName,+    createBackendAPIResponse_error,+    createBackendAPIResponse_jobId,+    createBackendAPIResponse_operation,+    createBackendAPIResponse_status,+    createBackendAPIResponse_httpStatus,++    -- ** CreateBackendAuth+    createBackendAuth_appId,+    createBackendAuth_resourceName,+    createBackendAuth_backendEnvironmentName,+    createBackendAuth_resourceConfig,+    createBackendAuthResponse_appId,+    createBackendAuthResponse_backendEnvironmentName,+    createBackendAuthResponse_error,+    createBackendAuthResponse_jobId,+    createBackendAuthResponse_operation,+    createBackendAuthResponse_status,+    createBackendAuthResponse_httpStatus,++    -- ** CreateBackendConfig+    createBackendConfig_backendManagerAppId,+    createBackendConfig_appId,+    createBackendConfigResponse_appId,+    createBackendConfigResponse_backendEnvironmentName,+    createBackendConfigResponse_jobId,+    createBackendConfigResponse_status,+    createBackendConfigResponse_httpStatus,++    -- ** CreateBackendStorage+    createBackendStorage_appId,+    createBackendStorage_resourceName,+    createBackendStorage_backendEnvironmentName,+    createBackendStorage_resourceConfig,+    createBackendStorageResponse_appId,+    createBackendStorageResponse_backendEnvironmentName,+    createBackendStorageResponse_jobId,+    createBackendStorageResponse_status,+    createBackendStorageResponse_httpStatus,++    -- ** CreateToken+    createToken_appId,+    createTokenResponse_appId,+    createTokenResponse_challengeCode,+    createTokenResponse_sessionId,+    createTokenResponse_ttl,+    createTokenResponse_httpStatus,++    -- ** DeleteBackend+    deleteBackend_appId,+    deleteBackend_backendEnvironmentName,+    deleteBackendResponse_appId,+    deleteBackendResponse_backendEnvironmentName,+    deleteBackendResponse_error,+    deleteBackendResponse_jobId,+    deleteBackendResponse_operation,+    deleteBackendResponse_status,+    deleteBackendResponse_httpStatus,++    -- ** DeleteBackendAPI+    deleteBackendAPI_resourceConfig,+    deleteBackendAPI_appId,+    deleteBackendAPI_backendEnvironmentName,+    deleteBackendAPI_resourceName,+    deleteBackendAPIResponse_appId,+    deleteBackendAPIResponse_backendEnvironmentName,+    deleteBackendAPIResponse_error,+    deleteBackendAPIResponse_jobId,+    deleteBackendAPIResponse_operation,+    deleteBackendAPIResponse_status,+    deleteBackendAPIResponse_httpStatus,++    -- ** DeleteBackendAuth+    deleteBackendAuth_appId,+    deleteBackendAuth_backendEnvironmentName,+    deleteBackendAuth_resourceName,+    deleteBackendAuthResponse_appId,+    deleteBackendAuthResponse_backendEnvironmentName,+    deleteBackendAuthResponse_error,+    deleteBackendAuthResponse_jobId,+    deleteBackendAuthResponse_operation,+    deleteBackendAuthResponse_status,+    deleteBackendAuthResponse_httpStatus,++    -- ** DeleteBackendStorage+    deleteBackendStorage_appId,+    deleteBackendStorage_backendEnvironmentName,+    deleteBackendStorage_serviceName,+    deleteBackendStorage_resourceName,+    deleteBackendStorageResponse_appId,+    deleteBackendStorageResponse_backendEnvironmentName,+    deleteBackendStorageResponse_jobId,+    deleteBackendStorageResponse_status,+    deleteBackendStorageResponse_httpStatus,++    -- ** DeleteToken+    deleteToken_sessionId,+    deleteToken_appId,+    deleteTokenResponse_isSuccess,+    deleteTokenResponse_httpStatus,++    -- ** GenerateBackendAPIModels+    generateBackendAPIModels_appId,+    generateBackendAPIModels_backendEnvironmentName,+    generateBackendAPIModels_resourceName,+    generateBackendAPIModelsResponse_appId,+    generateBackendAPIModelsResponse_backendEnvironmentName,+    generateBackendAPIModelsResponse_error,+    generateBackendAPIModelsResponse_jobId,+    generateBackendAPIModelsResponse_operation,+    generateBackendAPIModelsResponse_status,+    generateBackendAPIModelsResponse_httpStatus,++    -- ** GetBackend+    getBackend_backendEnvironmentName,+    getBackend_appId,+    getBackendResponse_amplifyFeatureFlags,+    getBackendResponse_amplifyMetaConfig,+    getBackendResponse_appId,+    getBackendResponse_appName,+    getBackendResponse_backendEnvironmentList,+    getBackendResponse_backendEnvironmentName,+    getBackendResponse_error,+    getBackendResponse_httpStatus,++    -- ** GetBackendAPI+    getBackendAPI_resourceConfig,+    getBackendAPI_appId,+    getBackendAPI_backendEnvironmentName,+    getBackendAPI_resourceName,+    getBackendAPIResponse_appId,+    getBackendAPIResponse_backendEnvironmentName,+    getBackendAPIResponse_error,+    getBackendAPIResponse_resourceConfig,+    getBackendAPIResponse_resourceName,+    getBackendAPIResponse_httpStatus,++    -- ** GetBackendAPIModels+    getBackendAPIModels_appId,+    getBackendAPIModels_backendEnvironmentName,+    getBackendAPIModels_resourceName,+    getBackendAPIModelsResponse_modelIntrospectionSchema,+    getBackendAPIModelsResponse_models,+    getBackendAPIModelsResponse_status,+    getBackendAPIModelsResponse_httpStatus,++    -- ** GetBackendAuth+    getBackendAuth_appId,+    getBackendAuth_backendEnvironmentName,+    getBackendAuth_resourceName,+    getBackendAuthResponse_appId,+    getBackendAuthResponse_backendEnvironmentName,+    getBackendAuthResponse_error,+    getBackendAuthResponse_resourceConfig,+    getBackendAuthResponse_resourceName,+    getBackendAuthResponse_httpStatus,++    -- ** GetBackendJob+    getBackendJob_appId,+    getBackendJob_backendEnvironmentName,+    getBackendJob_jobId,+    getBackendJobResponse_appId,+    getBackendJobResponse_backendEnvironmentName,+    getBackendJobResponse_createTime,+    getBackendJobResponse_error,+    getBackendJobResponse_jobId,+    getBackendJobResponse_operation,+    getBackendJobResponse_status,+    getBackendJobResponse_updateTime,+    getBackendJobResponse_httpStatus,++    -- ** GetBackendStorage+    getBackendStorage_appId,+    getBackendStorage_backendEnvironmentName,+    getBackendStorage_resourceName,+    getBackendStorageResponse_appId,+    getBackendStorageResponse_backendEnvironmentName,+    getBackendStorageResponse_resourceConfig,+    getBackendStorageResponse_resourceName,+    getBackendStorageResponse_httpStatus,++    -- ** GetToken+    getToken_sessionId,+    getToken_appId,+    getTokenResponse_appId,+    getTokenResponse_challengeCode,+    getTokenResponse_sessionId,+    getTokenResponse_ttl,+    getTokenResponse_httpStatus,++    -- ** ImportBackendAuth+    importBackendAuth_identityPoolId,+    importBackendAuth_appId,+    importBackendAuth_backendEnvironmentName,+    importBackendAuth_userPoolId,+    importBackendAuth_nativeClientId,+    importBackendAuth_webClientId,+    importBackendAuthResponse_appId,+    importBackendAuthResponse_backendEnvironmentName,+    importBackendAuthResponse_error,+    importBackendAuthResponse_jobId,+    importBackendAuthResponse_operation,+    importBackendAuthResponse_status,+    importBackendAuthResponse_httpStatus,++    -- ** ImportBackendStorage+    importBackendStorage_bucketName,+    importBackendStorage_appId,+    importBackendStorage_backendEnvironmentName,+    importBackendStorage_serviceName,+    importBackendStorageResponse_appId,+    importBackendStorageResponse_backendEnvironmentName,+    importBackendStorageResponse_jobId,+    importBackendStorageResponse_status,+    importBackendStorageResponse_httpStatus,++    -- ** ListBackendJobs+    listBackendJobs_jobId,+    listBackendJobs_maxResults,+    listBackendJobs_nextToken,+    listBackendJobs_operation,+    listBackendJobs_status,+    listBackendJobs_appId,+    listBackendJobs_backendEnvironmentName,+    listBackendJobsResponse_jobs,+    listBackendJobsResponse_nextToken,+    listBackendJobsResponse_httpStatus,++    -- ** ListS3Buckets+    listS3Buckets_nextToken,+    listS3BucketsResponse_buckets,+    listS3BucketsResponse_nextToken,+    listS3BucketsResponse_httpStatus,++    -- ** RemoveAllBackends+    removeAllBackends_cleanAmplifyApp,+    removeAllBackends_appId,+    removeAllBackendsResponse_appId,+    removeAllBackendsResponse_error,+    removeAllBackendsResponse_jobId,+    removeAllBackendsResponse_operation,+    removeAllBackendsResponse_status,+    removeAllBackendsResponse_httpStatus,++    -- ** RemoveBackendConfig+    removeBackendConfig_appId,+    removeBackendConfigResponse_error,+    removeBackendConfigResponse_httpStatus,++    -- ** UpdateBackendAPI+    updateBackendAPI_resourceConfig,+    updateBackendAPI_appId,+    updateBackendAPI_backendEnvironmentName,+    updateBackendAPI_resourceName,+    updateBackendAPIResponse_appId,+    updateBackendAPIResponse_backendEnvironmentName,+    updateBackendAPIResponse_error,+    updateBackendAPIResponse_jobId,+    updateBackendAPIResponse_operation,+    updateBackendAPIResponse_status,+    updateBackendAPIResponse_httpStatus,++    -- ** UpdateBackendAuth+    updateBackendAuth_appId,+    updateBackendAuth_backendEnvironmentName,+    updateBackendAuth_resourceName,+    updateBackendAuth_resourceConfig,+    updateBackendAuthResponse_appId,+    updateBackendAuthResponse_backendEnvironmentName,+    updateBackendAuthResponse_error,+    updateBackendAuthResponse_jobId,+    updateBackendAuthResponse_operation,+    updateBackendAuthResponse_status,+    updateBackendAuthResponse_httpStatus,++    -- ** UpdateBackendConfig+    updateBackendConfig_loginAuthConfig,+    updateBackendConfig_appId,+    updateBackendConfigResponse_appId,+    updateBackendConfigResponse_backendManagerAppId,+    updateBackendConfigResponse_error,+    updateBackendConfigResponse_loginAuthConfig,+    updateBackendConfigResponse_httpStatus,++    -- ** UpdateBackendJob+    updateBackendJob_operation,+    updateBackendJob_status,+    updateBackendJob_appId,+    updateBackendJob_backendEnvironmentName,+    updateBackendJob_jobId,+    updateBackendJobResponse_appId,+    updateBackendJobResponse_backendEnvironmentName,+    updateBackendJobResponse_createTime,+    updateBackendJobResponse_error,+    updateBackendJobResponse_jobId,+    updateBackendJobResponse_operation,+    updateBackendJobResponse_status,+    updateBackendJobResponse_updateTime,+    updateBackendJobResponse_httpStatus,++    -- ** UpdateBackendStorage+    updateBackendStorage_appId,+    updateBackendStorage_backendEnvironmentName,+    updateBackendStorage_resourceName,+    updateBackendStorage_resourceConfig,+    updateBackendStorageResponse_appId,+    updateBackendStorageResponse_backendEnvironmentName,+    updateBackendStorageResponse_jobId,+    updateBackendStorageResponse_status,+    updateBackendStorageResponse_httpStatus,++    -- * Types++    -- ** BackendAPIAppSyncAuthSettings+    backendAPIAppSyncAuthSettings_cognitoUserPoolId,+    backendAPIAppSyncAuthSettings_description,+    backendAPIAppSyncAuthSettings_expirationTime,+    backendAPIAppSyncAuthSettings_openIDAuthTTL,+    backendAPIAppSyncAuthSettings_openIDClientId,+    backendAPIAppSyncAuthSettings_openIDIatTTL,+    backendAPIAppSyncAuthSettings_openIDIssueURL,+    backendAPIAppSyncAuthSettings_openIDProviderName,++    -- ** BackendAPIAuthType+    backendAPIAuthType_mode,+    backendAPIAuthType_settings,++    -- ** BackendAPIConflictResolution+    backendAPIConflictResolution_resolutionStrategy,++    -- ** BackendAPIResourceConfig+    backendAPIResourceConfig_additionalAuthTypes,+    backendAPIResourceConfig_apiName,+    backendAPIResourceConfig_conflictResolution,+    backendAPIResourceConfig_defaultAuthType,+    backendAPIResourceConfig_service,+    backendAPIResourceConfig_transformSchema,++    -- ** BackendAuthAppleProviderConfig+    backendAuthAppleProviderConfig_clientId,+    backendAuthAppleProviderConfig_keyId,+    backendAuthAppleProviderConfig_privateKey,+    backendAuthAppleProviderConfig_teamId,++    -- ** BackendAuthSocialProviderConfig+    backendAuthSocialProviderConfig_clientId,+    backendAuthSocialProviderConfig_clientSecret,++    -- ** BackendJobRespObj+    backendJobRespObj_createTime,+    backendJobRespObj_error,+    backendJobRespObj_jobId,+    backendJobRespObj_operation,+    backendJobRespObj_status,+    backendJobRespObj_updateTime,+    backendJobRespObj_appId,+    backendJobRespObj_backendEnvironmentName,++    -- ** BackendStoragePermissions+    backendStoragePermissions_unAuthenticated,+    backendStoragePermissions_authenticated,++    -- ** CreateBackendAuthForgotPasswordConfig+    createBackendAuthForgotPasswordConfig_emailSettings,+    createBackendAuthForgotPasswordConfig_smsSettings,+    createBackendAuthForgotPasswordConfig_deliveryMethod,++    -- ** CreateBackendAuthIdentityPoolConfig+    createBackendAuthIdentityPoolConfig_unauthenticatedLogin,+    createBackendAuthIdentityPoolConfig_identityPoolName,++    -- ** CreateBackendAuthMFAConfig+    createBackendAuthMFAConfig_settings,+    createBackendAuthMFAConfig_mfaMode,++    -- ** CreateBackendAuthOAuthConfig+    createBackendAuthOAuthConfig_domainPrefix,+    createBackendAuthOAuthConfig_socialProviderSettings,+    createBackendAuthOAuthConfig_redirectSignOutURIs,+    createBackendAuthOAuthConfig_redirectSignInURIs,+    createBackendAuthOAuthConfig_oAuthGrantType,+    createBackendAuthOAuthConfig_oAuthScopes,++    -- ** CreateBackendAuthPasswordPolicyConfig+    createBackendAuthPasswordPolicyConfig_additionalConstraints,+    createBackendAuthPasswordPolicyConfig_minimumLength,++    -- ** CreateBackendAuthResourceConfig+    createBackendAuthResourceConfig_identityPoolConfigs,+    createBackendAuthResourceConfig_authResources,+    createBackendAuthResourceConfig_userPoolConfigs,+    createBackendAuthResourceConfig_service,++    -- ** CreateBackendAuthUserPoolConfig+    createBackendAuthUserPoolConfig_forgotPassword,+    createBackendAuthUserPoolConfig_mfa,+    createBackendAuthUserPoolConfig_oAuth,+    createBackendAuthUserPoolConfig_passwordPolicy,+    createBackendAuthUserPoolConfig_verificationMessage,+    createBackendAuthUserPoolConfig_requiredSignUpAttributes,+    createBackendAuthUserPoolConfig_signInMethod,+    createBackendAuthUserPoolConfig_userPoolName,++    -- ** CreateBackendAuthVerificationMessageConfig+    createBackendAuthVerificationMessageConfig_emailSettings,+    createBackendAuthVerificationMessageConfig_smsSettings,+    createBackendAuthVerificationMessageConfig_deliveryMethod,++    -- ** CreateBackendStorageResourceConfig+    createBackendStorageResourceConfig_bucketName,+    createBackendStorageResourceConfig_serviceName,+    createBackendStorageResourceConfig_permissions,++    -- ** EmailSettings+    emailSettings_emailMessage,+    emailSettings_emailSubject,++    -- ** GetBackendStorageResourceConfig+    getBackendStorageResourceConfig_bucketName,+    getBackendStorageResourceConfig_permissions,+    getBackendStorageResourceConfig_serviceName,+    getBackendStorageResourceConfig_imported,++    -- ** LoginAuthConfigReqObj+    loginAuthConfigReqObj_awsCognitoIdentityPoolId,+    loginAuthConfigReqObj_awsCognitoRegion,+    loginAuthConfigReqObj_awsUserPoolsId,+    loginAuthConfigReqObj_awsUserPoolsWebClientId,++    -- ** ResourceConfig++    -- ** S3BucketInfo+    s3BucketInfo_creationDate,+    s3BucketInfo_name,++    -- ** Settings+    settings_mfaTypes,+    settings_smsMessage,++    -- ** SmsSettings+    smsSettings_smsMessage,++    -- ** SocialProviderSettings+    socialProviderSettings_facebook,+    socialProviderSettings_google,+    socialProviderSettings_loginWithAmazon,+    socialProviderSettings_signInWithApple,++    -- ** UpdateBackendAuthForgotPasswordConfig+    updateBackendAuthForgotPasswordConfig_deliveryMethod,+    updateBackendAuthForgotPasswordConfig_emailSettings,+    updateBackendAuthForgotPasswordConfig_smsSettings,++    -- ** UpdateBackendAuthIdentityPoolConfig+    updateBackendAuthIdentityPoolConfig_unauthenticatedLogin,++    -- ** UpdateBackendAuthMFAConfig+    updateBackendAuthMFAConfig_mfaMode,+    updateBackendAuthMFAConfig_settings,++    -- ** UpdateBackendAuthOAuthConfig+    updateBackendAuthOAuthConfig_domainPrefix,+    updateBackendAuthOAuthConfig_oAuthGrantType,+    updateBackendAuthOAuthConfig_oAuthScopes,+    updateBackendAuthOAuthConfig_redirectSignInURIs,+    updateBackendAuthOAuthConfig_redirectSignOutURIs,+    updateBackendAuthOAuthConfig_socialProviderSettings,++    -- ** UpdateBackendAuthPasswordPolicyConfig+    updateBackendAuthPasswordPolicyConfig_additionalConstraints,+    updateBackendAuthPasswordPolicyConfig_minimumLength,++    -- ** UpdateBackendAuthResourceConfig+    updateBackendAuthResourceConfig_identityPoolConfigs,+    updateBackendAuthResourceConfig_authResources,+    updateBackendAuthResourceConfig_userPoolConfigs,+    updateBackendAuthResourceConfig_service,++    -- ** UpdateBackendAuthUserPoolConfig+    updateBackendAuthUserPoolConfig_forgotPassword,+    updateBackendAuthUserPoolConfig_mfa,+    updateBackendAuthUserPoolConfig_oAuth,+    updateBackendAuthUserPoolConfig_passwordPolicy,+    updateBackendAuthUserPoolConfig_verificationMessage,++    -- ** UpdateBackendAuthVerificationMessageConfig+    updateBackendAuthVerificationMessageConfig_emailSettings,+    updateBackendAuthVerificationMessageConfig_smsSettings,+    updateBackendAuthVerificationMessageConfig_deliveryMethod,++    -- ** UpdateBackendStorageResourceConfig+    updateBackendStorageResourceConfig_serviceName,+    updateBackendStorageResourceConfig_permissions,+  )+where++import Amazonka.AmplifyBackend.CloneBackend+import Amazonka.AmplifyBackend.CreateBackend+import Amazonka.AmplifyBackend.CreateBackendAPI+import Amazonka.AmplifyBackend.CreateBackendAuth+import Amazonka.AmplifyBackend.CreateBackendConfig+import Amazonka.AmplifyBackend.CreateBackendStorage+import Amazonka.AmplifyBackend.CreateToken+import Amazonka.AmplifyBackend.DeleteBackend+import Amazonka.AmplifyBackend.DeleteBackendAPI+import Amazonka.AmplifyBackend.DeleteBackendAuth+import Amazonka.AmplifyBackend.DeleteBackendStorage+import Amazonka.AmplifyBackend.DeleteToken+import Amazonka.AmplifyBackend.GenerateBackendAPIModels+import Amazonka.AmplifyBackend.GetBackend+import Amazonka.AmplifyBackend.GetBackendAPI+import Amazonka.AmplifyBackend.GetBackendAPIModels+import Amazonka.AmplifyBackend.GetBackendAuth+import Amazonka.AmplifyBackend.GetBackendJob+import Amazonka.AmplifyBackend.GetBackendStorage+import Amazonka.AmplifyBackend.GetToken+import Amazonka.AmplifyBackend.ImportBackendAuth+import Amazonka.AmplifyBackend.ImportBackendStorage+import Amazonka.AmplifyBackend.ListBackendJobs+import Amazonka.AmplifyBackend.ListS3Buckets+import Amazonka.AmplifyBackend.RemoveAllBackends+import Amazonka.AmplifyBackend.RemoveBackendConfig+import Amazonka.AmplifyBackend.Types.BackendAPIAppSyncAuthSettings+import Amazonka.AmplifyBackend.Types.BackendAPIAuthType+import Amazonka.AmplifyBackend.Types.BackendAPIConflictResolution+import Amazonka.AmplifyBackend.Types.BackendAPIResourceConfig+import Amazonka.AmplifyBackend.Types.BackendAuthAppleProviderConfig+import Amazonka.AmplifyBackend.Types.BackendAuthSocialProviderConfig+import Amazonka.AmplifyBackend.Types.BackendJobRespObj+import Amazonka.AmplifyBackend.Types.BackendStoragePermissions+import Amazonka.AmplifyBackend.Types.CreateBackendAuthForgotPasswordConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthIdentityPoolConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthMFAConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthOAuthConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthPasswordPolicyConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthResourceConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthUserPoolConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthVerificationMessageConfig+import Amazonka.AmplifyBackend.Types.CreateBackendStorageResourceConfig+import Amazonka.AmplifyBackend.Types.EmailSettings+import Amazonka.AmplifyBackend.Types.GetBackendStorageResourceConfig+import Amazonka.AmplifyBackend.Types.LoginAuthConfigReqObj+import Amazonka.AmplifyBackend.Types.ResourceConfig+import Amazonka.AmplifyBackend.Types.S3BucketInfo+import Amazonka.AmplifyBackend.Types.Settings+import Amazonka.AmplifyBackend.Types.SmsSettings+import Amazonka.AmplifyBackend.Types.SocialProviderSettings+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthForgotPasswordConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthIdentityPoolConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthMFAConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthOAuthConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthPasswordPolicyConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthResourceConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthUserPoolConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthVerificationMessageConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendStorageResourceConfig+import Amazonka.AmplifyBackend.UpdateBackendAPI+import Amazonka.AmplifyBackend.UpdateBackendAuth+import Amazonka.AmplifyBackend.UpdateBackendConfig+import Amazonka.AmplifyBackend.UpdateBackendJob+import Amazonka.AmplifyBackend.UpdateBackendStorage
+ gen/Amazonka/AmplifyBackend/ListBackendJobs.hs view
@@ -0,0 +1,296 @@+{-# 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.AmplifyBackend.ListBackendJobs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the jobs for the backend of an Amplify app.+--+-- This operation returns paginated results.+module Amazonka.AmplifyBackend.ListBackendJobs+  ( -- * Creating a Request+    ListBackendJobs (..),+    newListBackendJobs,++    -- * Request Lenses+    listBackendJobs_jobId,+    listBackendJobs_maxResults,+    listBackendJobs_nextToken,+    listBackendJobs_operation,+    listBackendJobs_status,+    listBackendJobs_appId,+    listBackendJobs_backendEnvironmentName,++    -- * Destructuring the Response+    ListBackendJobsResponse (..),+    newListBackendJobsResponse,++    -- * Response Lenses+    listBackendJobsResponse_jobs,+    listBackendJobsResponse_nextToken,+    listBackendJobsResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for ListBackendJobs.+--+-- /See:/ 'newListBackendJobs' smart constructor.+data ListBackendJobs = ListBackendJobs'+  { -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results that you want in the response.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Filters the list of response objects to include only those with the+    -- specified operation name.+    operation :: Prelude.Maybe Prelude.Text,+    -- | Filters the list of response objects to include only those with the+    -- specified status.+    status :: Prelude.Maybe Prelude.Text,+    -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBackendJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'listBackendJobs_jobId' - The ID for the job.+--+-- 'maxResults', 'listBackendJobs_maxResults' - The maximum number of results that you want in the response.+--+-- 'nextToken', 'listBackendJobs_nextToken' - The token for the next set of results.+--+-- 'operation', 'listBackendJobs_operation' - Filters the list of response objects to include only those with the+-- specified operation name.+--+-- 'status', 'listBackendJobs_status' - Filters the list of response objects to include only those with the+-- specified status.+--+-- 'appId', 'listBackendJobs_appId' - The app ID.+--+-- 'backendEnvironmentName', 'listBackendJobs_backendEnvironmentName' - The name of the backend environment.+newListBackendJobs ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  ListBackendJobs+newListBackendJobs pAppId_ pBackendEnvironmentName_ =+  ListBackendJobs'+    { jobId = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      appId = pAppId_,+      backendEnvironmentName = pBackendEnvironmentName_+    }++-- | The ID for the job.+listBackendJobs_jobId :: Lens.Lens' ListBackendJobs (Prelude.Maybe Prelude.Text)+listBackendJobs_jobId = Lens.lens (\ListBackendJobs' {jobId} -> jobId) (\s@ListBackendJobs' {} a -> s {jobId = a} :: ListBackendJobs)++-- | The maximum number of results that you want in the response.+listBackendJobs_maxResults :: Lens.Lens' ListBackendJobs (Prelude.Maybe Prelude.Natural)+listBackendJobs_maxResults = Lens.lens (\ListBackendJobs' {maxResults} -> maxResults) (\s@ListBackendJobs' {} a -> s {maxResults = a} :: ListBackendJobs)++-- | The token for the next set of results.+listBackendJobs_nextToken :: Lens.Lens' ListBackendJobs (Prelude.Maybe Prelude.Text)+listBackendJobs_nextToken = Lens.lens (\ListBackendJobs' {nextToken} -> nextToken) (\s@ListBackendJobs' {} a -> s {nextToken = a} :: ListBackendJobs)++-- | Filters the list of response objects to include only those with the+-- specified operation name.+listBackendJobs_operation :: Lens.Lens' ListBackendJobs (Prelude.Maybe Prelude.Text)+listBackendJobs_operation = Lens.lens (\ListBackendJobs' {operation} -> operation) (\s@ListBackendJobs' {} a -> s {operation = a} :: ListBackendJobs)++-- | Filters the list of response objects to include only those with the+-- specified status.+listBackendJobs_status :: Lens.Lens' ListBackendJobs (Prelude.Maybe Prelude.Text)+listBackendJobs_status = Lens.lens (\ListBackendJobs' {status} -> status) (\s@ListBackendJobs' {} a -> s {status = a} :: ListBackendJobs)++-- | The app ID.+listBackendJobs_appId :: Lens.Lens' ListBackendJobs Prelude.Text+listBackendJobs_appId = Lens.lens (\ListBackendJobs' {appId} -> appId) (\s@ListBackendJobs' {} a -> s {appId = a} :: ListBackendJobs)++-- | The name of the backend environment.+listBackendJobs_backendEnvironmentName :: Lens.Lens' ListBackendJobs Prelude.Text+listBackendJobs_backendEnvironmentName = Lens.lens (\ListBackendJobs' {backendEnvironmentName} -> backendEnvironmentName) (\s@ListBackendJobs' {} a -> s {backendEnvironmentName = a} :: ListBackendJobs)++instance Core.AWSPager ListBackendJobs where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listBackendJobsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listBackendJobsResponse_jobs+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listBackendJobs_nextToken+          Lens..~ rs+          Lens.^? listBackendJobsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListBackendJobs where+  type+    AWSResponse ListBackendJobs =+      ListBackendJobsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListBackendJobsResponse'+            Prelude.<$> (x Data..?> "jobs" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListBackendJobs where+  hashWithSalt _salt ListBackendJobs' {..} =+    _salt+      `Prelude.hashWithSalt` jobId+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` operation+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName++instance Prelude.NFData ListBackendJobs where+  rnf ListBackendJobs' {..} =+    Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName++instance Data.ToHeaders ListBackendJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListBackendJobs where+  toJSON ListBackendJobs' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("jobId" Data..=) Prelude.<$> jobId,+            ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken,+            ("operation" Data..=) Prelude.<$> operation,+            ("status" Data..=) Prelude.<$> status+          ]+      )++instance Data.ToPath ListBackendJobs where+  toPath ListBackendJobs' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/job/",+        Data.toBS backendEnvironmentName+      ]++instance Data.ToQuery ListBackendJobs where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListBackendJobsResponse' smart constructor.+data ListBackendJobsResponse = ListBackendJobsResponse'+  { -- | An array of jobs and their properties.+    jobs :: Prelude.Maybe [BackendJobRespObj],+    -- | The token for the next set of results.+    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 'ListBackendJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobs', 'listBackendJobsResponse_jobs' - An array of jobs and their properties.+--+-- 'nextToken', 'listBackendJobsResponse_nextToken' - The token for the next set of results.+--+-- 'httpStatus', 'listBackendJobsResponse_httpStatus' - The response's http status code.+newListBackendJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListBackendJobsResponse+newListBackendJobsResponse pHttpStatus_ =+  ListBackendJobsResponse'+    { jobs = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of jobs and their properties.+listBackendJobsResponse_jobs :: Lens.Lens' ListBackendJobsResponse (Prelude.Maybe [BackendJobRespObj])+listBackendJobsResponse_jobs = Lens.lens (\ListBackendJobsResponse' {jobs} -> jobs) (\s@ListBackendJobsResponse' {} a -> s {jobs = a} :: ListBackendJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next set of results.+listBackendJobsResponse_nextToken :: Lens.Lens' ListBackendJobsResponse (Prelude.Maybe Prelude.Text)+listBackendJobsResponse_nextToken = Lens.lens (\ListBackendJobsResponse' {nextToken} -> nextToken) (\s@ListBackendJobsResponse' {} a -> s {nextToken = a} :: ListBackendJobsResponse)++-- | The response's http status code.+listBackendJobsResponse_httpStatus :: Lens.Lens' ListBackendJobsResponse Prelude.Int+listBackendJobsResponse_httpStatus = Lens.lens (\ListBackendJobsResponse' {httpStatus} -> httpStatus) (\s@ListBackendJobsResponse' {} a -> s {httpStatus = a} :: ListBackendJobsResponse)++instance Prelude.NFData ListBackendJobsResponse where+  rnf ListBackendJobsResponse' {..} =+    Prelude.rnf jobs+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/ListS3Buckets.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.AmplifyBackend.ListS3Buckets+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The list of S3 buckets in your account.+module Amazonka.AmplifyBackend.ListS3Buckets+  ( -- * Creating a Request+    ListS3Buckets (..),+    newListS3Buckets,++    -- * Request Lenses+    listS3Buckets_nextToken,++    -- * Destructuring the Response+    ListS3BucketsResponse (..),+    newListS3BucketsResponse,++    -- * Response Lenses+    listS3BucketsResponse_buckets,+    listS3BucketsResponse_nextToken,+    listS3BucketsResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for S3Buckets.+--+-- /See:/ 'newListS3Buckets' smart constructor.+data ListS3Buckets = ListS3Buckets'+  { -- | Reserved for future use.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListS3Buckets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listS3Buckets_nextToken' - Reserved for future use.+newListS3Buckets ::+  ListS3Buckets+newListS3Buckets =+  ListS3Buckets' {nextToken = Prelude.Nothing}++-- | Reserved for future use.+listS3Buckets_nextToken :: Lens.Lens' ListS3Buckets (Prelude.Maybe Prelude.Text)+listS3Buckets_nextToken = Lens.lens (\ListS3Buckets' {nextToken} -> nextToken) (\s@ListS3Buckets' {} a -> s {nextToken = a} :: ListS3Buckets)++instance Core.AWSRequest ListS3Buckets where+  type+    AWSResponse ListS3Buckets =+      ListS3BucketsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListS3BucketsResponse'+            Prelude.<$> (x Data..?> "buckets" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListS3Buckets where+  hashWithSalt _salt ListS3Buckets' {..} =+    _salt `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListS3Buckets where+  rnf ListS3Buckets' {..} = Prelude.rnf nextToken++instance Data.ToHeaders ListS3Buckets where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListS3Buckets where+  toJSON ListS3Buckets' {..} =+    Data.object+      ( Prelude.catMaybes+          [("nextToken" Data..=) Prelude.<$> nextToken]+      )++instance Data.ToPath ListS3Buckets where+  toPath = Prelude.const "/s3Buckets"++instance Data.ToQuery ListS3Buckets where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListS3BucketsResponse' smart constructor.+data ListS3BucketsResponse = ListS3BucketsResponse'+  { -- | The list of S3 buckets.+    buckets :: Prelude.Maybe [S3BucketInfo],+    -- | Reserved for future use.+    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 'ListS3BucketsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'buckets', 'listS3BucketsResponse_buckets' - The list of S3 buckets.+--+-- 'nextToken', 'listS3BucketsResponse_nextToken' - Reserved for future use.+--+-- 'httpStatus', 'listS3BucketsResponse_httpStatus' - The response's http status code.+newListS3BucketsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListS3BucketsResponse+newListS3BucketsResponse pHttpStatus_ =+  ListS3BucketsResponse'+    { buckets = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of S3 buckets.+listS3BucketsResponse_buckets :: Lens.Lens' ListS3BucketsResponse (Prelude.Maybe [S3BucketInfo])+listS3BucketsResponse_buckets = Lens.lens (\ListS3BucketsResponse' {buckets} -> buckets) (\s@ListS3BucketsResponse' {} a -> s {buckets = a} :: ListS3BucketsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Reserved for future use.+listS3BucketsResponse_nextToken :: Lens.Lens' ListS3BucketsResponse (Prelude.Maybe Prelude.Text)+listS3BucketsResponse_nextToken = Lens.lens (\ListS3BucketsResponse' {nextToken} -> nextToken) (\s@ListS3BucketsResponse' {} a -> s {nextToken = a} :: ListS3BucketsResponse)++-- | The response's http status code.+listS3BucketsResponse_httpStatus :: Lens.Lens' ListS3BucketsResponse Prelude.Int+listS3BucketsResponse_httpStatus = Lens.lens (\ListS3BucketsResponse' {httpStatus} -> httpStatus) (\s@ListS3BucketsResponse' {} a -> s {httpStatus = a} :: ListS3BucketsResponse)++instance Prelude.NFData ListS3BucketsResponse where+  rnf ListS3BucketsResponse' {..} =+    Prelude.rnf buckets+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/RemoveAllBackends.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.AmplifyBackend.RemoveAllBackends+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes all backend environments from your Amplify project.+module Amazonka.AmplifyBackend.RemoveAllBackends+  ( -- * Creating a Request+    RemoveAllBackends (..),+    newRemoveAllBackends,++    -- * Request Lenses+    removeAllBackends_cleanAmplifyApp,+    removeAllBackends_appId,++    -- * Destructuring the Response+    RemoveAllBackendsResponse (..),+    newRemoveAllBackendsResponse,++    -- * Response Lenses+    removeAllBackendsResponse_appId,+    removeAllBackendsResponse_error,+    removeAllBackendsResponse_jobId,+    removeAllBackendsResponse_operation,+    removeAllBackendsResponse_status,+    removeAllBackendsResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for RemoveAllBackends.+--+-- /See:/ 'newRemoveAllBackends' smart constructor.+data RemoveAllBackends = RemoveAllBackends'+  { -- | Cleans up the Amplify Console app if this value is set to true.+    cleanAmplifyApp :: Prelude.Maybe Prelude.Bool,+    -- | The app ID.+    appId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveAllBackends' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cleanAmplifyApp', 'removeAllBackends_cleanAmplifyApp' - Cleans up the Amplify Console app if this value is set to true.+--+-- 'appId', 'removeAllBackends_appId' - The app ID.+newRemoveAllBackends ::+  -- | 'appId'+  Prelude.Text ->+  RemoveAllBackends+newRemoveAllBackends pAppId_ =+  RemoveAllBackends'+    { cleanAmplifyApp =+        Prelude.Nothing,+      appId = pAppId_+    }++-- | Cleans up the Amplify Console app if this value is set to true.+removeAllBackends_cleanAmplifyApp :: Lens.Lens' RemoveAllBackends (Prelude.Maybe Prelude.Bool)+removeAllBackends_cleanAmplifyApp = Lens.lens (\RemoveAllBackends' {cleanAmplifyApp} -> cleanAmplifyApp) (\s@RemoveAllBackends' {} a -> s {cleanAmplifyApp = a} :: RemoveAllBackends)++-- | The app ID.+removeAllBackends_appId :: Lens.Lens' RemoveAllBackends Prelude.Text+removeAllBackends_appId = Lens.lens (\RemoveAllBackends' {appId} -> appId) (\s@RemoveAllBackends' {} a -> s {appId = a} :: RemoveAllBackends)++instance Core.AWSRequest RemoveAllBackends where+  type+    AWSResponse RemoveAllBackends =+      RemoveAllBackendsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RemoveAllBackendsResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RemoveAllBackends where+  hashWithSalt _salt RemoveAllBackends' {..} =+    _salt+      `Prelude.hashWithSalt` cleanAmplifyApp+      `Prelude.hashWithSalt` appId++instance Prelude.NFData RemoveAllBackends where+  rnf RemoveAllBackends' {..} =+    Prelude.rnf cleanAmplifyApp+      `Prelude.seq` Prelude.rnf appId++instance Data.ToHeaders RemoveAllBackends where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RemoveAllBackends where+  toJSON RemoveAllBackends' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("cleanAmplifyApp" Data..=)+              Prelude.<$> cleanAmplifyApp+          ]+      )++instance Data.ToPath RemoveAllBackends where+  toPath RemoveAllBackends' {..} =+    Prelude.mconcat+      ["/backend/", Data.toBS appId, "/remove"]++instance Data.ToQuery RemoveAllBackends where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRemoveAllBackendsResponse' smart constructor.+data RemoveAllBackendsResponse = RemoveAllBackendsResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'RemoveAllBackendsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'removeAllBackendsResponse_appId' - The app ID.+--+-- 'error', 'removeAllBackendsResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'removeAllBackendsResponse_jobId' - The ID for the job.+--+-- 'operation', 'removeAllBackendsResponse_operation' - The name of the operation.+--+-- 'status', 'removeAllBackendsResponse_status' - The current status of the request.+--+-- 'httpStatus', 'removeAllBackendsResponse_httpStatus' - The response's http status code.+newRemoveAllBackendsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RemoveAllBackendsResponse+newRemoveAllBackendsResponse pHttpStatus_ =+  RemoveAllBackendsResponse'+    { appId = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+removeAllBackendsResponse_appId :: Lens.Lens' RemoveAllBackendsResponse (Prelude.Maybe Prelude.Text)+removeAllBackendsResponse_appId = Lens.lens (\RemoveAllBackendsResponse' {appId} -> appId) (\s@RemoveAllBackendsResponse' {} a -> s {appId = a} :: RemoveAllBackendsResponse)++-- | If the request fails, this error is returned.+removeAllBackendsResponse_error :: Lens.Lens' RemoveAllBackendsResponse (Prelude.Maybe Prelude.Text)+removeAllBackendsResponse_error = Lens.lens (\RemoveAllBackendsResponse' {error} -> error) (\s@RemoveAllBackendsResponse' {} a -> s {error = a} :: RemoveAllBackendsResponse)++-- | The ID for the job.+removeAllBackendsResponse_jobId :: Lens.Lens' RemoveAllBackendsResponse (Prelude.Maybe Prelude.Text)+removeAllBackendsResponse_jobId = Lens.lens (\RemoveAllBackendsResponse' {jobId} -> jobId) (\s@RemoveAllBackendsResponse' {} a -> s {jobId = a} :: RemoveAllBackendsResponse)++-- | The name of the operation.+removeAllBackendsResponse_operation :: Lens.Lens' RemoveAllBackendsResponse (Prelude.Maybe Prelude.Text)+removeAllBackendsResponse_operation = Lens.lens (\RemoveAllBackendsResponse' {operation} -> operation) (\s@RemoveAllBackendsResponse' {} a -> s {operation = a} :: RemoveAllBackendsResponse)++-- | The current status of the request.+removeAllBackendsResponse_status :: Lens.Lens' RemoveAllBackendsResponse (Prelude.Maybe Prelude.Text)+removeAllBackendsResponse_status = Lens.lens (\RemoveAllBackendsResponse' {status} -> status) (\s@RemoveAllBackendsResponse' {} a -> s {status = a} :: RemoveAllBackendsResponse)++-- | The response's http status code.+removeAllBackendsResponse_httpStatus :: Lens.Lens' RemoveAllBackendsResponse Prelude.Int+removeAllBackendsResponse_httpStatus = Lens.lens (\RemoveAllBackendsResponse' {httpStatus} -> httpStatus) (\s@RemoveAllBackendsResponse' {} a -> s {httpStatus = a} :: RemoveAllBackendsResponse)++instance Prelude.NFData RemoveAllBackendsResponse where+  rnf RemoveAllBackendsResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/RemoveBackendConfig.hs view
@@ -0,0 +1,162 @@+{-# 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.AmplifyBackend.RemoveBackendConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the AWS resources required to access the Amplify Admin UI.+module Amazonka.AmplifyBackend.RemoveBackendConfig+  ( -- * Creating a Request+    RemoveBackendConfig (..),+    newRemoveBackendConfig,++    -- * Request Lenses+    removeBackendConfig_appId,++    -- * Destructuring the Response+    RemoveBackendConfigResponse (..),+    newRemoveBackendConfigResponse,++    -- * Response Lenses+    removeBackendConfigResponse_error,+    removeBackendConfigResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | /See:/ 'newRemoveBackendConfig' smart constructor.+data RemoveBackendConfig = RemoveBackendConfig'+  { -- | The app ID.+    appId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveBackendConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'removeBackendConfig_appId' - The app ID.+newRemoveBackendConfig ::+  -- | 'appId'+  Prelude.Text ->+  RemoveBackendConfig+newRemoveBackendConfig pAppId_ =+  RemoveBackendConfig' {appId = pAppId_}++-- | The app ID.+removeBackendConfig_appId :: Lens.Lens' RemoveBackendConfig Prelude.Text+removeBackendConfig_appId = Lens.lens (\RemoveBackendConfig' {appId} -> appId) (\s@RemoveBackendConfig' {} a -> s {appId = a} :: RemoveBackendConfig)++instance Core.AWSRequest RemoveBackendConfig where+  type+    AWSResponse RemoveBackendConfig =+      RemoveBackendConfigResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RemoveBackendConfigResponse'+            Prelude.<$> (x Data..?> "error")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RemoveBackendConfig where+  hashWithSalt _salt RemoveBackendConfig' {..} =+    _salt `Prelude.hashWithSalt` appId++instance Prelude.NFData RemoveBackendConfig where+  rnf RemoveBackendConfig' {..} = Prelude.rnf appId++instance Data.ToHeaders RemoveBackendConfig where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RemoveBackendConfig where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath RemoveBackendConfig where+  toPath RemoveBackendConfig' {..} =+    Prelude.mconcat+      ["/backend/", Data.toBS appId, "/config/remove"]++instance Data.ToQuery RemoveBackendConfig where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRemoveBackendConfigResponse' smart constructor.+data RemoveBackendConfigResponse = RemoveBackendConfigResponse'+  { -- | If the request fails, this error is returned.+    error :: 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 'RemoveBackendConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'error', 'removeBackendConfigResponse_error' - If the request fails, this error is returned.+--+-- 'httpStatus', 'removeBackendConfigResponse_httpStatus' - The response's http status code.+newRemoveBackendConfigResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RemoveBackendConfigResponse+newRemoveBackendConfigResponse pHttpStatus_ =+  RemoveBackendConfigResponse'+    { error =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the request fails, this error is returned.+removeBackendConfigResponse_error :: Lens.Lens' RemoveBackendConfigResponse (Prelude.Maybe Prelude.Text)+removeBackendConfigResponse_error = Lens.lens (\RemoveBackendConfigResponse' {error} -> error) (\s@RemoveBackendConfigResponse' {} a -> s {error = a} :: RemoveBackendConfigResponse)++-- | The response's http status code.+removeBackendConfigResponse_httpStatus :: Lens.Lens' RemoveBackendConfigResponse Prelude.Int+removeBackendConfigResponse_httpStatus = Lens.lens (\RemoveBackendConfigResponse' {httpStatus} -> httpStatus) (\s@RemoveBackendConfigResponse' {} a -> s {httpStatus = a} :: RemoveBackendConfigResponse)++instance Prelude.NFData RemoveBackendConfigResponse where+  rnf RemoveBackendConfigResponse' {..} =+    Prelude.rnf error+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/Types.hs view
@@ -0,0 +1,481 @@+{-# 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.AmplifyBackend.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.AmplifyBackend.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _BadRequestException,+    _GatewayTimeoutException,+    _NotFoundException,+    _TooManyRequestsException,++    -- * AdditionalConstraintsElement+    AdditionalConstraintsElement (..),++    -- * AuthResources+    AuthResources (..),++    -- * AuthenticatedElement+    AuthenticatedElement (..),++    -- * DeliveryMethod+    DeliveryMethod (..),++    -- * MFAMode+    MFAMode (..),++    -- * MfaTypesElement+    MfaTypesElement (..),++    -- * Mode+    Mode (..),++    -- * OAuthGrantType+    OAuthGrantType (..),++    -- * OAuthScopesElement+    OAuthScopesElement (..),++    -- * RequiredSignUpAttributesElement+    RequiredSignUpAttributesElement (..),++    -- * ResolutionStrategy+    ResolutionStrategy (..),++    -- * Service+    Service (..),++    -- * ServiceName+    ServiceName (..),++    -- * SignInMethod+    SignInMethod (..),++    -- * Status+    Status (..),++    -- * UnAuthenticatedElement+    UnAuthenticatedElement (..),++    -- * BackendAPIAppSyncAuthSettings+    BackendAPIAppSyncAuthSettings (..),+    newBackendAPIAppSyncAuthSettings,+    backendAPIAppSyncAuthSettings_cognitoUserPoolId,+    backendAPIAppSyncAuthSettings_description,+    backendAPIAppSyncAuthSettings_expirationTime,+    backendAPIAppSyncAuthSettings_openIDAuthTTL,+    backendAPIAppSyncAuthSettings_openIDClientId,+    backendAPIAppSyncAuthSettings_openIDIatTTL,+    backendAPIAppSyncAuthSettings_openIDIssueURL,+    backendAPIAppSyncAuthSettings_openIDProviderName,++    -- * BackendAPIAuthType+    BackendAPIAuthType (..),+    newBackendAPIAuthType,+    backendAPIAuthType_mode,+    backendAPIAuthType_settings,++    -- * BackendAPIConflictResolution+    BackendAPIConflictResolution (..),+    newBackendAPIConflictResolution,+    backendAPIConflictResolution_resolutionStrategy,++    -- * BackendAPIResourceConfig+    BackendAPIResourceConfig (..),+    newBackendAPIResourceConfig,+    backendAPIResourceConfig_additionalAuthTypes,+    backendAPIResourceConfig_apiName,+    backendAPIResourceConfig_conflictResolution,+    backendAPIResourceConfig_defaultAuthType,+    backendAPIResourceConfig_service,+    backendAPIResourceConfig_transformSchema,++    -- * BackendAuthAppleProviderConfig+    BackendAuthAppleProviderConfig (..),+    newBackendAuthAppleProviderConfig,+    backendAuthAppleProviderConfig_clientId,+    backendAuthAppleProviderConfig_keyId,+    backendAuthAppleProviderConfig_privateKey,+    backendAuthAppleProviderConfig_teamId,++    -- * BackendAuthSocialProviderConfig+    BackendAuthSocialProviderConfig (..),+    newBackendAuthSocialProviderConfig,+    backendAuthSocialProviderConfig_clientId,+    backendAuthSocialProviderConfig_clientSecret,++    -- * BackendJobRespObj+    BackendJobRespObj (..),+    newBackendJobRespObj,+    backendJobRespObj_createTime,+    backendJobRespObj_error,+    backendJobRespObj_jobId,+    backendJobRespObj_operation,+    backendJobRespObj_status,+    backendJobRespObj_updateTime,+    backendJobRespObj_appId,+    backendJobRespObj_backendEnvironmentName,++    -- * BackendStoragePermissions+    BackendStoragePermissions (..),+    newBackendStoragePermissions,+    backendStoragePermissions_unAuthenticated,+    backendStoragePermissions_authenticated,++    -- * CreateBackendAuthForgotPasswordConfig+    CreateBackendAuthForgotPasswordConfig (..),+    newCreateBackendAuthForgotPasswordConfig,+    createBackendAuthForgotPasswordConfig_emailSettings,+    createBackendAuthForgotPasswordConfig_smsSettings,+    createBackendAuthForgotPasswordConfig_deliveryMethod,++    -- * CreateBackendAuthIdentityPoolConfig+    CreateBackendAuthIdentityPoolConfig (..),+    newCreateBackendAuthIdentityPoolConfig,+    createBackendAuthIdentityPoolConfig_unauthenticatedLogin,+    createBackendAuthIdentityPoolConfig_identityPoolName,++    -- * CreateBackendAuthMFAConfig+    CreateBackendAuthMFAConfig (..),+    newCreateBackendAuthMFAConfig,+    createBackendAuthMFAConfig_settings,+    createBackendAuthMFAConfig_mfaMode,++    -- * CreateBackendAuthOAuthConfig+    CreateBackendAuthOAuthConfig (..),+    newCreateBackendAuthOAuthConfig,+    createBackendAuthOAuthConfig_domainPrefix,+    createBackendAuthOAuthConfig_socialProviderSettings,+    createBackendAuthOAuthConfig_redirectSignOutURIs,+    createBackendAuthOAuthConfig_redirectSignInURIs,+    createBackendAuthOAuthConfig_oAuthGrantType,+    createBackendAuthOAuthConfig_oAuthScopes,++    -- * CreateBackendAuthPasswordPolicyConfig+    CreateBackendAuthPasswordPolicyConfig (..),+    newCreateBackendAuthPasswordPolicyConfig,+    createBackendAuthPasswordPolicyConfig_additionalConstraints,+    createBackendAuthPasswordPolicyConfig_minimumLength,++    -- * CreateBackendAuthResourceConfig+    CreateBackendAuthResourceConfig (..),+    newCreateBackendAuthResourceConfig,+    createBackendAuthResourceConfig_identityPoolConfigs,+    createBackendAuthResourceConfig_authResources,+    createBackendAuthResourceConfig_userPoolConfigs,+    createBackendAuthResourceConfig_service,++    -- * CreateBackendAuthUserPoolConfig+    CreateBackendAuthUserPoolConfig (..),+    newCreateBackendAuthUserPoolConfig,+    createBackendAuthUserPoolConfig_forgotPassword,+    createBackendAuthUserPoolConfig_mfa,+    createBackendAuthUserPoolConfig_oAuth,+    createBackendAuthUserPoolConfig_passwordPolicy,+    createBackendAuthUserPoolConfig_verificationMessage,+    createBackendAuthUserPoolConfig_requiredSignUpAttributes,+    createBackendAuthUserPoolConfig_signInMethod,+    createBackendAuthUserPoolConfig_userPoolName,++    -- * CreateBackendAuthVerificationMessageConfig+    CreateBackendAuthVerificationMessageConfig (..),+    newCreateBackendAuthVerificationMessageConfig,+    createBackendAuthVerificationMessageConfig_emailSettings,+    createBackendAuthVerificationMessageConfig_smsSettings,+    createBackendAuthVerificationMessageConfig_deliveryMethod,++    -- * CreateBackendStorageResourceConfig+    CreateBackendStorageResourceConfig (..),+    newCreateBackendStorageResourceConfig,+    createBackendStorageResourceConfig_bucketName,+    createBackendStorageResourceConfig_serviceName,+    createBackendStorageResourceConfig_permissions,++    -- * EmailSettings+    EmailSettings (..),+    newEmailSettings,+    emailSettings_emailMessage,+    emailSettings_emailSubject,++    -- * GetBackendStorageResourceConfig+    GetBackendStorageResourceConfig (..),+    newGetBackendStorageResourceConfig,+    getBackendStorageResourceConfig_bucketName,+    getBackendStorageResourceConfig_permissions,+    getBackendStorageResourceConfig_serviceName,+    getBackendStorageResourceConfig_imported,++    -- * LoginAuthConfigReqObj+    LoginAuthConfigReqObj (..),+    newLoginAuthConfigReqObj,+    loginAuthConfigReqObj_awsCognitoIdentityPoolId,+    loginAuthConfigReqObj_awsCognitoRegion,+    loginAuthConfigReqObj_awsUserPoolsId,+    loginAuthConfigReqObj_awsUserPoolsWebClientId,++    -- * ResourceConfig+    ResourceConfig (..),+    newResourceConfig,++    -- * S3BucketInfo+    S3BucketInfo (..),+    newS3BucketInfo,+    s3BucketInfo_creationDate,+    s3BucketInfo_name,++    -- * Settings+    Settings (..),+    newSettings,+    settings_mfaTypes,+    settings_smsMessage,++    -- * SmsSettings+    SmsSettings (..),+    newSmsSettings,+    smsSettings_smsMessage,++    -- * SocialProviderSettings+    SocialProviderSettings (..),+    newSocialProviderSettings,+    socialProviderSettings_facebook,+    socialProviderSettings_google,+    socialProviderSettings_loginWithAmazon,+    socialProviderSettings_signInWithApple,++    -- * UpdateBackendAuthForgotPasswordConfig+    UpdateBackendAuthForgotPasswordConfig (..),+    newUpdateBackendAuthForgotPasswordConfig,+    updateBackendAuthForgotPasswordConfig_deliveryMethod,+    updateBackendAuthForgotPasswordConfig_emailSettings,+    updateBackendAuthForgotPasswordConfig_smsSettings,++    -- * UpdateBackendAuthIdentityPoolConfig+    UpdateBackendAuthIdentityPoolConfig (..),+    newUpdateBackendAuthIdentityPoolConfig,+    updateBackendAuthIdentityPoolConfig_unauthenticatedLogin,++    -- * UpdateBackendAuthMFAConfig+    UpdateBackendAuthMFAConfig (..),+    newUpdateBackendAuthMFAConfig,+    updateBackendAuthMFAConfig_mfaMode,+    updateBackendAuthMFAConfig_settings,++    -- * UpdateBackendAuthOAuthConfig+    UpdateBackendAuthOAuthConfig (..),+    newUpdateBackendAuthOAuthConfig,+    updateBackendAuthOAuthConfig_domainPrefix,+    updateBackendAuthOAuthConfig_oAuthGrantType,+    updateBackendAuthOAuthConfig_oAuthScopes,+    updateBackendAuthOAuthConfig_redirectSignInURIs,+    updateBackendAuthOAuthConfig_redirectSignOutURIs,+    updateBackendAuthOAuthConfig_socialProviderSettings,++    -- * UpdateBackendAuthPasswordPolicyConfig+    UpdateBackendAuthPasswordPolicyConfig (..),+    newUpdateBackendAuthPasswordPolicyConfig,+    updateBackendAuthPasswordPolicyConfig_additionalConstraints,+    updateBackendAuthPasswordPolicyConfig_minimumLength,++    -- * UpdateBackendAuthResourceConfig+    UpdateBackendAuthResourceConfig (..),+    newUpdateBackendAuthResourceConfig,+    updateBackendAuthResourceConfig_identityPoolConfigs,+    updateBackendAuthResourceConfig_authResources,+    updateBackendAuthResourceConfig_userPoolConfigs,+    updateBackendAuthResourceConfig_service,++    -- * UpdateBackendAuthUserPoolConfig+    UpdateBackendAuthUserPoolConfig (..),+    newUpdateBackendAuthUserPoolConfig,+    updateBackendAuthUserPoolConfig_forgotPassword,+    updateBackendAuthUserPoolConfig_mfa,+    updateBackendAuthUserPoolConfig_oAuth,+    updateBackendAuthUserPoolConfig_passwordPolicy,+    updateBackendAuthUserPoolConfig_verificationMessage,++    -- * UpdateBackendAuthVerificationMessageConfig+    UpdateBackendAuthVerificationMessageConfig (..),+    newUpdateBackendAuthVerificationMessageConfig,+    updateBackendAuthVerificationMessageConfig_emailSettings,+    updateBackendAuthVerificationMessageConfig_smsSettings,+    updateBackendAuthVerificationMessageConfig_deliveryMethod,++    -- * UpdateBackendStorageResourceConfig+    UpdateBackendStorageResourceConfig (..),+    newUpdateBackendStorageResourceConfig,+    updateBackendStorageResourceConfig_serviceName,+    updateBackendStorageResourceConfig_permissions,+  )+where++import Amazonka.AmplifyBackend.Types.AdditionalConstraintsElement+import Amazonka.AmplifyBackend.Types.AuthResources+import Amazonka.AmplifyBackend.Types.AuthenticatedElement+import Amazonka.AmplifyBackend.Types.BackendAPIAppSyncAuthSettings+import Amazonka.AmplifyBackend.Types.BackendAPIAuthType+import Amazonka.AmplifyBackend.Types.BackendAPIConflictResolution+import Amazonka.AmplifyBackend.Types.BackendAPIResourceConfig+import Amazonka.AmplifyBackend.Types.BackendAuthAppleProviderConfig+import Amazonka.AmplifyBackend.Types.BackendAuthSocialProviderConfig+import Amazonka.AmplifyBackend.Types.BackendJobRespObj+import Amazonka.AmplifyBackend.Types.BackendStoragePermissions+import Amazonka.AmplifyBackend.Types.CreateBackendAuthForgotPasswordConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthIdentityPoolConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthMFAConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthOAuthConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthPasswordPolicyConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthResourceConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthUserPoolConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthVerificationMessageConfig+import Amazonka.AmplifyBackend.Types.CreateBackendStorageResourceConfig+import Amazonka.AmplifyBackend.Types.DeliveryMethod+import Amazonka.AmplifyBackend.Types.EmailSettings+import Amazonka.AmplifyBackend.Types.GetBackendStorageResourceConfig+import Amazonka.AmplifyBackend.Types.LoginAuthConfigReqObj+import Amazonka.AmplifyBackend.Types.MFAMode+import Amazonka.AmplifyBackend.Types.MfaTypesElement+import Amazonka.AmplifyBackend.Types.Mode+import Amazonka.AmplifyBackend.Types.OAuthGrantType+import Amazonka.AmplifyBackend.Types.OAuthScopesElement+import Amazonka.AmplifyBackend.Types.RequiredSignUpAttributesElement+import Amazonka.AmplifyBackend.Types.ResolutionStrategy+import Amazonka.AmplifyBackend.Types.ResourceConfig+import Amazonka.AmplifyBackend.Types.S3BucketInfo+import Amazonka.AmplifyBackend.Types.Service+import Amazonka.AmplifyBackend.Types.ServiceName+import Amazonka.AmplifyBackend.Types.Settings+import Amazonka.AmplifyBackend.Types.SignInMethod+import Amazonka.AmplifyBackend.Types.SmsSettings+import Amazonka.AmplifyBackend.Types.SocialProviderSettings+import Amazonka.AmplifyBackend.Types.Status+import Amazonka.AmplifyBackend.Types.UnAuthenticatedElement+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthForgotPasswordConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthIdentityPoolConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthMFAConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthOAuthConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthPasswordPolicyConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthResourceConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthUserPoolConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthVerificationMessageConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendStorageResourceConfig+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++-- | API version @2020-08-11@ of the Amazon AmplifyBackend SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "AmplifyBackend",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "amplifybackend",+      Core.signingName = "amplifybackend",+      Core.version = "2020-08-11",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "AmplifyBackend",+      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++-- | An error returned if a request is not formed properly.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+  Core._MatchServiceError+    defaultService+    "BadRequestException"+    Prelude.. Core.hasStatus 400++-- | An error returned if there\'s a temporary issue with the service.+_GatewayTimeoutException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_GatewayTimeoutException =+  Core._MatchServiceError+    defaultService+    "GatewayTimeoutException"+    Prelude.. Core.hasStatus 504++-- | An error returned when a specific resource type is not found.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+  Core._MatchServiceError+    defaultService+    "NotFoundException"+    Prelude.. Core.hasStatus 404++-- | An error that is returned when a limit of a specific type has been+-- exceeded.+_TooManyRequestsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyRequestsException =+  Core._MatchServiceError+    defaultService+    "TooManyRequestsException"+    Prelude.. Core.hasStatus 429
+ gen/Amazonka/AmplifyBackend/Types/AdditionalConstraintsElement.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.AmplifyBackend.Types.AdditionalConstraintsElement+-- 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.AmplifyBackend.Types.AdditionalConstraintsElement+  ( AdditionalConstraintsElement+      ( ..,+        AdditionalConstraintsElement_REQUIRE_DIGIT,+        AdditionalConstraintsElement_REQUIRE_LOWERCASE,+        AdditionalConstraintsElement_REQUIRE_SYMBOL,+        AdditionalConstraintsElement_REQUIRE_UPPERCASE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AdditionalConstraintsElement = AdditionalConstraintsElement'+  { fromAdditionalConstraintsElement ::+      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 AdditionalConstraintsElement_REQUIRE_DIGIT :: AdditionalConstraintsElement+pattern AdditionalConstraintsElement_REQUIRE_DIGIT = AdditionalConstraintsElement' "REQUIRE_DIGIT"++pattern AdditionalConstraintsElement_REQUIRE_LOWERCASE :: AdditionalConstraintsElement+pattern AdditionalConstraintsElement_REQUIRE_LOWERCASE = AdditionalConstraintsElement' "REQUIRE_LOWERCASE"++pattern AdditionalConstraintsElement_REQUIRE_SYMBOL :: AdditionalConstraintsElement+pattern AdditionalConstraintsElement_REQUIRE_SYMBOL = AdditionalConstraintsElement' "REQUIRE_SYMBOL"++pattern AdditionalConstraintsElement_REQUIRE_UPPERCASE :: AdditionalConstraintsElement+pattern AdditionalConstraintsElement_REQUIRE_UPPERCASE = AdditionalConstraintsElement' "REQUIRE_UPPERCASE"++{-# COMPLETE+  AdditionalConstraintsElement_REQUIRE_DIGIT,+  AdditionalConstraintsElement_REQUIRE_LOWERCASE,+  AdditionalConstraintsElement_REQUIRE_SYMBOL,+  AdditionalConstraintsElement_REQUIRE_UPPERCASE,+  AdditionalConstraintsElement'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/AuthResources.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.AmplifyBackend.Types.AuthResources+-- 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.AmplifyBackend.Types.AuthResources+  ( AuthResources+      ( ..,+        AuthResources_IDENTITY_POOL_AND_USER_POOL,+        AuthResources_USER_POOL_ONLY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AuthResources = AuthResources'+  { fromAuthResources ::+      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 AuthResources_IDENTITY_POOL_AND_USER_POOL :: AuthResources+pattern AuthResources_IDENTITY_POOL_AND_USER_POOL = AuthResources' "IDENTITY_POOL_AND_USER_POOL"++pattern AuthResources_USER_POOL_ONLY :: AuthResources+pattern AuthResources_USER_POOL_ONLY = AuthResources' "USER_POOL_ONLY"++{-# COMPLETE+  AuthResources_IDENTITY_POOL_AND_USER_POOL,+  AuthResources_USER_POOL_ONLY,+  AuthResources'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/AuthenticatedElement.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.AmplifyBackend.Types.AuthenticatedElement+-- 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.AmplifyBackend.Types.AuthenticatedElement+  ( AuthenticatedElement+      ( ..,+        AuthenticatedElement_CREATE_AND_UPDATE,+        AuthenticatedElement_DELETE,+        AuthenticatedElement_READ+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AuthenticatedElement = AuthenticatedElement'+  { fromAuthenticatedElement ::+      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 AuthenticatedElement_CREATE_AND_UPDATE :: AuthenticatedElement+pattern AuthenticatedElement_CREATE_AND_UPDATE = AuthenticatedElement' "CREATE_AND_UPDATE"++pattern AuthenticatedElement_DELETE :: AuthenticatedElement+pattern AuthenticatedElement_DELETE = AuthenticatedElement' "DELETE"++pattern AuthenticatedElement_READ :: AuthenticatedElement+pattern AuthenticatedElement_READ = AuthenticatedElement' "READ"++{-# COMPLETE+  AuthenticatedElement_CREATE_AND_UPDATE,+  AuthenticatedElement_DELETE,+  AuthenticatedElement_READ,+  AuthenticatedElement'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/BackendAPIAppSyncAuthSettings.hs view
@@ -0,0 +1,199 @@+{-# 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.AmplifyBackend.Types.BackendAPIAppSyncAuthSettings+-- 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.AmplifyBackend.Types.BackendAPIAppSyncAuthSettings 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 authentication settings for accessing provisioned data models in+-- your Amplify project.+--+-- /See:/ 'newBackendAPIAppSyncAuthSettings' smart constructor.+data BackendAPIAppSyncAuthSettings = BackendAPIAppSyncAuthSettings'+  { -- | The Amazon Cognito user pool ID, if Amazon Cognito was used as an+    -- authentication setting to access your data models.+    cognitoUserPoolId :: Prelude.Maybe Prelude.Text,+    -- | The API key description for API_KEY, if it was used as an authentication+    -- mechanism to access your data models.+    description :: Prelude.Maybe Prelude.Text,+    -- | The API key expiration time for API_KEY, if it was used as an+    -- authentication mechanism to access your data models.+    expirationTime :: Prelude.Maybe Prelude.Double,+    -- | The expiry time for the OpenID authentication mechanism.+    openIDAuthTTL :: Prelude.Maybe Prelude.Text,+    -- | The clientID for openID, if openID was used as an authentication setting+    -- to access your data models.+    openIDClientId :: Prelude.Maybe Prelude.Text,+    -- | The expiry time for the OpenID authentication mechanism.+    openIDIatTTL :: Prelude.Maybe Prelude.Text,+    -- | The openID issuer URL, if openID was used as an authentication setting+    -- to access your data models.+    openIDIssueURL :: Prelude.Maybe Prelude.Text,+    -- | The OpenID provider name, if OpenID was used as an authentication+    -- mechanism to access your data models.+    openIDProviderName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BackendAPIAppSyncAuthSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cognitoUserPoolId', 'backendAPIAppSyncAuthSettings_cognitoUserPoolId' - The Amazon Cognito user pool ID, if Amazon Cognito was used as an+-- authentication setting to access your data models.+--+-- 'description', 'backendAPIAppSyncAuthSettings_description' - The API key description for API_KEY, if it was used as an authentication+-- mechanism to access your data models.+--+-- 'expirationTime', 'backendAPIAppSyncAuthSettings_expirationTime' - The API key expiration time for API_KEY, if it was used as an+-- authentication mechanism to access your data models.+--+-- 'openIDAuthTTL', 'backendAPIAppSyncAuthSettings_openIDAuthTTL' - The expiry time for the OpenID authentication mechanism.+--+-- 'openIDClientId', 'backendAPIAppSyncAuthSettings_openIDClientId' - The clientID for openID, if openID was used as an authentication setting+-- to access your data models.+--+-- 'openIDIatTTL', 'backendAPIAppSyncAuthSettings_openIDIatTTL' - The expiry time for the OpenID authentication mechanism.+--+-- 'openIDIssueURL', 'backendAPIAppSyncAuthSettings_openIDIssueURL' - The openID issuer URL, if openID was used as an authentication setting+-- to access your data models.+--+-- 'openIDProviderName', 'backendAPIAppSyncAuthSettings_openIDProviderName' - The OpenID provider name, if OpenID was used as an authentication+-- mechanism to access your data models.+newBackendAPIAppSyncAuthSettings ::+  BackendAPIAppSyncAuthSettings+newBackendAPIAppSyncAuthSettings =+  BackendAPIAppSyncAuthSettings'+    { cognitoUserPoolId =+        Prelude.Nothing,+      description = Prelude.Nothing,+      expirationTime = Prelude.Nothing,+      openIDAuthTTL = Prelude.Nothing,+      openIDClientId = Prelude.Nothing,+      openIDIatTTL = Prelude.Nothing,+      openIDIssueURL = Prelude.Nothing,+      openIDProviderName = Prelude.Nothing+    }++-- | The Amazon Cognito user pool ID, if Amazon Cognito was used as an+-- authentication setting to access your data models.+backendAPIAppSyncAuthSettings_cognitoUserPoolId :: Lens.Lens' BackendAPIAppSyncAuthSettings (Prelude.Maybe Prelude.Text)+backendAPIAppSyncAuthSettings_cognitoUserPoolId = Lens.lens (\BackendAPIAppSyncAuthSettings' {cognitoUserPoolId} -> cognitoUserPoolId) (\s@BackendAPIAppSyncAuthSettings' {} a -> s {cognitoUserPoolId = a} :: BackendAPIAppSyncAuthSettings)++-- | The API key description for API_KEY, if it was used as an authentication+-- mechanism to access your data models.+backendAPIAppSyncAuthSettings_description :: Lens.Lens' BackendAPIAppSyncAuthSettings (Prelude.Maybe Prelude.Text)+backendAPIAppSyncAuthSettings_description = Lens.lens (\BackendAPIAppSyncAuthSettings' {description} -> description) (\s@BackendAPIAppSyncAuthSettings' {} a -> s {description = a} :: BackendAPIAppSyncAuthSettings)++-- | The API key expiration time for API_KEY, if it was used as an+-- authentication mechanism to access your data models.+backendAPIAppSyncAuthSettings_expirationTime :: Lens.Lens' BackendAPIAppSyncAuthSettings (Prelude.Maybe Prelude.Double)+backendAPIAppSyncAuthSettings_expirationTime = Lens.lens (\BackendAPIAppSyncAuthSettings' {expirationTime} -> expirationTime) (\s@BackendAPIAppSyncAuthSettings' {} a -> s {expirationTime = a} :: BackendAPIAppSyncAuthSettings)++-- | The expiry time for the OpenID authentication mechanism.+backendAPIAppSyncAuthSettings_openIDAuthTTL :: Lens.Lens' BackendAPIAppSyncAuthSettings (Prelude.Maybe Prelude.Text)+backendAPIAppSyncAuthSettings_openIDAuthTTL = Lens.lens (\BackendAPIAppSyncAuthSettings' {openIDAuthTTL} -> openIDAuthTTL) (\s@BackendAPIAppSyncAuthSettings' {} a -> s {openIDAuthTTL = a} :: BackendAPIAppSyncAuthSettings)++-- | The clientID for openID, if openID was used as an authentication setting+-- to access your data models.+backendAPIAppSyncAuthSettings_openIDClientId :: Lens.Lens' BackendAPIAppSyncAuthSettings (Prelude.Maybe Prelude.Text)+backendAPIAppSyncAuthSettings_openIDClientId = Lens.lens (\BackendAPIAppSyncAuthSettings' {openIDClientId} -> openIDClientId) (\s@BackendAPIAppSyncAuthSettings' {} a -> s {openIDClientId = a} :: BackendAPIAppSyncAuthSettings)++-- | The expiry time for the OpenID authentication mechanism.+backendAPIAppSyncAuthSettings_openIDIatTTL :: Lens.Lens' BackendAPIAppSyncAuthSettings (Prelude.Maybe Prelude.Text)+backendAPIAppSyncAuthSettings_openIDIatTTL = Lens.lens (\BackendAPIAppSyncAuthSettings' {openIDIatTTL} -> openIDIatTTL) (\s@BackendAPIAppSyncAuthSettings' {} a -> s {openIDIatTTL = a} :: BackendAPIAppSyncAuthSettings)++-- | The openID issuer URL, if openID was used as an authentication setting+-- to access your data models.+backendAPIAppSyncAuthSettings_openIDIssueURL :: Lens.Lens' BackendAPIAppSyncAuthSettings (Prelude.Maybe Prelude.Text)+backendAPIAppSyncAuthSettings_openIDIssueURL = Lens.lens (\BackendAPIAppSyncAuthSettings' {openIDIssueURL} -> openIDIssueURL) (\s@BackendAPIAppSyncAuthSettings' {} a -> s {openIDIssueURL = a} :: BackendAPIAppSyncAuthSettings)++-- | The OpenID provider name, if OpenID was used as an authentication+-- mechanism to access your data models.+backendAPIAppSyncAuthSettings_openIDProviderName :: Lens.Lens' BackendAPIAppSyncAuthSettings (Prelude.Maybe Prelude.Text)+backendAPIAppSyncAuthSettings_openIDProviderName = Lens.lens (\BackendAPIAppSyncAuthSettings' {openIDProviderName} -> openIDProviderName) (\s@BackendAPIAppSyncAuthSettings' {} a -> s {openIDProviderName = a} :: BackendAPIAppSyncAuthSettings)++instance Data.FromJSON BackendAPIAppSyncAuthSettings where+  parseJSON =+    Data.withObject+      "BackendAPIAppSyncAuthSettings"+      ( \x ->+          BackendAPIAppSyncAuthSettings'+            Prelude.<$> (x Data..:? "cognitoUserPoolId")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "expirationTime")+            Prelude.<*> (x Data..:? "openIDAuthTTL")+            Prelude.<*> (x Data..:? "openIDClientId")+            Prelude.<*> (x Data..:? "openIDIatTTL")+            Prelude.<*> (x Data..:? "openIDIssueURL")+            Prelude.<*> (x Data..:? "openIDProviderName")+      )++instance+  Prelude.Hashable+    BackendAPIAppSyncAuthSettings+  where+  hashWithSalt _salt BackendAPIAppSyncAuthSettings' {..} =+    _salt+      `Prelude.hashWithSalt` cognitoUserPoolId+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` expirationTime+      `Prelude.hashWithSalt` openIDAuthTTL+      `Prelude.hashWithSalt` openIDClientId+      `Prelude.hashWithSalt` openIDIatTTL+      `Prelude.hashWithSalt` openIDIssueURL+      `Prelude.hashWithSalt` openIDProviderName++instance Prelude.NFData BackendAPIAppSyncAuthSettings where+  rnf BackendAPIAppSyncAuthSettings' {..} =+    Prelude.rnf cognitoUserPoolId+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf expirationTime+      `Prelude.seq` Prelude.rnf openIDAuthTTL+      `Prelude.seq` Prelude.rnf openIDClientId+      `Prelude.seq` Prelude.rnf openIDIatTTL+      `Prelude.seq` Prelude.rnf openIDIssueURL+      `Prelude.seq` Prelude.rnf openIDProviderName++instance Data.ToJSON BackendAPIAppSyncAuthSettings where+  toJSON BackendAPIAppSyncAuthSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("cognitoUserPoolId" Data..=)+              Prelude.<$> cognitoUserPoolId,+            ("description" Data..=) Prelude.<$> description,+            ("expirationTime" Data..=)+              Prelude.<$> expirationTime,+            ("openIDAuthTTL" Data..=) Prelude.<$> openIDAuthTTL,+            ("openIDClientId" Data..=)+              Prelude.<$> openIDClientId,+            ("openIDIatTTL" Data..=) Prelude.<$> openIDIatTTL,+            ("openIDIssueURL" Data..=)+              Prelude.<$> openIDIssueURL,+            ("openIDProviderName" Data..=)+              Prelude.<$> openIDProviderName+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/BackendAPIAuthType.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.AmplifyBackend.Types.BackendAPIAuthType+-- 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.AmplifyBackend.Types.BackendAPIAuthType where++import Amazonka.AmplifyBackend.Types.BackendAPIAppSyncAuthSettings+import Amazonka.AmplifyBackend.Types.Mode+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++-- | Describes the auth types for your configured data models.+--+-- /See:/ 'newBackendAPIAuthType' smart constructor.+data BackendAPIAuthType = BackendAPIAuthType'+  { -- | Describes the authentication mode.+    mode :: Prelude.Maybe Mode,+    -- | Describes settings for the authentication mode.+    settings :: Prelude.Maybe BackendAPIAppSyncAuthSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BackendAPIAuthType' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mode', 'backendAPIAuthType_mode' - Describes the authentication mode.+--+-- 'settings', 'backendAPIAuthType_settings' - Describes settings for the authentication mode.+newBackendAPIAuthType ::+  BackendAPIAuthType+newBackendAPIAuthType =+  BackendAPIAuthType'+    { mode = Prelude.Nothing,+      settings = Prelude.Nothing+    }++-- | Describes the authentication mode.+backendAPIAuthType_mode :: Lens.Lens' BackendAPIAuthType (Prelude.Maybe Mode)+backendAPIAuthType_mode = Lens.lens (\BackendAPIAuthType' {mode} -> mode) (\s@BackendAPIAuthType' {} a -> s {mode = a} :: BackendAPIAuthType)++-- | Describes settings for the authentication mode.+backendAPIAuthType_settings :: Lens.Lens' BackendAPIAuthType (Prelude.Maybe BackendAPIAppSyncAuthSettings)+backendAPIAuthType_settings = Lens.lens (\BackendAPIAuthType' {settings} -> settings) (\s@BackendAPIAuthType' {} a -> s {settings = a} :: BackendAPIAuthType)++instance Data.FromJSON BackendAPIAuthType where+  parseJSON =+    Data.withObject+      "BackendAPIAuthType"+      ( \x ->+          BackendAPIAuthType'+            Prelude.<$> (x Data..:? "mode")+            Prelude.<*> (x Data..:? "settings")+      )++instance Prelude.Hashable BackendAPIAuthType where+  hashWithSalt _salt BackendAPIAuthType' {..} =+    _salt+      `Prelude.hashWithSalt` mode+      `Prelude.hashWithSalt` settings++instance Prelude.NFData BackendAPIAuthType where+  rnf BackendAPIAuthType' {..} =+    Prelude.rnf mode `Prelude.seq` Prelude.rnf settings++instance Data.ToJSON BackendAPIAuthType where+  toJSON BackendAPIAuthType' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("mode" Data..=) Prelude.<$> mode,+            ("settings" Data..=) Prelude.<$> settings+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/BackendAPIConflictResolution.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.AmplifyBackend.Types.BackendAPIConflictResolution+-- 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.AmplifyBackend.Types.BackendAPIConflictResolution where++import Amazonka.AmplifyBackend.Types.ResolutionStrategy+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++-- | Describes the conflict resolution configuration for your data model+-- configured in your Amplify project.+--+-- /See:/ 'newBackendAPIConflictResolution' smart constructor.+data BackendAPIConflictResolution = BackendAPIConflictResolution'+  { -- | The strategy for conflict resolution.+    resolutionStrategy :: Prelude.Maybe ResolutionStrategy+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BackendAPIConflictResolution' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolutionStrategy', 'backendAPIConflictResolution_resolutionStrategy' - The strategy for conflict resolution.+newBackendAPIConflictResolution ::+  BackendAPIConflictResolution+newBackendAPIConflictResolution =+  BackendAPIConflictResolution'+    { resolutionStrategy =+        Prelude.Nothing+    }++-- | The strategy for conflict resolution.+backendAPIConflictResolution_resolutionStrategy :: Lens.Lens' BackendAPIConflictResolution (Prelude.Maybe ResolutionStrategy)+backendAPIConflictResolution_resolutionStrategy = Lens.lens (\BackendAPIConflictResolution' {resolutionStrategy} -> resolutionStrategy) (\s@BackendAPIConflictResolution' {} a -> s {resolutionStrategy = a} :: BackendAPIConflictResolution)++instance Data.FromJSON BackendAPIConflictResolution where+  parseJSON =+    Data.withObject+      "BackendAPIConflictResolution"+      ( \x ->+          BackendAPIConflictResolution'+            Prelude.<$> (x Data..:? "resolutionStrategy")+      )++instance+  Prelude.Hashable+    BackendAPIConflictResolution+  where+  hashWithSalt _salt BackendAPIConflictResolution' {..} =+    _salt `Prelude.hashWithSalt` resolutionStrategy++instance Prelude.NFData BackendAPIConflictResolution where+  rnf BackendAPIConflictResolution' {..} =+    Prelude.rnf resolutionStrategy++instance Data.ToJSON BackendAPIConflictResolution where+  toJSON BackendAPIConflictResolution' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("resolutionStrategy" Data..=)+              Prelude.<$> resolutionStrategy+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/BackendAPIResourceConfig.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.BackendAPIResourceConfig+-- 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.AmplifyBackend.Types.BackendAPIResourceConfig where++import Amazonka.AmplifyBackend.Types.BackendAPIAuthType+import Amazonka.AmplifyBackend.Types.BackendAPIConflictResolution+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 resource config for the data model, configured as a part of the+-- Amplify project.+--+-- /See:/ 'newBackendAPIResourceConfig' smart constructor.+data BackendAPIResourceConfig = BackendAPIResourceConfig'+  { -- | Additional authentication methods used to interact with your data+    -- models.+    additionalAuthTypes :: Prelude.Maybe [BackendAPIAuthType],+    -- | The API name used to interact with the data model, configured as a part+    -- of your Amplify project.+    apiName :: Prelude.Maybe Prelude.Text,+    -- | The conflict resolution strategy for your data stored in the data+    -- models.+    conflictResolution :: Prelude.Maybe BackendAPIConflictResolution,+    -- | The default authentication type for interacting with the configured data+    -- models in your Amplify project.+    defaultAuthType :: Prelude.Maybe BackendAPIAuthType,+    -- | The service used to provision and interact with the data model.+    service :: Prelude.Maybe Prelude.Text,+    -- | The definition of the data model in the annotated transform of the+    -- GraphQL schema.+    transformSchema :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BackendAPIResourceConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'additionalAuthTypes', 'backendAPIResourceConfig_additionalAuthTypes' - Additional authentication methods used to interact with your data+-- models.+--+-- 'apiName', 'backendAPIResourceConfig_apiName' - The API name used to interact with the data model, configured as a part+-- of your Amplify project.+--+-- 'conflictResolution', 'backendAPIResourceConfig_conflictResolution' - The conflict resolution strategy for your data stored in the data+-- models.+--+-- 'defaultAuthType', 'backendAPIResourceConfig_defaultAuthType' - The default authentication type for interacting with the configured data+-- models in your Amplify project.+--+-- 'service', 'backendAPIResourceConfig_service' - The service used to provision and interact with the data model.+--+-- 'transformSchema', 'backendAPIResourceConfig_transformSchema' - The definition of the data model in the annotated transform of the+-- GraphQL schema.+newBackendAPIResourceConfig ::+  BackendAPIResourceConfig+newBackendAPIResourceConfig =+  BackendAPIResourceConfig'+    { additionalAuthTypes =+        Prelude.Nothing,+      apiName = Prelude.Nothing,+      conflictResolution = Prelude.Nothing,+      defaultAuthType = Prelude.Nothing,+      service = Prelude.Nothing,+      transformSchema = Prelude.Nothing+    }++-- | Additional authentication methods used to interact with your data+-- models.+backendAPIResourceConfig_additionalAuthTypes :: Lens.Lens' BackendAPIResourceConfig (Prelude.Maybe [BackendAPIAuthType])+backendAPIResourceConfig_additionalAuthTypes = Lens.lens (\BackendAPIResourceConfig' {additionalAuthTypes} -> additionalAuthTypes) (\s@BackendAPIResourceConfig' {} a -> s {additionalAuthTypes = a} :: BackendAPIResourceConfig) Prelude.. Lens.mapping Lens.coerced++-- | The API name used to interact with the data model, configured as a part+-- of your Amplify project.+backendAPIResourceConfig_apiName :: Lens.Lens' BackendAPIResourceConfig (Prelude.Maybe Prelude.Text)+backendAPIResourceConfig_apiName = Lens.lens (\BackendAPIResourceConfig' {apiName} -> apiName) (\s@BackendAPIResourceConfig' {} a -> s {apiName = a} :: BackendAPIResourceConfig)++-- | The conflict resolution strategy for your data stored in the data+-- models.+backendAPIResourceConfig_conflictResolution :: Lens.Lens' BackendAPIResourceConfig (Prelude.Maybe BackendAPIConflictResolution)+backendAPIResourceConfig_conflictResolution = Lens.lens (\BackendAPIResourceConfig' {conflictResolution} -> conflictResolution) (\s@BackendAPIResourceConfig' {} a -> s {conflictResolution = a} :: BackendAPIResourceConfig)++-- | The default authentication type for interacting with the configured data+-- models in your Amplify project.+backendAPIResourceConfig_defaultAuthType :: Lens.Lens' BackendAPIResourceConfig (Prelude.Maybe BackendAPIAuthType)+backendAPIResourceConfig_defaultAuthType = Lens.lens (\BackendAPIResourceConfig' {defaultAuthType} -> defaultAuthType) (\s@BackendAPIResourceConfig' {} a -> s {defaultAuthType = a} :: BackendAPIResourceConfig)++-- | The service used to provision and interact with the data model.+backendAPIResourceConfig_service :: Lens.Lens' BackendAPIResourceConfig (Prelude.Maybe Prelude.Text)+backendAPIResourceConfig_service = Lens.lens (\BackendAPIResourceConfig' {service} -> service) (\s@BackendAPIResourceConfig' {} a -> s {service = a} :: BackendAPIResourceConfig)++-- | The definition of the data model in the annotated transform of the+-- GraphQL schema.+backendAPIResourceConfig_transformSchema :: Lens.Lens' BackendAPIResourceConfig (Prelude.Maybe Prelude.Text)+backendAPIResourceConfig_transformSchema = Lens.lens (\BackendAPIResourceConfig' {transformSchema} -> transformSchema) (\s@BackendAPIResourceConfig' {} a -> s {transformSchema = a} :: BackendAPIResourceConfig)++instance Data.FromJSON BackendAPIResourceConfig where+  parseJSON =+    Data.withObject+      "BackendAPIResourceConfig"+      ( \x ->+          BackendAPIResourceConfig'+            Prelude.<$> ( x+                            Data..:? "additionalAuthTypes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "apiName")+            Prelude.<*> (x Data..:? "conflictResolution")+            Prelude.<*> (x Data..:? "defaultAuthType")+            Prelude.<*> (x Data..:? "service")+            Prelude.<*> (x Data..:? "transformSchema")+      )++instance Prelude.Hashable BackendAPIResourceConfig where+  hashWithSalt _salt BackendAPIResourceConfig' {..} =+    _salt+      `Prelude.hashWithSalt` additionalAuthTypes+      `Prelude.hashWithSalt` apiName+      `Prelude.hashWithSalt` conflictResolution+      `Prelude.hashWithSalt` defaultAuthType+      `Prelude.hashWithSalt` service+      `Prelude.hashWithSalt` transformSchema++instance Prelude.NFData BackendAPIResourceConfig where+  rnf BackendAPIResourceConfig' {..} =+    Prelude.rnf additionalAuthTypes+      `Prelude.seq` Prelude.rnf apiName+      `Prelude.seq` Prelude.rnf conflictResolution+      `Prelude.seq` Prelude.rnf defaultAuthType+      `Prelude.seq` Prelude.rnf service+      `Prelude.seq` Prelude.rnf transformSchema++instance Data.ToJSON BackendAPIResourceConfig where+  toJSON BackendAPIResourceConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("additionalAuthTypes" Data..=)+              Prelude.<$> additionalAuthTypes,+            ("apiName" Data..=) Prelude.<$> apiName,+            ("conflictResolution" Data..=)+              Prelude.<$> conflictResolution,+            ("defaultAuthType" Data..=)+              Prelude.<$> defaultAuthType,+            ("service" Data..=) Prelude.<$> service,+            ("transformSchema" Data..=)+              Prelude.<$> transformSchema+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/BackendAuthAppleProviderConfig.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.BackendAuthAppleProviderConfig+-- 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.AmplifyBackend.Types.BackendAuthAppleProviderConfig 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++-- | Describes Apple social federation configurations for allowing your app+-- users to sign in using OAuth.+--+-- /See:/ 'newBackendAuthAppleProviderConfig' smart constructor.+data BackendAuthAppleProviderConfig = BackendAuthAppleProviderConfig'+  { -- | Describes the client_id (also called Services ID) that comes from Apple.+    clientId :: Prelude.Maybe Prelude.Text,+    -- | Describes the key_id that comes from Apple.+    keyId :: Prelude.Maybe Prelude.Text,+    -- | Describes the private_key that comes from Apple.+    privateKey :: Prelude.Maybe Prelude.Text,+    -- | Describes the team_id that comes from Apple.+    teamId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BackendAuthAppleProviderConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientId', 'backendAuthAppleProviderConfig_clientId' - Describes the client_id (also called Services ID) that comes from Apple.+--+-- 'keyId', 'backendAuthAppleProviderConfig_keyId' - Describes the key_id that comes from Apple.+--+-- 'privateKey', 'backendAuthAppleProviderConfig_privateKey' - Describes the private_key that comes from Apple.+--+-- 'teamId', 'backendAuthAppleProviderConfig_teamId' - Describes the team_id that comes from Apple.+newBackendAuthAppleProviderConfig ::+  BackendAuthAppleProviderConfig+newBackendAuthAppleProviderConfig =+  BackendAuthAppleProviderConfig'+    { clientId =+        Prelude.Nothing,+      keyId = Prelude.Nothing,+      privateKey = Prelude.Nothing,+      teamId = Prelude.Nothing+    }++-- | Describes the client_id (also called Services ID) that comes from Apple.+backendAuthAppleProviderConfig_clientId :: Lens.Lens' BackendAuthAppleProviderConfig (Prelude.Maybe Prelude.Text)+backendAuthAppleProviderConfig_clientId = Lens.lens (\BackendAuthAppleProviderConfig' {clientId} -> clientId) (\s@BackendAuthAppleProviderConfig' {} a -> s {clientId = a} :: BackendAuthAppleProviderConfig)++-- | Describes the key_id that comes from Apple.+backendAuthAppleProviderConfig_keyId :: Lens.Lens' BackendAuthAppleProviderConfig (Prelude.Maybe Prelude.Text)+backendAuthAppleProviderConfig_keyId = Lens.lens (\BackendAuthAppleProviderConfig' {keyId} -> keyId) (\s@BackendAuthAppleProviderConfig' {} a -> s {keyId = a} :: BackendAuthAppleProviderConfig)++-- | Describes the private_key that comes from Apple.+backendAuthAppleProviderConfig_privateKey :: Lens.Lens' BackendAuthAppleProviderConfig (Prelude.Maybe Prelude.Text)+backendAuthAppleProviderConfig_privateKey = Lens.lens (\BackendAuthAppleProviderConfig' {privateKey} -> privateKey) (\s@BackendAuthAppleProviderConfig' {} a -> s {privateKey = a} :: BackendAuthAppleProviderConfig)++-- | Describes the team_id that comes from Apple.+backendAuthAppleProviderConfig_teamId :: Lens.Lens' BackendAuthAppleProviderConfig (Prelude.Maybe Prelude.Text)+backendAuthAppleProviderConfig_teamId = Lens.lens (\BackendAuthAppleProviderConfig' {teamId} -> teamId) (\s@BackendAuthAppleProviderConfig' {} a -> s {teamId = a} :: BackendAuthAppleProviderConfig)++instance Data.FromJSON BackendAuthAppleProviderConfig where+  parseJSON =+    Data.withObject+      "BackendAuthAppleProviderConfig"+      ( \x ->+          BackendAuthAppleProviderConfig'+            Prelude.<$> (x Data..:? "client_id")+            Prelude.<*> (x Data..:? "key_id")+            Prelude.<*> (x Data..:? "private_key")+            Prelude.<*> (x Data..:? "team_id")+      )++instance+  Prelude.Hashable+    BackendAuthAppleProviderConfig+  where+  hashWithSalt+    _salt+    BackendAuthAppleProviderConfig' {..} =+      _salt+        `Prelude.hashWithSalt` clientId+        `Prelude.hashWithSalt` keyId+        `Prelude.hashWithSalt` privateKey+        `Prelude.hashWithSalt` teamId++instance+  Prelude.NFData+    BackendAuthAppleProviderConfig+  where+  rnf BackendAuthAppleProviderConfig' {..} =+    Prelude.rnf clientId+      `Prelude.seq` Prelude.rnf keyId+      `Prelude.seq` Prelude.rnf privateKey+      `Prelude.seq` Prelude.rnf teamId++instance Data.ToJSON BackendAuthAppleProviderConfig where+  toJSON BackendAuthAppleProviderConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("client_id" Data..=) Prelude.<$> clientId,+            ("key_id" Data..=) Prelude.<$> keyId,+            ("private_key" Data..=) Prelude.<$> privateKey,+            ("team_id" Data..=) Prelude.<$> teamId+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/BackendAuthSocialProviderConfig.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.AmplifyBackend.Types.BackendAuthSocialProviderConfig+-- 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.AmplifyBackend.Types.BackendAuthSocialProviderConfig 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++-- | Describes third-party social federation configurations for allowing your+-- app users to sign in using OAuth.+--+-- /See:/ 'newBackendAuthSocialProviderConfig' smart constructor.+data BackendAuthSocialProviderConfig = BackendAuthSocialProviderConfig'+  { -- | Describes the client_id, which can be obtained from the third-party+    -- social federation provider.+    clientId :: Prelude.Maybe Prelude.Text,+    -- | Describes the client_secret, which can be obtained from third-party+    -- social federation providers.+    clientSecret :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BackendAuthSocialProviderConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientId', 'backendAuthSocialProviderConfig_clientId' - Describes the client_id, which can be obtained from the third-party+-- social federation provider.+--+-- 'clientSecret', 'backendAuthSocialProviderConfig_clientSecret' - Describes the client_secret, which can be obtained from third-party+-- social federation providers.+newBackendAuthSocialProviderConfig ::+  BackendAuthSocialProviderConfig+newBackendAuthSocialProviderConfig =+  BackendAuthSocialProviderConfig'+    { clientId =+        Prelude.Nothing,+      clientSecret = Prelude.Nothing+    }++-- | Describes the client_id, which can be obtained from the third-party+-- social federation provider.+backendAuthSocialProviderConfig_clientId :: Lens.Lens' BackendAuthSocialProviderConfig (Prelude.Maybe Prelude.Text)+backendAuthSocialProviderConfig_clientId = Lens.lens (\BackendAuthSocialProviderConfig' {clientId} -> clientId) (\s@BackendAuthSocialProviderConfig' {} a -> s {clientId = a} :: BackendAuthSocialProviderConfig)++-- | Describes the client_secret, which can be obtained from third-party+-- social federation providers.+backendAuthSocialProviderConfig_clientSecret :: Lens.Lens' BackendAuthSocialProviderConfig (Prelude.Maybe Prelude.Text)+backendAuthSocialProviderConfig_clientSecret = Lens.lens (\BackendAuthSocialProviderConfig' {clientSecret} -> clientSecret) (\s@BackendAuthSocialProviderConfig' {} a -> s {clientSecret = a} :: BackendAuthSocialProviderConfig)++instance+  Data.FromJSON+    BackendAuthSocialProviderConfig+  where+  parseJSON =+    Data.withObject+      "BackendAuthSocialProviderConfig"+      ( \x ->+          BackendAuthSocialProviderConfig'+            Prelude.<$> (x Data..:? "client_id")+            Prelude.<*> (x Data..:? "client_secret")+      )++instance+  Prelude.Hashable+    BackendAuthSocialProviderConfig+  where+  hashWithSalt+    _salt+    BackendAuthSocialProviderConfig' {..} =+      _salt+        `Prelude.hashWithSalt` clientId+        `Prelude.hashWithSalt` clientSecret++instance+  Prelude.NFData+    BackendAuthSocialProviderConfig+  where+  rnf BackendAuthSocialProviderConfig' {..} =+    Prelude.rnf clientId+      `Prelude.seq` Prelude.rnf clientSecret++instance Data.ToJSON BackendAuthSocialProviderConfig where+  toJSON BackendAuthSocialProviderConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("client_id" Data..=) Prelude.<$> clientId,+            ("client_secret" Data..=) Prelude.<$> clientSecret+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/BackendJobRespObj.hs view
@@ -0,0 +1,160 @@+{-# 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.AmplifyBackend.Types.BackendJobRespObj+-- 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.AmplifyBackend.Types.BackendJobRespObj 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 response object for this operation.+--+-- /See:/ 'newBackendJobRespObj' smart constructor.+data BackendJobRespObj = BackendJobRespObj'+  { -- | The time when the job was created.+    createTime :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: Prelude.Maybe Prelude.Text,+    -- | The time when the job was last updated.+    updateTime :: Prelude.Maybe Prelude.Text,+    -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BackendJobRespObj' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createTime', 'backendJobRespObj_createTime' - The time when the job was created.+--+-- 'error', 'backendJobRespObj_error' - If the request fails, this error is returned.+--+-- 'jobId', 'backendJobRespObj_jobId' - The ID for the job.+--+-- 'operation', 'backendJobRespObj_operation' - The name of the operation.+--+-- 'status', 'backendJobRespObj_status' - The current status of the request.+--+-- 'updateTime', 'backendJobRespObj_updateTime' - The time when the job was last updated.+--+-- 'appId', 'backendJobRespObj_appId' - The app ID.+--+-- 'backendEnvironmentName', 'backendJobRespObj_backendEnvironmentName' - The name of the backend environment.+newBackendJobRespObj ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  BackendJobRespObj+newBackendJobRespObj pAppId_ pBackendEnvironmentName_ =+  BackendJobRespObj'+    { createTime = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      updateTime = Prelude.Nothing,+      appId = pAppId_,+      backendEnvironmentName = pBackendEnvironmentName_+    }++-- | The time when the job was created.+backendJobRespObj_createTime :: Lens.Lens' BackendJobRespObj (Prelude.Maybe Prelude.Text)+backendJobRespObj_createTime = Lens.lens (\BackendJobRespObj' {createTime} -> createTime) (\s@BackendJobRespObj' {} a -> s {createTime = a} :: BackendJobRespObj)++-- | If the request fails, this error is returned.+backendJobRespObj_error :: Lens.Lens' BackendJobRespObj (Prelude.Maybe Prelude.Text)+backendJobRespObj_error = Lens.lens (\BackendJobRespObj' {error} -> error) (\s@BackendJobRespObj' {} a -> s {error = a} :: BackendJobRespObj)++-- | The ID for the job.+backendJobRespObj_jobId :: Lens.Lens' BackendJobRespObj (Prelude.Maybe Prelude.Text)+backendJobRespObj_jobId = Lens.lens (\BackendJobRespObj' {jobId} -> jobId) (\s@BackendJobRespObj' {} a -> s {jobId = a} :: BackendJobRespObj)++-- | The name of the operation.+backendJobRespObj_operation :: Lens.Lens' BackendJobRespObj (Prelude.Maybe Prelude.Text)+backendJobRespObj_operation = Lens.lens (\BackendJobRespObj' {operation} -> operation) (\s@BackendJobRespObj' {} a -> s {operation = a} :: BackendJobRespObj)++-- | The current status of the request.+backendJobRespObj_status :: Lens.Lens' BackendJobRespObj (Prelude.Maybe Prelude.Text)+backendJobRespObj_status = Lens.lens (\BackendJobRespObj' {status} -> status) (\s@BackendJobRespObj' {} a -> s {status = a} :: BackendJobRespObj)++-- | The time when the job was last updated.+backendJobRespObj_updateTime :: Lens.Lens' BackendJobRespObj (Prelude.Maybe Prelude.Text)+backendJobRespObj_updateTime = Lens.lens (\BackendJobRespObj' {updateTime} -> updateTime) (\s@BackendJobRespObj' {} a -> s {updateTime = a} :: BackendJobRespObj)++-- | The app ID.+backendJobRespObj_appId :: Lens.Lens' BackendJobRespObj Prelude.Text+backendJobRespObj_appId = Lens.lens (\BackendJobRespObj' {appId} -> appId) (\s@BackendJobRespObj' {} a -> s {appId = a} :: BackendJobRespObj)++-- | The name of the backend environment.+backendJobRespObj_backendEnvironmentName :: Lens.Lens' BackendJobRespObj Prelude.Text+backendJobRespObj_backendEnvironmentName = Lens.lens (\BackendJobRespObj' {backendEnvironmentName} -> backendEnvironmentName) (\s@BackendJobRespObj' {} a -> s {backendEnvironmentName = a} :: BackendJobRespObj)++instance Data.FromJSON BackendJobRespObj where+  parseJSON =+    Data.withObject+      "BackendJobRespObj"+      ( \x ->+          BackendJobRespObj'+            Prelude.<$> (x Data..:? "createTime")+            Prelude.<*> (x Data..:? "error")+            Prelude.<*> (x Data..:? "jobId")+            Prelude.<*> (x Data..:? "operation")+            Prelude.<*> (x Data..:? "status")+            Prelude.<*> (x Data..:? "updateTime")+            Prelude.<*> (x Data..: "appId")+            Prelude.<*> (x Data..: "backendEnvironmentName")+      )++instance Prelude.Hashable BackendJobRespObj where+  hashWithSalt _salt BackendJobRespObj' {..} =+    _salt+      `Prelude.hashWithSalt` createTime+      `Prelude.hashWithSalt` error+      `Prelude.hashWithSalt` jobId+      `Prelude.hashWithSalt` operation+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` updateTime+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName++instance Prelude.NFData BackendJobRespObj where+  rnf BackendJobRespObj' {..} =+    Prelude.rnf createTime+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf updateTime+      `Prelude.seq` Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName
+ gen/Amazonka/AmplifyBackend/Types/BackendStoragePermissions.hs view
@@ -0,0 +1,108 @@+{-# 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.AmplifyBackend.Types.BackendStoragePermissions+-- 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.AmplifyBackend.Types.BackendStoragePermissions where++import Amazonka.AmplifyBackend.Types.AuthenticatedElement+import Amazonka.AmplifyBackend.Types.UnAuthenticatedElement+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++-- | Describes the read, write, and delete permissions users have against+-- your storage S3 bucket.+--+-- /See:/ 'newBackendStoragePermissions' smart constructor.+data BackendStoragePermissions = BackendStoragePermissions'+  { -- | Lists all unauthenticated user read, write, and delete permissions for+    -- your S3 bucket.+    unAuthenticated :: Prelude.Maybe [UnAuthenticatedElement],+    -- | Lists all authenticated user read, write, and delete permissions for+    -- your S3 bucket.+    authenticated :: [AuthenticatedElement]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BackendStoragePermissions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'unAuthenticated', 'backendStoragePermissions_unAuthenticated' - Lists all unauthenticated user read, write, and delete permissions for+-- your S3 bucket.+--+-- 'authenticated', 'backendStoragePermissions_authenticated' - Lists all authenticated user read, write, and delete permissions for+-- your S3 bucket.+newBackendStoragePermissions ::+  BackendStoragePermissions+newBackendStoragePermissions =+  BackendStoragePermissions'+    { unAuthenticated =+        Prelude.Nothing,+      authenticated = Prelude.mempty+    }++-- | Lists all unauthenticated user read, write, and delete permissions for+-- your S3 bucket.+backendStoragePermissions_unAuthenticated :: Lens.Lens' BackendStoragePermissions (Prelude.Maybe [UnAuthenticatedElement])+backendStoragePermissions_unAuthenticated = Lens.lens (\BackendStoragePermissions' {unAuthenticated} -> unAuthenticated) (\s@BackendStoragePermissions' {} a -> s {unAuthenticated = a} :: BackendStoragePermissions) Prelude.. Lens.mapping Lens.coerced++-- | Lists all authenticated user read, write, and delete permissions for+-- your S3 bucket.+backendStoragePermissions_authenticated :: Lens.Lens' BackendStoragePermissions [AuthenticatedElement]+backendStoragePermissions_authenticated = Lens.lens (\BackendStoragePermissions' {authenticated} -> authenticated) (\s@BackendStoragePermissions' {} a -> s {authenticated = a} :: BackendStoragePermissions) Prelude.. Lens.coerced++instance Data.FromJSON BackendStoragePermissions where+  parseJSON =+    Data.withObject+      "BackendStoragePermissions"+      ( \x ->+          BackendStoragePermissions'+            Prelude.<$> ( x+                            Data..:? "unAuthenticated"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "authenticated" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable BackendStoragePermissions where+  hashWithSalt _salt BackendStoragePermissions' {..} =+    _salt+      `Prelude.hashWithSalt` unAuthenticated+      `Prelude.hashWithSalt` authenticated++instance Prelude.NFData BackendStoragePermissions where+  rnf BackendStoragePermissions' {..} =+    Prelude.rnf unAuthenticated+      `Prelude.seq` Prelude.rnf authenticated++instance Data.ToJSON BackendStoragePermissions where+  toJSON BackendStoragePermissions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("unAuthenticated" Data..=)+              Prelude.<$> unAuthenticated,+            Prelude.Just+              ("authenticated" Data..= authenticated)+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/CreateBackendAuthForgotPasswordConfig.hs view
@@ -0,0 +1,138 @@+{-# 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.AmplifyBackend.Types.CreateBackendAuthForgotPasswordConfig+-- 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.AmplifyBackend.Types.CreateBackendAuthForgotPasswordConfig where++import Amazonka.AmplifyBackend.Types.DeliveryMethod+import Amazonka.AmplifyBackend.Types.EmailSettings+import Amazonka.AmplifyBackend.Types.SmsSettings+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++-- | __(DEPRECATED)__ Describes the forgot password policy for authenticating+-- into the Amplify app.+--+-- /See:/ 'newCreateBackendAuthForgotPasswordConfig' smart constructor.+data CreateBackendAuthForgotPasswordConfig = CreateBackendAuthForgotPasswordConfig'+  { -- | __(DEPRECATED)__ The configuration for the email sent when an app user+    -- forgets their password.+    emailSettings :: Prelude.Maybe EmailSettings,+    -- | __(DEPRECATED)__ The configuration for the SMS message sent when an app+    -- user forgets their password.+    smsSettings :: Prelude.Maybe SmsSettings,+    -- | __(DEPRECATED)__ Describes which mode to use (either SMS or email) to+    -- deliver messages to app users who want to recover their password.+    deliveryMethod :: DeliveryMethod+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendAuthForgotPasswordConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'emailSettings', 'createBackendAuthForgotPasswordConfig_emailSettings' - __(DEPRECATED)__ The configuration for the email sent when an app user+-- forgets their password.+--+-- 'smsSettings', 'createBackendAuthForgotPasswordConfig_smsSettings' - __(DEPRECATED)__ The configuration for the SMS message sent when an app+-- user forgets their password.+--+-- 'deliveryMethod', 'createBackendAuthForgotPasswordConfig_deliveryMethod' - __(DEPRECATED)__ Describes which mode to use (either SMS or email) to+-- deliver messages to app users who want to recover their password.+newCreateBackendAuthForgotPasswordConfig ::+  -- | 'deliveryMethod'+  DeliveryMethod ->+  CreateBackendAuthForgotPasswordConfig+newCreateBackendAuthForgotPasswordConfig+  pDeliveryMethod_ =+    CreateBackendAuthForgotPasswordConfig'+      { emailSettings =+          Prelude.Nothing,+        smsSettings = Prelude.Nothing,+        deliveryMethod = pDeliveryMethod_+      }++-- | __(DEPRECATED)__ The configuration for the email sent when an app user+-- forgets their password.+createBackendAuthForgotPasswordConfig_emailSettings :: Lens.Lens' CreateBackendAuthForgotPasswordConfig (Prelude.Maybe EmailSettings)+createBackendAuthForgotPasswordConfig_emailSettings = Lens.lens (\CreateBackendAuthForgotPasswordConfig' {emailSettings} -> emailSettings) (\s@CreateBackendAuthForgotPasswordConfig' {} a -> s {emailSettings = a} :: CreateBackendAuthForgotPasswordConfig)++-- | __(DEPRECATED)__ The configuration for the SMS message sent when an app+-- user forgets their password.+createBackendAuthForgotPasswordConfig_smsSettings :: Lens.Lens' CreateBackendAuthForgotPasswordConfig (Prelude.Maybe SmsSettings)+createBackendAuthForgotPasswordConfig_smsSettings = Lens.lens (\CreateBackendAuthForgotPasswordConfig' {smsSettings} -> smsSettings) (\s@CreateBackendAuthForgotPasswordConfig' {} a -> s {smsSettings = a} :: CreateBackendAuthForgotPasswordConfig)++-- | __(DEPRECATED)__ Describes which mode to use (either SMS or email) to+-- deliver messages to app users who want to recover their password.+createBackendAuthForgotPasswordConfig_deliveryMethod :: Lens.Lens' CreateBackendAuthForgotPasswordConfig DeliveryMethod+createBackendAuthForgotPasswordConfig_deliveryMethod = Lens.lens (\CreateBackendAuthForgotPasswordConfig' {deliveryMethod} -> deliveryMethod) (\s@CreateBackendAuthForgotPasswordConfig' {} a -> s {deliveryMethod = a} :: CreateBackendAuthForgotPasswordConfig)++instance+  Data.FromJSON+    CreateBackendAuthForgotPasswordConfig+  where+  parseJSON =+    Data.withObject+      "CreateBackendAuthForgotPasswordConfig"+      ( \x ->+          CreateBackendAuthForgotPasswordConfig'+            Prelude.<$> (x Data..:? "emailSettings")+            Prelude.<*> (x Data..:? "smsSettings")+            Prelude.<*> (x Data..: "deliveryMethod")+      )++instance+  Prelude.Hashable+    CreateBackendAuthForgotPasswordConfig+  where+  hashWithSalt+    _salt+    CreateBackendAuthForgotPasswordConfig' {..} =+      _salt+        `Prelude.hashWithSalt` emailSettings+        `Prelude.hashWithSalt` smsSettings+        `Prelude.hashWithSalt` deliveryMethod++instance+  Prelude.NFData+    CreateBackendAuthForgotPasswordConfig+  where+  rnf CreateBackendAuthForgotPasswordConfig' {..} =+    Prelude.rnf emailSettings+      `Prelude.seq` Prelude.rnf smsSettings+      `Prelude.seq` Prelude.rnf deliveryMethod++instance+  Data.ToJSON+    CreateBackendAuthForgotPasswordConfig+  where+  toJSON CreateBackendAuthForgotPasswordConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("emailSettings" Data..=) Prelude.<$> emailSettings,+            ("smsSettings" Data..=) Prelude.<$> smsSettings,+            Prelude.Just+              ("deliveryMethod" Data..= deliveryMethod)+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/CreateBackendAuthIdentityPoolConfig.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.CreateBackendAuthIdentityPoolConfig+-- 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.AmplifyBackend.Types.CreateBackendAuthIdentityPoolConfig 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++-- | Describes authorization configurations for the auth resources,+-- configured as a part of your Amplify project.+--+-- /See:/ 'newCreateBackendAuthIdentityPoolConfig' smart constructor.+data CreateBackendAuthIdentityPoolConfig = CreateBackendAuthIdentityPoolConfig'+  { -- | Set to true or false based on whether you want to enable guest+    -- authorization to your Amplify app.+    unauthenticatedLogin :: Prelude.Bool,+    -- | Name of the Amazon Cognito identity pool used for authorization.+    identityPoolName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendAuthIdentityPoolConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'unauthenticatedLogin', 'createBackendAuthIdentityPoolConfig_unauthenticatedLogin' - Set to true or false based on whether you want to enable guest+-- authorization to your Amplify app.+--+-- 'identityPoolName', 'createBackendAuthIdentityPoolConfig_identityPoolName' - Name of the Amazon Cognito identity pool used for authorization.+newCreateBackendAuthIdentityPoolConfig ::+  -- | 'unauthenticatedLogin'+  Prelude.Bool ->+  -- | 'identityPoolName'+  Prelude.Text ->+  CreateBackendAuthIdentityPoolConfig+newCreateBackendAuthIdentityPoolConfig+  pUnauthenticatedLogin_+  pIdentityPoolName_ =+    CreateBackendAuthIdentityPoolConfig'+      { unauthenticatedLogin =+          pUnauthenticatedLogin_,+        identityPoolName = pIdentityPoolName_+      }++-- | Set to true or false based on whether you want to enable guest+-- authorization to your Amplify app.+createBackendAuthIdentityPoolConfig_unauthenticatedLogin :: Lens.Lens' CreateBackendAuthIdentityPoolConfig Prelude.Bool+createBackendAuthIdentityPoolConfig_unauthenticatedLogin = Lens.lens (\CreateBackendAuthIdentityPoolConfig' {unauthenticatedLogin} -> unauthenticatedLogin) (\s@CreateBackendAuthIdentityPoolConfig' {} a -> s {unauthenticatedLogin = a} :: CreateBackendAuthIdentityPoolConfig)++-- | Name of the Amazon Cognito identity pool used for authorization.+createBackendAuthIdentityPoolConfig_identityPoolName :: Lens.Lens' CreateBackendAuthIdentityPoolConfig Prelude.Text+createBackendAuthIdentityPoolConfig_identityPoolName = Lens.lens (\CreateBackendAuthIdentityPoolConfig' {identityPoolName} -> identityPoolName) (\s@CreateBackendAuthIdentityPoolConfig' {} a -> s {identityPoolName = a} :: CreateBackendAuthIdentityPoolConfig)++instance+  Data.FromJSON+    CreateBackendAuthIdentityPoolConfig+  where+  parseJSON =+    Data.withObject+      "CreateBackendAuthIdentityPoolConfig"+      ( \x ->+          CreateBackendAuthIdentityPoolConfig'+            Prelude.<$> (x Data..: "unauthenticatedLogin")+            Prelude.<*> (x Data..: "identityPoolName")+      )++instance+  Prelude.Hashable+    CreateBackendAuthIdentityPoolConfig+  where+  hashWithSalt+    _salt+    CreateBackendAuthIdentityPoolConfig' {..} =+      _salt+        `Prelude.hashWithSalt` unauthenticatedLogin+        `Prelude.hashWithSalt` identityPoolName++instance+  Prelude.NFData+    CreateBackendAuthIdentityPoolConfig+  where+  rnf CreateBackendAuthIdentityPoolConfig' {..} =+    Prelude.rnf unauthenticatedLogin+      `Prelude.seq` Prelude.rnf identityPoolName++instance+  Data.ToJSON+    CreateBackendAuthIdentityPoolConfig+  where+  toJSON CreateBackendAuthIdentityPoolConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "unauthenticatedLogin"+                  Data..= unauthenticatedLogin+              ),+            Prelude.Just+              ("identityPoolName" Data..= identityPoolName)+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/CreateBackendAuthMFAConfig.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.AmplifyBackend.Types.CreateBackendAuthMFAConfig+-- 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.AmplifyBackend.Types.CreateBackendAuthMFAConfig where++import Amazonka.AmplifyBackend.Types.MFAMode+import Amazonka.AmplifyBackend.Types.Settings+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++-- | Describes whether to apply multi-factor authentication policies for your+-- Amazon Cognito user pool configured as a part of your Amplify project.+--+-- /See:/ 'newCreateBackendAuthMFAConfig' smart constructor.+data CreateBackendAuthMFAConfig = CreateBackendAuthMFAConfig'+  { -- | Describes the configuration settings and methods for your Amplify app+    -- users to use MFA.+    settings :: Prelude.Maybe Settings,+    -- | Describes whether MFA should be [ON, OFF, or OPTIONAL] for+    -- authentication in your Amplify project.+    mfaMode :: MFAMode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendAuthMFAConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'settings', 'createBackendAuthMFAConfig_settings' - Describes the configuration settings and methods for your Amplify app+-- users to use MFA.+--+-- 'mfaMode', 'createBackendAuthMFAConfig_mfaMode' - Describes whether MFA should be [ON, OFF, or OPTIONAL] for+-- authentication in your Amplify project.+newCreateBackendAuthMFAConfig ::+  -- | 'mfaMode'+  MFAMode ->+  CreateBackendAuthMFAConfig+newCreateBackendAuthMFAConfig pMFAMode_ =+  CreateBackendAuthMFAConfig'+    { settings =+        Prelude.Nothing,+      mfaMode = pMFAMode_+    }++-- | Describes the configuration settings and methods for your Amplify app+-- users to use MFA.+createBackendAuthMFAConfig_settings :: Lens.Lens' CreateBackendAuthMFAConfig (Prelude.Maybe Settings)+createBackendAuthMFAConfig_settings = Lens.lens (\CreateBackendAuthMFAConfig' {settings} -> settings) (\s@CreateBackendAuthMFAConfig' {} a -> s {settings = a} :: CreateBackendAuthMFAConfig)++-- | Describes whether MFA should be [ON, OFF, or OPTIONAL] for+-- authentication in your Amplify project.+createBackendAuthMFAConfig_mfaMode :: Lens.Lens' CreateBackendAuthMFAConfig MFAMode+createBackendAuthMFAConfig_mfaMode = Lens.lens (\CreateBackendAuthMFAConfig' {mfaMode} -> mfaMode) (\s@CreateBackendAuthMFAConfig' {} a -> s {mfaMode = a} :: CreateBackendAuthMFAConfig)++instance Data.FromJSON CreateBackendAuthMFAConfig where+  parseJSON =+    Data.withObject+      "CreateBackendAuthMFAConfig"+      ( \x ->+          CreateBackendAuthMFAConfig'+            Prelude.<$> (x Data..:? "settings")+            Prelude.<*> (x Data..: "MFAMode")+      )++instance Prelude.Hashable CreateBackendAuthMFAConfig where+  hashWithSalt _salt CreateBackendAuthMFAConfig' {..} =+    _salt+      `Prelude.hashWithSalt` settings+      `Prelude.hashWithSalt` mfaMode++instance Prelude.NFData CreateBackendAuthMFAConfig where+  rnf CreateBackendAuthMFAConfig' {..} =+    Prelude.rnf settings+      `Prelude.seq` Prelude.rnf mfaMode++instance Data.ToJSON CreateBackendAuthMFAConfig where+  toJSON CreateBackendAuthMFAConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("settings" Data..=) Prelude.<$> settings,+            Prelude.Just ("MFAMode" Data..= mfaMode)+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/CreateBackendAuthOAuthConfig.hs view
@@ -0,0 +1,170 @@+{-# 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.AmplifyBackend.Types.CreateBackendAuthOAuthConfig+-- 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.AmplifyBackend.Types.CreateBackendAuthOAuthConfig where++import Amazonka.AmplifyBackend.Types.OAuthGrantType+import Amazonka.AmplifyBackend.Types.OAuthScopesElement+import Amazonka.AmplifyBackend.Types.SocialProviderSettings+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++-- | Creates the OAuth configuration for your Amplify project.+--+-- /See:/ 'newCreateBackendAuthOAuthConfig' smart constructor.+data CreateBackendAuthOAuthConfig = CreateBackendAuthOAuthConfig'+  { -- | The domain prefix for your Amplify app.+    domainPrefix :: Prelude.Maybe Prelude.Text,+    -- | The settings for using social providers to access your Amplify app.+    socialProviderSettings :: Prelude.Maybe SocialProviderSettings,+    -- | Redirect URLs that OAuth uses when a user signs out of an Amplify app.+    redirectSignOutURIs :: [Prelude.Text],+    -- | The redirected URI for signing in to your Amplify app.+    redirectSignInURIs :: [Prelude.Text],+    -- | The OAuth grant type that you use to allow app users to authenticate+    -- from your Amplify app.+    oAuthGrantType :: OAuthGrantType,+    -- | List of OAuth-related flows used to allow your app users to authenticate+    -- from your Amplify app.+    oAuthScopes :: [OAuthScopesElement]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendAuthOAuthConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainPrefix', 'createBackendAuthOAuthConfig_domainPrefix' - The domain prefix for your Amplify app.+--+-- 'socialProviderSettings', 'createBackendAuthOAuthConfig_socialProviderSettings' - The settings for using social providers to access your Amplify app.+--+-- 'redirectSignOutURIs', 'createBackendAuthOAuthConfig_redirectSignOutURIs' - Redirect URLs that OAuth uses when a user signs out of an Amplify app.+--+-- 'redirectSignInURIs', 'createBackendAuthOAuthConfig_redirectSignInURIs' - The redirected URI for signing in to your Amplify app.+--+-- 'oAuthGrantType', 'createBackendAuthOAuthConfig_oAuthGrantType' - The OAuth grant type that you use to allow app users to authenticate+-- from your Amplify app.+--+-- 'oAuthScopes', 'createBackendAuthOAuthConfig_oAuthScopes' - List of OAuth-related flows used to allow your app users to authenticate+-- from your Amplify app.+newCreateBackendAuthOAuthConfig ::+  -- | 'oAuthGrantType'+  OAuthGrantType ->+  CreateBackendAuthOAuthConfig+newCreateBackendAuthOAuthConfig pOAuthGrantType_ =+  CreateBackendAuthOAuthConfig'+    { domainPrefix =+        Prelude.Nothing,+      socialProviderSettings = Prelude.Nothing,+      redirectSignOutURIs = Prelude.mempty,+      redirectSignInURIs = Prelude.mempty,+      oAuthGrantType = pOAuthGrantType_,+      oAuthScopes = Prelude.mempty+    }++-- | The domain prefix for your Amplify app.+createBackendAuthOAuthConfig_domainPrefix :: Lens.Lens' CreateBackendAuthOAuthConfig (Prelude.Maybe Prelude.Text)+createBackendAuthOAuthConfig_domainPrefix = Lens.lens (\CreateBackendAuthOAuthConfig' {domainPrefix} -> domainPrefix) (\s@CreateBackendAuthOAuthConfig' {} a -> s {domainPrefix = a} :: CreateBackendAuthOAuthConfig)++-- | The settings for using social providers to access your Amplify app.+createBackendAuthOAuthConfig_socialProviderSettings :: Lens.Lens' CreateBackendAuthOAuthConfig (Prelude.Maybe SocialProviderSettings)+createBackendAuthOAuthConfig_socialProviderSettings = Lens.lens (\CreateBackendAuthOAuthConfig' {socialProviderSettings} -> socialProviderSettings) (\s@CreateBackendAuthOAuthConfig' {} a -> s {socialProviderSettings = a} :: CreateBackendAuthOAuthConfig)++-- | Redirect URLs that OAuth uses when a user signs out of an Amplify app.+createBackendAuthOAuthConfig_redirectSignOutURIs :: Lens.Lens' CreateBackendAuthOAuthConfig [Prelude.Text]+createBackendAuthOAuthConfig_redirectSignOutURIs = Lens.lens (\CreateBackendAuthOAuthConfig' {redirectSignOutURIs} -> redirectSignOutURIs) (\s@CreateBackendAuthOAuthConfig' {} a -> s {redirectSignOutURIs = a} :: CreateBackendAuthOAuthConfig) Prelude.. Lens.coerced++-- | The redirected URI for signing in to your Amplify app.+createBackendAuthOAuthConfig_redirectSignInURIs :: Lens.Lens' CreateBackendAuthOAuthConfig [Prelude.Text]+createBackendAuthOAuthConfig_redirectSignInURIs = Lens.lens (\CreateBackendAuthOAuthConfig' {redirectSignInURIs} -> redirectSignInURIs) (\s@CreateBackendAuthOAuthConfig' {} a -> s {redirectSignInURIs = a} :: CreateBackendAuthOAuthConfig) Prelude.. Lens.coerced++-- | The OAuth grant type that you use to allow app users to authenticate+-- from your Amplify app.+createBackendAuthOAuthConfig_oAuthGrantType :: Lens.Lens' CreateBackendAuthOAuthConfig OAuthGrantType+createBackendAuthOAuthConfig_oAuthGrantType = Lens.lens (\CreateBackendAuthOAuthConfig' {oAuthGrantType} -> oAuthGrantType) (\s@CreateBackendAuthOAuthConfig' {} a -> s {oAuthGrantType = a} :: CreateBackendAuthOAuthConfig)++-- | List of OAuth-related flows used to allow your app users to authenticate+-- from your Amplify app.+createBackendAuthOAuthConfig_oAuthScopes :: Lens.Lens' CreateBackendAuthOAuthConfig [OAuthScopesElement]+createBackendAuthOAuthConfig_oAuthScopes = Lens.lens (\CreateBackendAuthOAuthConfig' {oAuthScopes} -> oAuthScopes) (\s@CreateBackendAuthOAuthConfig' {} a -> s {oAuthScopes = a} :: CreateBackendAuthOAuthConfig) Prelude.. Lens.coerced++instance Data.FromJSON CreateBackendAuthOAuthConfig where+  parseJSON =+    Data.withObject+      "CreateBackendAuthOAuthConfig"+      ( \x ->+          CreateBackendAuthOAuthConfig'+            Prelude.<$> (x Data..:? "domainPrefix")+            Prelude.<*> (x Data..:? "socialProviderSettings")+            Prelude.<*> ( x+                            Data..:? "redirectSignOutURIs"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "redirectSignInURIs"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "oAuthGrantType")+            Prelude.<*> (x Data..:? "oAuthScopes" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    CreateBackendAuthOAuthConfig+  where+  hashWithSalt _salt CreateBackendAuthOAuthConfig' {..} =+    _salt+      `Prelude.hashWithSalt` domainPrefix+      `Prelude.hashWithSalt` socialProviderSettings+      `Prelude.hashWithSalt` redirectSignOutURIs+      `Prelude.hashWithSalt` redirectSignInURIs+      `Prelude.hashWithSalt` oAuthGrantType+      `Prelude.hashWithSalt` oAuthScopes++instance Prelude.NFData CreateBackendAuthOAuthConfig where+  rnf CreateBackendAuthOAuthConfig' {..} =+    Prelude.rnf domainPrefix+      `Prelude.seq` Prelude.rnf socialProviderSettings+      `Prelude.seq` Prelude.rnf redirectSignOutURIs+      `Prelude.seq` Prelude.rnf redirectSignInURIs+      `Prelude.seq` Prelude.rnf oAuthGrantType+      `Prelude.seq` Prelude.rnf oAuthScopes++instance Data.ToJSON CreateBackendAuthOAuthConfig where+  toJSON CreateBackendAuthOAuthConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("domainPrefix" Data..=) Prelude.<$> domainPrefix,+            ("socialProviderSettings" Data..=)+              Prelude.<$> socialProviderSettings,+            Prelude.Just+              ("redirectSignOutURIs" Data..= redirectSignOutURIs),+            Prelude.Just+              ("redirectSignInURIs" Data..= redirectSignInURIs),+            Prelude.Just+              ("oAuthGrantType" Data..= oAuthGrantType),+            Prelude.Just ("oAuthScopes" Data..= oAuthScopes)+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/CreateBackendAuthPasswordPolicyConfig.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.CreateBackendAuthPasswordPolicyConfig+-- 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.AmplifyBackend.Types.CreateBackendAuthPasswordPolicyConfig where++import Amazonka.AmplifyBackend.Types.AdditionalConstraintsElement+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 password policy configuration for the backend to your Amplify+-- project.+--+-- /See:/ 'newCreateBackendAuthPasswordPolicyConfig' smart constructor.+data CreateBackendAuthPasswordPolicyConfig = CreateBackendAuthPasswordPolicyConfig'+  { -- | Additional constraints for the password used to access the backend of+    -- your Amplify project.+    additionalConstraints :: Prelude.Maybe [AdditionalConstraintsElement],+    -- | The minimum length of the password used to access the backend of your+    -- Amplify project.+    minimumLength :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendAuthPasswordPolicyConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'additionalConstraints', 'createBackendAuthPasswordPolicyConfig_additionalConstraints' - Additional constraints for the password used to access the backend of+-- your Amplify project.+--+-- 'minimumLength', 'createBackendAuthPasswordPolicyConfig_minimumLength' - The minimum length of the password used to access the backend of your+-- Amplify project.+newCreateBackendAuthPasswordPolicyConfig ::+  -- | 'minimumLength'+  Prelude.Double ->+  CreateBackendAuthPasswordPolicyConfig+newCreateBackendAuthPasswordPolicyConfig+  pMinimumLength_ =+    CreateBackendAuthPasswordPolicyConfig'+      { additionalConstraints =+          Prelude.Nothing,+        minimumLength = pMinimumLength_+      }++-- | Additional constraints for the password used to access the backend of+-- your Amplify project.+createBackendAuthPasswordPolicyConfig_additionalConstraints :: Lens.Lens' CreateBackendAuthPasswordPolicyConfig (Prelude.Maybe [AdditionalConstraintsElement])+createBackendAuthPasswordPolicyConfig_additionalConstraints = Lens.lens (\CreateBackendAuthPasswordPolicyConfig' {additionalConstraints} -> additionalConstraints) (\s@CreateBackendAuthPasswordPolicyConfig' {} a -> s {additionalConstraints = a} :: CreateBackendAuthPasswordPolicyConfig) Prelude.. Lens.mapping Lens.coerced++-- | The minimum length of the password used to access the backend of your+-- Amplify project.+createBackendAuthPasswordPolicyConfig_minimumLength :: Lens.Lens' CreateBackendAuthPasswordPolicyConfig Prelude.Double+createBackendAuthPasswordPolicyConfig_minimumLength = Lens.lens (\CreateBackendAuthPasswordPolicyConfig' {minimumLength} -> minimumLength) (\s@CreateBackendAuthPasswordPolicyConfig' {} a -> s {minimumLength = a} :: CreateBackendAuthPasswordPolicyConfig)++instance+  Data.FromJSON+    CreateBackendAuthPasswordPolicyConfig+  where+  parseJSON =+    Data.withObject+      "CreateBackendAuthPasswordPolicyConfig"+      ( \x ->+          CreateBackendAuthPasswordPolicyConfig'+            Prelude.<$> ( x+                            Data..:? "additionalConstraints"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "minimumLength")+      )++instance+  Prelude.Hashable+    CreateBackendAuthPasswordPolicyConfig+  where+  hashWithSalt+    _salt+    CreateBackendAuthPasswordPolicyConfig' {..} =+      _salt+        `Prelude.hashWithSalt` additionalConstraints+        `Prelude.hashWithSalt` minimumLength++instance+  Prelude.NFData+    CreateBackendAuthPasswordPolicyConfig+  where+  rnf CreateBackendAuthPasswordPolicyConfig' {..} =+    Prelude.rnf additionalConstraints+      `Prelude.seq` Prelude.rnf minimumLength++instance+  Data.ToJSON+    CreateBackendAuthPasswordPolicyConfig+  where+  toJSON CreateBackendAuthPasswordPolicyConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("additionalConstraints" Data..=)+              Prelude.<$> additionalConstraints,+            Prelude.Just+              ("minimumLength" Data..= minimumLength)+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/CreateBackendAuthResourceConfig.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.CreateBackendAuthResourceConfig+-- 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.AmplifyBackend.Types.CreateBackendAuthResourceConfig where++import Amazonka.AmplifyBackend.Types.AuthResources+import Amazonka.AmplifyBackend.Types.CreateBackendAuthIdentityPoolConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthUserPoolConfig+import Amazonka.AmplifyBackend.Types.Service+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++-- | Defines the resource configuration when creating an auth resource in+-- your Amplify project.+--+-- /See:/ 'newCreateBackendAuthResourceConfig' smart constructor.+data CreateBackendAuthResourceConfig = CreateBackendAuthResourceConfig'+  { -- | Describes the authorization configuration for the Amazon Cognito+    -- identity pool, provisioned as a part of your auth resource in the+    -- Amplify project.+    identityPoolConfigs :: Prelude.Maybe CreateBackendAuthIdentityPoolConfig,+    -- | Defines whether you want to configure only authentication or both+    -- authentication and authorization settings.+    authResources :: AuthResources,+    -- | Describes authentication configuration for the Amazon Cognito user pool,+    -- provisioned as a part of your auth resource in the Amplify project.+    userPoolConfigs :: CreateBackendAuthUserPoolConfig,+    -- | Defines the service name to use when configuring an authentication+    -- resource in your Amplify project.+    service :: Service+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendAuthResourceConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityPoolConfigs', 'createBackendAuthResourceConfig_identityPoolConfigs' - Describes the authorization configuration for the Amazon Cognito+-- identity pool, provisioned as a part of your auth resource in the+-- Amplify project.+--+-- 'authResources', 'createBackendAuthResourceConfig_authResources' - Defines whether you want to configure only authentication or both+-- authentication and authorization settings.+--+-- 'userPoolConfigs', 'createBackendAuthResourceConfig_userPoolConfigs' - Describes authentication configuration for the Amazon Cognito user pool,+-- provisioned as a part of your auth resource in the Amplify project.+--+-- 'service', 'createBackendAuthResourceConfig_service' - Defines the service name to use when configuring an authentication+-- resource in your Amplify project.+newCreateBackendAuthResourceConfig ::+  -- | 'authResources'+  AuthResources ->+  -- | 'userPoolConfigs'+  CreateBackendAuthUserPoolConfig ->+  -- | 'service'+  Service ->+  CreateBackendAuthResourceConfig+newCreateBackendAuthResourceConfig+  pAuthResources_+  pUserPoolConfigs_+  pService_ =+    CreateBackendAuthResourceConfig'+      { identityPoolConfigs =+          Prelude.Nothing,+        authResources = pAuthResources_,+        userPoolConfigs = pUserPoolConfigs_,+        service = pService_+      }++-- | Describes the authorization configuration for the Amazon Cognito+-- identity pool, provisioned as a part of your auth resource in the+-- Amplify project.+createBackendAuthResourceConfig_identityPoolConfigs :: Lens.Lens' CreateBackendAuthResourceConfig (Prelude.Maybe CreateBackendAuthIdentityPoolConfig)+createBackendAuthResourceConfig_identityPoolConfigs = Lens.lens (\CreateBackendAuthResourceConfig' {identityPoolConfigs} -> identityPoolConfigs) (\s@CreateBackendAuthResourceConfig' {} a -> s {identityPoolConfigs = a} :: CreateBackendAuthResourceConfig)++-- | Defines whether you want to configure only authentication or both+-- authentication and authorization settings.+createBackendAuthResourceConfig_authResources :: Lens.Lens' CreateBackendAuthResourceConfig AuthResources+createBackendAuthResourceConfig_authResources = Lens.lens (\CreateBackendAuthResourceConfig' {authResources} -> authResources) (\s@CreateBackendAuthResourceConfig' {} a -> s {authResources = a} :: CreateBackendAuthResourceConfig)++-- | Describes authentication configuration for the Amazon Cognito user pool,+-- provisioned as a part of your auth resource in the Amplify project.+createBackendAuthResourceConfig_userPoolConfigs :: Lens.Lens' CreateBackendAuthResourceConfig CreateBackendAuthUserPoolConfig+createBackendAuthResourceConfig_userPoolConfigs = Lens.lens (\CreateBackendAuthResourceConfig' {userPoolConfigs} -> userPoolConfigs) (\s@CreateBackendAuthResourceConfig' {} a -> s {userPoolConfigs = a} :: CreateBackendAuthResourceConfig)++-- | Defines the service name to use when configuring an authentication+-- resource in your Amplify project.+createBackendAuthResourceConfig_service :: Lens.Lens' CreateBackendAuthResourceConfig Service+createBackendAuthResourceConfig_service = Lens.lens (\CreateBackendAuthResourceConfig' {service} -> service) (\s@CreateBackendAuthResourceConfig' {} a -> s {service = a} :: CreateBackendAuthResourceConfig)++instance+  Data.FromJSON+    CreateBackendAuthResourceConfig+  where+  parseJSON =+    Data.withObject+      "CreateBackendAuthResourceConfig"+      ( \x ->+          CreateBackendAuthResourceConfig'+            Prelude.<$> (x Data..:? "identityPoolConfigs")+            Prelude.<*> (x Data..: "authResources")+            Prelude.<*> (x Data..: "userPoolConfigs")+            Prelude.<*> (x Data..: "service")+      )++instance+  Prelude.Hashable+    CreateBackendAuthResourceConfig+  where+  hashWithSalt+    _salt+    CreateBackendAuthResourceConfig' {..} =+      _salt+        `Prelude.hashWithSalt` identityPoolConfigs+        `Prelude.hashWithSalt` authResources+        `Prelude.hashWithSalt` userPoolConfigs+        `Prelude.hashWithSalt` service++instance+  Prelude.NFData+    CreateBackendAuthResourceConfig+  where+  rnf CreateBackendAuthResourceConfig' {..} =+    Prelude.rnf identityPoolConfigs+      `Prelude.seq` Prelude.rnf authResources+      `Prelude.seq` Prelude.rnf userPoolConfigs+      `Prelude.seq` Prelude.rnf service++instance Data.ToJSON CreateBackendAuthResourceConfig where+  toJSON CreateBackendAuthResourceConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("identityPoolConfigs" Data..=)+              Prelude.<$> identityPoolConfigs,+            Prelude.Just ("authResources" Data..= authResources),+            Prelude.Just+              ("userPoolConfigs" Data..= userPoolConfigs),+            Prelude.Just ("service" Data..= service)+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/CreateBackendAuthUserPoolConfig.hs view
@@ -0,0 +1,227 @@+{-# 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.AmplifyBackend.Types.CreateBackendAuthUserPoolConfig+-- 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.AmplifyBackend.Types.CreateBackendAuthUserPoolConfig where++import Amazonka.AmplifyBackend.Types.CreateBackendAuthForgotPasswordConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthMFAConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthOAuthConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthPasswordPolicyConfig+import Amazonka.AmplifyBackend.Types.CreateBackendAuthVerificationMessageConfig+import Amazonka.AmplifyBackend.Types.RequiredSignUpAttributesElement+import Amazonka.AmplifyBackend.Types.SignInMethod+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++-- | Describes the Amazon Cognito user pool configuration for the auth+-- resource to be configured for your Amplify project.+--+-- /See:/ 'newCreateBackendAuthUserPoolConfig' smart constructor.+data CreateBackendAuthUserPoolConfig = CreateBackendAuthUserPoolConfig'+  { -- | __(DEPRECATED)__ Describes the forgotten password policy for your Amazon+    -- Cognito user pool, configured as a part of your Amplify project.+    forgotPassword :: Prelude.Maybe CreateBackendAuthForgotPasswordConfig,+    -- | Describes whether to apply multi-factor authentication policies for your+    -- Amazon Cognito user pool configured as a part of your Amplify project.+    mfa :: Prelude.Maybe CreateBackendAuthMFAConfig,+    -- | Describes the OAuth policy and rules for your Amazon Cognito user pool,+    -- configured as a part of your Amplify project.+    oAuth :: Prelude.Maybe CreateBackendAuthOAuthConfig,+    -- | Describes the password policy for your Amazon Cognito user pool,+    -- configured as a part of your Amplify project.+    passwordPolicy :: Prelude.Maybe CreateBackendAuthPasswordPolicyConfig,+    -- | Describes the email or SMS verification message for your Amazon Cognito+    -- user pool, configured as a part of your Amplify project.+    verificationMessage :: Prelude.Maybe CreateBackendAuthVerificationMessageConfig,+    -- | The required attributes to sign up new users in the user pool.+    requiredSignUpAttributes :: [RequiredSignUpAttributesElement],+    -- | Describes the sign-in methods that your Amplify app users use to log in+    -- using the Amazon Cognito user pool, configured as a part of your Amplify+    -- project.+    signInMethod :: SignInMethod,+    -- | The Amazon Cognito user pool name.+    userPoolName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendAuthUserPoolConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forgotPassword', 'createBackendAuthUserPoolConfig_forgotPassword' - __(DEPRECATED)__ Describes the forgotten password policy for your Amazon+-- Cognito user pool, configured as a part of your Amplify project.+--+-- 'mfa', 'createBackendAuthUserPoolConfig_mfa' - Describes whether to apply multi-factor authentication policies for your+-- Amazon Cognito user pool configured as a part of your Amplify project.+--+-- 'oAuth', 'createBackendAuthUserPoolConfig_oAuth' - Describes the OAuth policy and rules for your Amazon Cognito user pool,+-- configured as a part of your Amplify project.+--+-- 'passwordPolicy', 'createBackendAuthUserPoolConfig_passwordPolicy' - Describes the password policy for your Amazon Cognito user pool,+-- configured as a part of your Amplify project.+--+-- 'verificationMessage', 'createBackendAuthUserPoolConfig_verificationMessage' - Describes the email or SMS verification message for your Amazon Cognito+-- user pool, configured as a part of your Amplify project.+--+-- 'requiredSignUpAttributes', 'createBackendAuthUserPoolConfig_requiredSignUpAttributes' - The required attributes to sign up new users in the user pool.+--+-- 'signInMethod', 'createBackendAuthUserPoolConfig_signInMethod' - Describes the sign-in methods that your Amplify app users use to log in+-- using the Amazon Cognito user pool, configured as a part of your Amplify+-- project.+--+-- 'userPoolName', 'createBackendAuthUserPoolConfig_userPoolName' - The Amazon Cognito user pool name.+newCreateBackendAuthUserPoolConfig ::+  -- | 'signInMethod'+  SignInMethod ->+  -- | 'userPoolName'+  Prelude.Text ->+  CreateBackendAuthUserPoolConfig+newCreateBackendAuthUserPoolConfig+  pSignInMethod_+  pUserPoolName_ =+    CreateBackendAuthUserPoolConfig'+      { forgotPassword =+          Prelude.Nothing,+        mfa = Prelude.Nothing,+        oAuth = Prelude.Nothing,+        passwordPolicy = Prelude.Nothing,+        verificationMessage = Prelude.Nothing,+        requiredSignUpAttributes = Prelude.mempty,+        signInMethod = pSignInMethod_,+        userPoolName = pUserPoolName_+      }++-- | __(DEPRECATED)__ Describes the forgotten password policy for your Amazon+-- Cognito user pool, configured as a part of your Amplify project.+createBackendAuthUserPoolConfig_forgotPassword :: Lens.Lens' CreateBackendAuthUserPoolConfig (Prelude.Maybe CreateBackendAuthForgotPasswordConfig)+createBackendAuthUserPoolConfig_forgotPassword = Lens.lens (\CreateBackendAuthUserPoolConfig' {forgotPassword} -> forgotPassword) (\s@CreateBackendAuthUserPoolConfig' {} a -> s {forgotPassword = a} :: CreateBackendAuthUserPoolConfig)++-- | Describes whether to apply multi-factor authentication policies for your+-- Amazon Cognito user pool configured as a part of your Amplify project.+createBackendAuthUserPoolConfig_mfa :: Lens.Lens' CreateBackendAuthUserPoolConfig (Prelude.Maybe CreateBackendAuthMFAConfig)+createBackendAuthUserPoolConfig_mfa = Lens.lens (\CreateBackendAuthUserPoolConfig' {mfa} -> mfa) (\s@CreateBackendAuthUserPoolConfig' {} a -> s {mfa = a} :: CreateBackendAuthUserPoolConfig)++-- | Describes the OAuth policy and rules for your Amazon Cognito user pool,+-- configured as a part of your Amplify project.+createBackendAuthUserPoolConfig_oAuth :: Lens.Lens' CreateBackendAuthUserPoolConfig (Prelude.Maybe CreateBackendAuthOAuthConfig)+createBackendAuthUserPoolConfig_oAuth = Lens.lens (\CreateBackendAuthUserPoolConfig' {oAuth} -> oAuth) (\s@CreateBackendAuthUserPoolConfig' {} a -> s {oAuth = a} :: CreateBackendAuthUserPoolConfig)++-- | Describes the password policy for your Amazon Cognito user pool,+-- configured as a part of your Amplify project.+createBackendAuthUserPoolConfig_passwordPolicy :: Lens.Lens' CreateBackendAuthUserPoolConfig (Prelude.Maybe CreateBackendAuthPasswordPolicyConfig)+createBackendAuthUserPoolConfig_passwordPolicy = Lens.lens (\CreateBackendAuthUserPoolConfig' {passwordPolicy} -> passwordPolicy) (\s@CreateBackendAuthUserPoolConfig' {} a -> s {passwordPolicy = a} :: CreateBackendAuthUserPoolConfig)++-- | Describes the email or SMS verification message for your Amazon Cognito+-- user pool, configured as a part of your Amplify project.+createBackendAuthUserPoolConfig_verificationMessage :: Lens.Lens' CreateBackendAuthUserPoolConfig (Prelude.Maybe CreateBackendAuthVerificationMessageConfig)+createBackendAuthUserPoolConfig_verificationMessage = Lens.lens (\CreateBackendAuthUserPoolConfig' {verificationMessage} -> verificationMessage) (\s@CreateBackendAuthUserPoolConfig' {} a -> s {verificationMessage = a} :: CreateBackendAuthUserPoolConfig)++-- | The required attributes to sign up new users in the user pool.+createBackendAuthUserPoolConfig_requiredSignUpAttributes :: Lens.Lens' CreateBackendAuthUserPoolConfig [RequiredSignUpAttributesElement]+createBackendAuthUserPoolConfig_requiredSignUpAttributes = Lens.lens (\CreateBackendAuthUserPoolConfig' {requiredSignUpAttributes} -> requiredSignUpAttributes) (\s@CreateBackendAuthUserPoolConfig' {} a -> s {requiredSignUpAttributes = a} :: CreateBackendAuthUserPoolConfig) Prelude.. Lens.coerced++-- | Describes the sign-in methods that your Amplify app users use to log in+-- using the Amazon Cognito user pool, configured as a part of your Amplify+-- project.+createBackendAuthUserPoolConfig_signInMethod :: Lens.Lens' CreateBackendAuthUserPoolConfig SignInMethod+createBackendAuthUserPoolConfig_signInMethod = Lens.lens (\CreateBackendAuthUserPoolConfig' {signInMethod} -> signInMethod) (\s@CreateBackendAuthUserPoolConfig' {} a -> s {signInMethod = a} :: CreateBackendAuthUserPoolConfig)++-- | The Amazon Cognito user pool name.+createBackendAuthUserPoolConfig_userPoolName :: Lens.Lens' CreateBackendAuthUserPoolConfig Prelude.Text+createBackendAuthUserPoolConfig_userPoolName = Lens.lens (\CreateBackendAuthUserPoolConfig' {userPoolName} -> userPoolName) (\s@CreateBackendAuthUserPoolConfig' {} a -> s {userPoolName = a} :: CreateBackendAuthUserPoolConfig)++instance+  Data.FromJSON+    CreateBackendAuthUserPoolConfig+  where+  parseJSON =+    Data.withObject+      "CreateBackendAuthUserPoolConfig"+      ( \x ->+          CreateBackendAuthUserPoolConfig'+            Prelude.<$> (x Data..:? "forgotPassword")+            Prelude.<*> (x Data..:? "mfa")+            Prelude.<*> (x Data..:? "oAuth")+            Prelude.<*> (x Data..:? "passwordPolicy")+            Prelude.<*> (x Data..:? "verificationMessage")+            Prelude.<*> ( x+                            Data..:? "requiredSignUpAttributes"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "signInMethod")+            Prelude.<*> (x Data..: "userPoolName")+      )++instance+  Prelude.Hashable+    CreateBackendAuthUserPoolConfig+  where+  hashWithSalt+    _salt+    CreateBackendAuthUserPoolConfig' {..} =+      _salt+        `Prelude.hashWithSalt` forgotPassword+        `Prelude.hashWithSalt` mfa+        `Prelude.hashWithSalt` oAuth+        `Prelude.hashWithSalt` passwordPolicy+        `Prelude.hashWithSalt` verificationMessage+        `Prelude.hashWithSalt` requiredSignUpAttributes+        `Prelude.hashWithSalt` signInMethod+        `Prelude.hashWithSalt` userPoolName++instance+  Prelude.NFData+    CreateBackendAuthUserPoolConfig+  where+  rnf CreateBackendAuthUserPoolConfig' {..} =+    Prelude.rnf forgotPassword+      `Prelude.seq` Prelude.rnf mfa+      `Prelude.seq` Prelude.rnf oAuth+      `Prelude.seq` Prelude.rnf passwordPolicy+      `Prelude.seq` Prelude.rnf verificationMessage+      `Prelude.seq` Prelude.rnf requiredSignUpAttributes+      `Prelude.seq` Prelude.rnf signInMethod+      `Prelude.seq` Prelude.rnf userPoolName++instance Data.ToJSON CreateBackendAuthUserPoolConfig where+  toJSON CreateBackendAuthUserPoolConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("forgotPassword" Data..=)+              Prelude.<$> forgotPassword,+            ("mfa" Data..=) Prelude.<$> mfa,+            ("oAuth" Data..=) Prelude.<$> oAuth,+            ("passwordPolicy" Data..=)+              Prelude.<$> passwordPolicy,+            ("verificationMessage" Data..=)+              Prelude.<$> verificationMessage,+            Prelude.Just+              ( "requiredSignUpAttributes"+                  Data..= requiredSignUpAttributes+              ),+            Prelude.Just ("signInMethod" Data..= signInMethod),+            Prelude.Just ("userPoolName" Data..= userPoolName)+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/CreateBackendAuthVerificationMessageConfig.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.CreateBackendAuthVerificationMessageConfig+-- 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.AmplifyBackend.Types.CreateBackendAuthVerificationMessageConfig where++import Amazonka.AmplifyBackend.Types.DeliveryMethod+import Amazonka.AmplifyBackend.Types.EmailSettings+import Amazonka.AmplifyBackend.Types.SmsSettings+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++-- | Creates an email or SMS verification message for the auth resource+-- configured for your Amplify project.+--+-- /See:/ 'newCreateBackendAuthVerificationMessageConfig' smart constructor.+data CreateBackendAuthVerificationMessageConfig = CreateBackendAuthVerificationMessageConfig'+  { -- | The settings for the email message.+    emailSettings :: Prelude.Maybe EmailSettings,+    -- | The settings for the SMS message.+    smsSettings :: Prelude.Maybe SmsSettings,+    -- | The type of verification message to send.+    deliveryMethod :: DeliveryMethod+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendAuthVerificationMessageConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'emailSettings', 'createBackendAuthVerificationMessageConfig_emailSettings' - The settings for the email message.+--+-- 'smsSettings', 'createBackendAuthVerificationMessageConfig_smsSettings' - The settings for the SMS message.+--+-- 'deliveryMethod', 'createBackendAuthVerificationMessageConfig_deliveryMethod' - The type of verification message to send.+newCreateBackendAuthVerificationMessageConfig ::+  -- | 'deliveryMethod'+  DeliveryMethod ->+  CreateBackendAuthVerificationMessageConfig+newCreateBackendAuthVerificationMessageConfig+  pDeliveryMethod_ =+    CreateBackendAuthVerificationMessageConfig'+      { emailSettings =+          Prelude.Nothing,+        smsSettings = Prelude.Nothing,+        deliveryMethod =+          pDeliveryMethod_+      }++-- | The settings for the email message.+createBackendAuthVerificationMessageConfig_emailSettings :: Lens.Lens' CreateBackendAuthVerificationMessageConfig (Prelude.Maybe EmailSettings)+createBackendAuthVerificationMessageConfig_emailSettings = Lens.lens (\CreateBackendAuthVerificationMessageConfig' {emailSettings} -> emailSettings) (\s@CreateBackendAuthVerificationMessageConfig' {} a -> s {emailSettings = a} :: CreateBackendAuthVerificationMessageConfig)++-- | The settings for the SMS message.+createBackendAuthVerificationMessageConfig_smsSettings :: Lens.Lens' CreateBackendAuthVerificationMessageConfig (Prelude.Maybe SmsSettings)+createBackendAuthVerificationMessageConfig_smsSettings = Lens.lens (\CreateBackendAuthVerificationMessageConfig' {smsSettings} -> smsSettings) (\s@CreateBackendAuthVerificationMessageConfig' {} a -> s {smsSettings = a} :: CreateBackendAuthVerificationMessageConfig)++-- | The type of verification message to send.+createBackendAuthVerificationMessageConfig_deliveryMethod :: Lens.Lens' CreateBackendAuthVerificationMessageConfig DeliveryMethod+createBackendAuthVerificationMessageConfig_deliveryMethod = Lens.lens (\CreateBackendAuthVerificationMessageConfig' {deliveryMethod} -> deliveryMethod) (\s@CreateBackendAuthVerificationMessageConfig' {} a -> s {deliveryMethod = a} :: CreateBackendAuthVerificationMessageConfig)++instance+  Data.FromJSON+    CreateBackendAuthVerificationMessageConfig+  where+  parseJSON =+    Data.withObject+      "CreateBackendAuthVerificationMessageConfig"+      ( \x ->+          CreateBackendAuthVerificationMessageConfig'+            Prelude.<$> (x Data..:? "emailSettings")+            Prelude.<*> (x Data..:? "smsSettings")+            Prelude.<*> (x Data..: "deliveryMethod")+      )++instance+  Prelude.Hashable+    CreateBackendAuthVerificationMessageConfig+  where+  hashWithSalt+    _salt+    CreateBackendAuthVerificationMessageConfig' {..} =+      _salt+        `Prelude.hashWithSalt` emailSettings+        `Prelude.hashWithSalt` smsSettings+        `Prelude.hashWithSalt` deliveryMethod++instance+  Prelude.NFData+    CreateBackendAuthVerificationMessageConfig+  where+  rnf CreateBackendAuthVerificationMessageConfig' {..} =+    Prelude.rnf emailSettings+      `Prelude.seq` Prelude.rnf smsSettings+      `Prelude.seq` Prelude.rnf deliveryMethod++instance+  Data.ToJSON+    CreateBackendAuthVerificationMessageConfig+  where+  toJSON+    CreateBackendAuthVerificationMessageConfig' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("emailSettings" Data..=) Prelude.<$> emailSettings,+              ("smsSettings" Data..=) Prelude.<$> smsSettings,+              Prelude.Just+                ("deliveryMethod" Data..= deliveryMethod)+            ]+        )
+ gen/Amazonka/AmplifyBackend/Types/CreateBackendStorageResourceConfig.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.CreateBackendStorageResourceConfig+-- 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.AmplifyBackend.Types.CreateBackendStorageResourceConfig where++import Amazonka.AmplifyBackend.Types.BackendStoragePermissions+import Amazonka.AmplifyBackend.Types.ServiceName+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 resource configuration for creating backend storage.+--+-- /See:/ 'newCreateBackendStorageResourceConfig' smart constructor.+data CreateBackendStorageResourceConfig = CreateBackendStorageResourceConfig'+  { -- | The name of the S3 bucket.+    bucketName :: Prelude.Maybe Prelude.Text,+    -- | The name of the storage service.+    serviceName :: ServiceName,+    -- | The authorization configuration for the storage S3 bucket.+    permissions :: BackendStoragePermissions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBackendStorageResourceConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketName', 'createBackendStorageResourceConfig_bucketName' - The name of the S3 bucket.+--+-- 'serviceName', 'createBackendStorageResourceConfig_serviceName' - The name of the storage service.+--+-- 'permissions', 'createBackendStorageResourceConfig_permissions' - The authorization configuration for the storage S3 bucket.+newCreateBackendStorageResourceConfig ::+  -- | 'serviceName'+  ServiceName ->+  -- | 'permissions'+  BackendStoragePermissions ->+  CreateBackendStorageResourceConfig+newCreateBackendStorageResourceConfig+  pServiceName_+  pPermissions_ =+    CreateBackendStorageResourceConfig'+      { bucketName =+          Prelude.Nothing,+        serviceName = pServiceName_,+        permissions = pPermissions_+      }++-- | The name of the S3 bucket.+createBackendStorageResourceConfig_bucketName :: Lens.Lens' CreateBackendStorageResourceConfig (Prelude.Maybe Prelude.Text)+createBackendStorageResourceConfig_bucketName = Lens.lens (\CreateBackendStorageResourceConfig' {bucketName} -> bucketName) (\s@CreateBackendStorageResourceConfig' {} a -> s {bucketName = a} :: CreateBackendStorageResourceConfig)++-- | The name of the storage service.+createBackendStorageResourceConfig_serviceName :: Lens.Lens' CreateBackendStorageResourceConfig ServiceName+createBackendStorageResourceConfig_serviceName = Lens.lens (\CreateBackendStorageResourceConfig' {serviceName} -> serviceName) (\s@CreateBackendStorageResourceConfig' {} a -> s {serviceName = a} :: CreateBackendStorageResourceConfig)++-- | The authorization configuration for the storage S3 bucket.+createBackendStorageResourceConfig_permissions :: Lens.Lens' CreateBackendStorageResourceConfig BackendStoragePermissions+createBackendStorageResourceConfig_permissions = Lens.lens (\CreateBackendStorageResourceConfig' {permissions} -> permissions) (\s@CreateBackendStorageResourceConfig' {} a -> s {permissions = a} :: CreateBackendStorageResourceConfig)++instance+  Prelude.Hashable+    CreateBackendStorageResourceConfig+  where+  hashWithSalt+    _salt+    CreateBackendStorageResourceConfig' {..} =+      _salt+        `Prelude.hashWithSalt` bucketName+        `Prelude.hashWithSalt` serviceName+        `Prelude.hashWithSalt` permissions++instance+  Prelude.NFData+    CreateBackendStorageResourceConfig+  where+  rnf CreateBackendStorageResourceConfig' {..} =+    Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf serviceName+      `Prelude.seq` Prelude.rnf permissions++instance+  Data.ToJSON+    CreateBackendStorageResourceConfig+  where+  toJSON CreateBackendStorageResourceConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("bucketName" Data..=) Prelude.<$> bucketName,+            Prelude.Just ("serviceName" Data..= serviceName),+            Prelude.Just ("permissions" Data..= permissions)+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/DeliveryMethod.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.AmplifyBackend.Types.DeliveryMethod+-- 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.AmplifyBackend.Types.DeliveryMethod+  ( DeliveryMethod+      ( ..,+        DeliveryMethod_EMAIL,+        DeliveryMethod_SMS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of verification message to send.+newtype DeliveryMethod = DeliveryMethod'+  { fromDeliveryMethod ::+      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 DeliveryMethod_EMAIL :: DeliveryMethod+pattern DeliveryMethod_EMAIL = DeliveryMethod' "EMAIL"++pattern DeliveryMethod_SMS :: DeliveryMethod+pattern DeliveryMethod_SMS = DeliveryMethod' "SMS"++{-# COMPLETE+  DeliveryMethod_EMAIL,+  DeliveryMethod_SMS,+  DeliveryMethod'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/EmailSettings.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.AmplifyBackend.Types.EmailSettings+-- 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.AmplifyBackend.Types.EmailSettings 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 configuration for the email sent when an app user forgets their+-- password.+--+-- /See:/ 'newEmailSettings' smart constructor.+data EmailSettings = EmailSettings'+  { -- | The contents of the email message.+    emailMessage :: Prelude.Maybe Prelude.Text,+    -- | The contents of the subject line of the email message.+    emailSubject :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EmailSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'emailMessage', 'emailSettings_emailMessage' - The contents of the email message.+--+-- 'emailSubject', 'emailSettings_emailSubject' - The contents of the subject line of the email message.+newEmailSettings ::+  EmailSettings+newEmailSettings =+  EmailSettings'+    { emailMessage = Prelude.Nothing,+      emailSubject = Prelude.Nothing+    }++-- | The contents of the email message.+emailSettings_emailMessage :: Lens.Lens' EmailSettings (Prelude.Maybe Prelude.Text)+emailSettings_emailMessage = Lens.lens (\EmailSettings' {emailMessage} -> emailMessage) (\s@EmailSettings' {} a -> s {emailMessage = a} :: EmailSettings)++-- | The contents of the subject line of the email message.+emailSettings_emailSubject :: Lens.Lens' EmailSettings (Prelude.Maybe Prelude.Text)+emailSettings_emailSubject = Lens.lens (\EmailSettings' {emailSubject} -> emailSubject) (\s@EmailSettings' {} a -> s {emailSubject = a} :: EmailSettings)++instance Data.FromJSON EmailSettings where+  parseJSON =+    Data.withObject+      "EmailSettings"+      ( \x ->+          EmailSettings'+            Prelude.<$> (x Data..:? "emailMessage")+            Prelude.<*> (x Data..:? "emailSubject")+      )++instance Prelude.Hashable EmailSettings where+  hashWithSalt _salt EmailSettings' {..} =+    _salt+      `Prelude.hashWithSalt` emailMessage+      `Prelude.hashWithSalt` emailSubject++instance Prelude.NFData EmailSettings where+  rnf EmailSettings' {..} =+    Prelude.rnf emailMessage+      `Prelude.seq` Prelude.rnf emailSubject++instance Data.ToJSON EmailSettings where+  toJSON EmailSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("emailMessage" Data..=) Prelude.<$> emailMessage,+            ("emailSubject" Data..=) Prelude.<$> emailSubject+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/GetBackendStorageResourceConfig.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.GetBackendStorageResourceConfig+-- 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.AmplifyBackend.Types.GetBackendStorageResourceConfig where++import Amazonka.AmplifyBackend.Types.BackendStoragePermissions+import Amazonka.AmplifyBackend.Types.ServiceName+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 details for a backend storage resource.+--+-- /See:/ 'newGetBackendStorageResourceConfig' smart constructor.+data GetBackendStorageResourceConfig = GetBackendStorageResourceConfig'+  { -- | The name of the S3 bucket.+    bucketName :: Prelude.Maybe Prelude.Text,+    -- | The authorization configuration for the storage S3 bucket.+    permissions :: Prelude.Maybe BackendStoragePermissions,+    -- | The name of the storage service.+    serviceName :: ServiceName,+    -- | Returns True if the storage resource has been imported.+    imported :: Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBackendStorageResourceConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketName', 'getBackendStorageResourceConfig_bucketName' - The name of the S3 bucket.+--+-- 'permissions', 'getBackendStorageResourceConfig_permissions' - The authorization configuration for the storage S3 bucket.+--+-- 'serviceName', 'getBackendStorageResourceConfig_serviceName' - The name of the storage service.+--+-- 'imported', 'getBackendStorageResourceConfig_imported' - Returns True if the storage resource has been imported.+newGetBackendStorageResourceConfig ::+  -- | 'serviceName'+  ServiceName ->+  -- | 'imported'+  Prelude.Bool ->+  GetBackendStorageResourceConfig+newGetBackendStorageResourceConfig+  pServiceName_+  pImported_ =+    GetBackendStorageResourceConfig'+      { bucketName =+          Prelude.Nothing,+        permissions = Prelude.Nothing,+        serviceName = pServiceName_,+        imported = pImported_+      }++-- | The name of the S3 bucket.+getBackendStorageResourceConfig_bucketName :: Lens.Lens' GetBackendStorageResourceConfig (Prelude.Maybe Prelude.Text)+getBackendStorageResourceConfig_bucketName = Lens.lens (\GetBackendStorageResourceConfig' {bucketName} -> bucketName) (\s@GetBackendStorageResourceConfig' {} a -> s {bucketName = a} :: GetBackendStorageResourceConfig)++-- | The authorization configuration for the storage S3 bucket.+getBackendStorageResourceConfig_permissions :: Lens.Lens' GetBackendStorageResourceConfig (Prelude.Maybe BackendStoragePermissions)+getBackendStorageResourceConfig_permissions = Lens.lens (\GetBackendStorageResourceConfig' {permissions} -> permissions) (\s@GetBackendStorageResourceConfig' {} a -> s {permissions = a} :: GetBackendStorageResourceConfig)++-- | The name of the storage service.+getBackendStorageResourceConfig_serviceName :: Lens.Lens' GetBackendStorageResourceConfig ServiceName+getBackendStorageResourceConfig_serviceName = Lens.lens (\GetBackendStorageResourceConfig' {serviceName} -> serviceName) (\s@GetBackendStorageResourceConfig' {} a -> s {serviceName = a} :: GetBackendStorageResourceConfig)++-- | Returns True if the storage resource has been imported.+getBackendStorageResourceConfig_imported :: Lens.Lens' GetBackendStorageResourceConfig Prelude.Bool+getBackendStorageResourceConfig_imported = Lens.lens (\GetBackendStorageResourceConfig' {imported} -> imported) (\s@GetBackendStorageResourceConfig' {} a -> s {imported = a} :: GetBackendStorageResourceConfig)++instance+  Data.FromJSON+    GetBackendStorageResourceConfig+  where+  parseJSON =+    Data.withObject+      "GetBackendStorageResourceConfig"+      ( \x ->+          GetBackendStorageResourceConfig'+            Prelude.<$> (x Data..:? "bucketName")+            Prelude.<*> (x Data..:? "permissions")+            Prelude.<*> (x Data..: "serviceName")+            Prelude.<*> (x Data..: "imported")+      )++instance+  Prelude.Hashable+    GetBackendStorageResourceConfig+  where+  hashWithSalt+    _salt+    GetBackendStorageResourceConfig' {..} =+      _salt+        `Prelude.hashWithSalt` bucketName+        `Prelude.hashWithSalt` permissions+        `Prelude.hashWithSalt` serviceName+        `Prelude.hashWithSalt` imported++instance+  Prelude.NFData+    GetBackendStorageResourceConfig+  where+  rnf GetBackendStorageResourceConfig' {..} =+    Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf permissions+      `Prelude.seq` Prelude.rnf serviceName+      `Prelude.seq` Prelude.rnf imported
+ gen/Amazonka/AmplifyBackend/Types/LoginAuthConfigReqObj.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.AmplifyBackend.Types.LoginAuthConfigReqObj+-- 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.AmplifyBackend.Types.LoginAuthConfigReqObj 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 request object for this operation.+--+-- /See:/ 'newLoginAuthConfigReqObj' smart constructor.+data LoginAuthConfigReqObj = LoginAuthConfigReqObj'+  { -- | The Amazon Cognito identity pool ID used for the Amplify Admin UI login+    -- authorization.+    awsCognitoIdentityPoolId :: Prelude.Maybe Prelude.Text,+    -- | The AWS Region for the Amplify Admin UI login.+    awsCognitoRegion :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Cognito user pool ID used for Amplify Admin UI login+    -- authentication.+    awsUserPoolsId :: Prelude.Maybe Prelude.Text,+    -- | The web client ID for the Amazon Cognito user pools.+    awsUserPoolsWebClientId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoginAuthConfigReqObj' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsCognitoIdentityPoolId', 'loginAuthConfigReqObj_awsCognitoIdentityPoolId' - The Amazon Cognito identity pool ID used for the Amplify Admin UI login+-- authorization.+--+-- 'awsCognitoRegion', 'loginAuthConfigReqObj_awsCognitoRegion' - The AWS Region for the Amplify Admin UI login.+--+-- 'awsUserPoolsId', 'loginAuthConfigReqObj_awsUserPoolsId' - The Amazon Cognito user pool ID used for Amplify Admin UI login+-- authentication.+--+-- 'awsUserPoolsWebClientId', 'loginAuthConfigReqObj_awsUserPoolsWebClientId' - The web client ID for the Amazon Cognito user pools.+newLoginAuthConfigReqObj ::+  LoginAuthConfigReqObj+newLoginAuthConfigReqObj =+  LoginAuthConfigReqObj'+    { awsCognitoIdentityPoolId =+        Prelude.Nothing,+      awsCognitoRegion = Prelude.Nothing,+      awsUserPoolsId = Prelude.Nothing,+      awsUserPoolsWebClientId = Prelude.Nothing+    }++-- | The Amazon Cognito identity pool ID used for the Amplify Admin UI login+-- authorization.+loginAuthConfigReqObj_awsCognitoIdentityPoolId :: Lens.Lens' LoginAuthConfigReqObj (Prelude.Maybe Prelude.Text)+loginAuthConfigReqObj_awsCognitoIdentityPoolId = Lens.lens (\LoginAuthConfigReqObj' {awsCognitoIdentityPoolId} -> awsCognitoIdentityPoolId) (\s@LoginAuthConfigReqObj' {} a -> s {awsCognitoIdentityPoolId = a} :: LoginAuthConfigReqObj)++-- | The AWS Region for the Amplify Admin UI login.+loginAuthConfigReqObj_awsCognitoRegion :: Lens.Lens' LoginAuthConfigReqObj (Prelude.Maybe Prelude.Text)+loginAuthConfigReqObj_awsCognitoRegion = Lens.lens (\LoginAuthConfigReqObj' {awsCognitoRegion} -> awsCognitoRegion) (\s@LoginAuthConfigReqObj' {} a -> s {awsCognitoRegion = a} :: LoginAuthConfigReqObj)++-- | The Amazon Cognito user pool ID used for Amplify Admin UI login+-- authentication.+loginAuthConfigReqObj_awsUserPoolsId :: Lens.Lens' LoginAuthConfigReqObj (Prelude.Maybe Prelude.Text)+loginAuthConfigReqObj_awsUserPoolsId = Lens.lens (\LoginAuthConfigReqObj' {awsUserPoolsId} -> awsUserPoolsId) (\s@LoginAuthConfigReqObj' {} a -> s {awsUserPoolsId = a} :: LoginAuthConfigReqObj)++-- | The web client ID for the Amazon Cognito user pools.+loginAuthConfigReqObj_awsUserPoolsWebClientId :: Lens.Lens' LoginAuthConfigReqObj (Prelude.Maybe Prelude.Text)+loginAuthConfigReqObj_awsUserPoolsWebClientId = Lens.lens (\LoginAuthConfigReqObj' {awsUserPoolsWebClientId} -> awsUserPoolsWebClientId) (\s@LoginAuthConfigReqObj' {} a -> s {awsUserPoolsWebClientId = a} :: LoginAuthConfigReqObj)++instance Data.FromJSON LoginAuthConfigReqObj where+  parseJSON =+    Data.withObject+      "LoginAuthConfigReqObj"+      ( \x ->+          LoginAuthConfigReqObj'+            Prelude.<$> (x Data..:? "aws_cognito_identity_pool_id")+            Prelude.<*> (x Data..:? "aws_cognito_region")+            Prelude.<*> (x Data..:? "aws_user_pools_id")+            Prelude.<*> (x Data..:? "aws_user_pools_web_client_id")+      )++instance Prelude.Hashable LoginAuthConfigReqObj where+  hashWithSalt _salt LoginAuthConfigReqObj' {..} =+    _salt+      `Prelude.hashWithSalt` awsCognitoIdentityPoolId+      `Prelude.hashWithSalt` awsCognitoRegion+      `Prelude.hashWithSalt` awsUserPoolsId+      `Prelude.hashWithSalt` awsUserPoolsWebClientId++instance Prelude.NFData LoginAuthConfigReqObj where+  rnf LoginAuthConfigReqObj' {..} =+    Prelude.rnf awsCognitoIdentityPoolId+      `Prelude.seq` Prelude.rnf awsCognitoRegion+      `Prelude.seq` Prelude.rnf awsUserPoolsId+      `Prelude.seq` Prelude.rnf awsUserPoolsWebClientId++instance Data.ToJSON LoginAuthConfigReqObj where+  toJSON LoginAuthConfigReqObj' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("aws_cognito_identity_pool_id" Data..=)+              Prelude.<$> awsCognitoIdentityPoolId,+            ("aws_cognito_region" Data..=)+              Prelude.<$> awsCognitoRegion,+            ("aws_user_pools_id" Data..=)+              Prelude.<$> awsUserPoolsId,+            ("aws_user_pools_web_client_id" Data..=)+              Prelude.<$> awsUserPoolsWebClientId+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/MFAMode.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.MFAMode+-- 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.AmplifyBackend.Types.MFAMode+  ( MFAMode+      ( ..,+        MFAMode_OFF,+        MFAMode_ON,+        MFAMode_OPTIONAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MFAMode = MFAMode' {fromMFAMode :: 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 MFAMode_OFF :: MFAMode+pattern MFAMode_OFF = MFAMode' "OFF"++pattern MFAMode_ON :: MFAMode+pattern MFAMode_ON = MFAMode' "ON"++pattern MFAMode_OPTIONAL :: MFAMode+pattern MFAMode_OPTIONAL = MFAMode' "OPTIONAL"++{-# COMPLETE+  MFAMode_OFF,+  MFAMode_ON,+  MFAMode_OPTIONAL,+  MFAMode'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/MfaTypesElement.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.AmplifyBackend.Types.MfaTypesElement+-- 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.AmplifyBackend.Types.MfaTypesElement+  ( MfaTypesElement+      ( ..,+        MfaTypesElement_SMS,+        MfaTypesElement_TOTP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MfaTypesElement = MfaTypesElement'+  { fromMfaTypesElement ::+      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 MfaTypesElement_SMS :: MfaTypesElement+pattern MfaTypesElement_SMS = MfaTypesElement' "SMS"++pattern MfaTypesElement_TOTP :: MfaTypesElement+pattern MfaTypesElement_TOTP = MfaTypesElement' "TOTP"++{-# COMPLETE+  MfaTypesElement_SMS,+  MfaTypesElement_TOTP,+  MfaTypesElement'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/Mode.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.Mode+-- 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.AmplifyBackend.Types.Mode+  ( Mode+      ( ..,+        Mode_AMAZON_COGNITO_USER_POOLS,+        Mode_API_KEY,+        Mode_AWS_IAM,+        Mode_OPENID_CONNECT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Mode = Mode' {fromMode :: 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 Mode_AMAZON_COGNITO_USER_POOLS :: Mode+pattern Mode_AMAZON_COGNITO_USER_POOLS = Mode' "AMAZON_COGNITO_USER_POOLS"++pattern Mode_API_KEY :: Mode+pattern Mode_API_KEY = Mode' "API_KEY"++pattern Mode_AWS_IAM :: Mode+pattern Mode_AWS_IAM = Mode' "AWS_IAM"++pattern Mode_OPENID_CONNECT :: Mode+pattern Mode_OPENID_CONNECT = Mode' "OPENID_CONNECT"++{-# COMPLETE+  Mode_AMAZON_COGNITO_USER_POOLS,+  Mode_API_KEY,+  Mode_AWS_IAM,+  Mode_OPENID_CONNECT,+  Mode'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/OAuthGrantType.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.AmplifyBackend.Types.OAuthGrantType+-- 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.AmplifyBackend.Types.OAuthGrantType+  ( OAuthGrantType+      ( ..,+        OAuthGrantType_CODE,+        OAuthGrantType_IMPLICIT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OAuthGrantType = OAuthGrantType'+  { fromOAuthGrantType ::+      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 OAuthGrantType_CODE :: OAuthGrantType+pattern OAuthGrantType_CODE = OAuthGrantType' "CODE"++pattern OAuthGrantType_IMPLICIT :: OAuthGrantType+pattern OAuthGrantType_IMPLICIT = OAuthGrantType' "IMPLICIT"++{-# COMPLETE+  OAuthGrantType_CODE,+  OAuthGrantType_IMPLICIT,+  OAuthGrantType'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/OAuthScopesElement.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.AmplifyBackend.Types.OAuthScopesElement+-- 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.AmplifyBackend.Types.OAuthScopesElement+  ( OAuthScopesElement+      ( ..,+        OAuthScopesElement_AWS_COGNITO_SIGNIN_USER_ADMIN,+        OAuthScopesElement_EMAIL,+        OAuthScopesElement_OPENID,+        OAuthScopesElement_PHONE,+        OAuthScopesElement_PROFILE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OAuthScopesElement = OAuthScopesElement'+  { fromOAuthScopesElement ::+      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 OAuthScopesElement_AWS_COGNITO_SIGNIN_USER_ADMIN :: OAuthScopesElement+pattern OAuthScopesElement_AWS_COGNITO_SIGNIN_USER_ADMIN = OAuthScopesElement' "AWS_COGNITO_SIGNIN_USER_ADMIN"++pattern OAuthScopesElement_EMAIL :: OAuthScopesElement+pattern OAuthScopesElement_EMAIL = OAuthScopesElement' "EMAIL"++pattern OAuthScopesElement_OPENID :: OAuthScopesElement+pattern OAuthScopesElement_OPENID = OAuthScopesElement' "OPENID"++pattern OAuthScopesElement_PHONE :: OAuthScopesElement+pattern OAuthScopesElement_PHONE = OAuthScopesElement' "PHONE"++pattern OAuthScopesElement_PROFILE :: OAuthScopesElement+pattern OAuthScopesElement_PROFILE = OAuthScopesElement' "PROFILE"++{-# COMPLETE+  OAuthScopesElement_AWS_COGNITO_SIGNIN_USER_ADMIN,+  OAuthScopesElement_EMAIL,+  OAuthScopesElement_OPENID,+  OAuthScopesElement_PHONE,+  OAuthScopesElement_PROFILE,+  OAuthScopesElement'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/RequiredSignUpAttributesElement.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.RequiredSignUpAttributesElement+-- 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.AmplifyBackend.Types.RequiredSignUpAttributesElement+  ( RequiredSignUpAttributesElement+      ( ..,+        RequiredSignUpAttributesElement_ADDRESS,+        RequiredSignUpAttributesElement_BIRTHDATE,+        RequiredSignUpAttributesElement_EMAIL,+        RequiredSignUpAttributesElement_FAMILY_NAME,+        RequiredSignUpAttributesElement_GENDER,+        RequiredSignUpAttributesElement_GIVEN_NAME,+        RequiredSignUpAttributesElement_LOCALE,+        RequiredSignUpAttributesElement_MIDDLE_NAME,+        RequiredSignUpAttributesElement_NAME,+        RequiredSignUpAttributesElement_NICKNAME,+        RequiredSignUpAttributesElement_PHONE_NUMBER,+        RequiredSignUpAttributesElement_PICTURE,+        RequiredSignUpAttributesElement_PREFERRED_USERNAME,+        RequiredSignUpAttributesElement_PROFILE,+        RequiredSignUpAttributesElement_UPDATED_AT,+        RequiredSignUpAttributesElement_WEBSITE,+        RequiredSignUpAttributesElement_ZONE_INFO+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RequiredSignUpAttributesElement = RequiredSignUpAttributesElement'+  { fromRequiredSignUpAttributesElement ::+      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 RequiredSignUpAttributesElement_ADDRESS :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_ADDRESS = RequiredSignUpAttributesElement' "ADDRESS"++pattern RequiredSignUpAttributesElement_BIRTHDATE :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_BIRTHDATE = RequiredSignUpAttributesElement' "BIRTHDATE"++pattern RequiredSignUpAttributesElement_EMAIL :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_EMAIL = RequiredSignUpAttributesElement' "EMAIL"++pattern RequiredSignUpAttributesElement_FAMILY_NAME :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_FAMILY_NAME = RequiredSignUpAttributesElement' "FAMILY_NAME"++pattern RequiredSignUpAttributesElement_GENDER :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_GENDER = RequiredSignUpAttributesElement' "GENDER"++pattern RequiredSignUpAttributesElement_GIVEN_NAME :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_GIVEN_NAME = RequiredSignUpAttributesElement' "GIVEN_NAME"++pattern RequiredSignUpAttributesElement_LOCALE :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_LOCALE = RequiredSignUpAttributesElement' "LOCALE"++pattern RequiredSignUpAttributesElement_MIDDLE_NAME :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_MIDDLE_NAME = RequiredSignUpAttributesElement' "MIDDLE_NAME"++pattern RequiredSignUpAttributesElement_NAME :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_NAME = RequiredSignUpAttributesElement' "NAME"++pattern RequiredSignUpAttributesElement_NICKNAME :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_NICKNAME = RequiredSignUpAttributesElement' "NICKNAME"++pattern RequiredSignUpAttributesElement_PHONE_NUMBER :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_PHONE_NUMBER = RequiredSignUpAttributesElement' "PHONE_NUMBER"++pattern RequiredSignUpAttributesElement_PICTURE :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_PICTURE = RequiredSignUpAttributesElement' "PICTURE"++pattern RequiredSignUpAttributesElement_PREFERRED_USERNAME :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_PREFERRED_USERNAME = RequiredSignUpAttributesElement' "PREFERRED_USERNAME"++pattern RequiredSignUpAttributesElement_PROFILE :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_PROFILE = RequiredSignUpAttributesElement' "PROFILE"++pattern RequiredSignUpAttributesElement_UPDATED_AT :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_UPDATED_AT = RequiredSignUpAttributesElement' "UPDATED_AT"++pattern RequiredSignUpAttributesElement_WEBSITE :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_WEBSITE = RequiredSignUpAttributesElement' "WEBSITE"++pattern RequiredSignUpAttributesElement_ZONE_INFO :: RequiredSignUpAttributesElement+pattern RequiredSignUpAttributesElement_ZONE_INFO = RequiredSignUpAttributesElement' "ZONE_INFO"++{-# COMPLETE+  RequiredSignUpAttributesElement_ADDRESS,+  RequiredSignUpAttributesElement_BIRTHDATE,+  RequiredSignUpAttributesElement_EMAIL,+  RequiredSignUpAttributesElement_FAMILY_NAME,+  RequiredSignUpAttributesElement_GENDER,+  RequiredSignUpAttributesElement_GIVEN_NAME,+  RequiredSignUpAttributesElement_LOCALE,+  RequiredSignUpAttributesElement_MIDDLE_NAME,+  RequiredSignUpAttributesElement_NAME,+  RequiredSignUpAttributesElement_NICKNAME,+  RequiredSignUpAttributesElement_PHONE_NUMBER,+  RequiredSignUpAttributesElement_PICTURE,+  RequiredSignUpAttributesElement_PREFERRED_USERNAME,+  RequiredSignUpAttributesElement_PROFILE,+  RequiredSignUpAttributesElement_UPDATED_AT,+  RequiredSignUpAttributesElement_WEBSITE,+  RequiredSignUpAttributesElement_ZONE_INFO,+  RequiredSignUpAttributesElement'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/ResolutionStrategy.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.AmplifyBackend.Types.ResolutionStrategy+-- 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.AmplifyBackend.Types.ResolutionStrategy+  ( ResolutionStrategy+      ( ..,+        ResolutionStrategy_AUTOMERGE,+        ResolutionStrategy_LAMBDA,+        ResolutionStrategy_NONE,+        ResolutionStrategy_OPTIMISTIC_CONCURRENCY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResolutionStrategy = ResolutionStrategy'+  { fromResolutionStrategy ::+      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 ResolutionStrategy_AUTOMERGE :: ResolutionStrategy+pattern ResolutionStrategy_AUTOMERGE = ResolutionStrategy' "AUTOMERGE"++pattern ResolutionStrategy_LAMBDA :: ResolutionStrategy+pattern ResolutionStrategy_LAMBDA = ResolutionStrategy' "LAMBDA"++pattern ResolutionStrategy_NONE :: ResolutionStrategy+pattern ResolutionStrategy_NONE = ResolutionStrategy' "NONE"++pattern ResolutionStrategy_OPTIMISTIC_CONCURRENCY :: ResolutionStrategy+pattern ResolutionStrategy_OPTIMISTIC_CONCURRENCY = ResolutionStrategy' "OPTIMISTIC_CONCURRENCY"++{-# COMPLETE+  ResolutionStrategy_AUTOMERGE,+  ResolutionStrategy_LAMBDA,+  ResolutionStrategy_NONE,+  ResolutionStrategy_OPTIMISTIC_CONCURRENCY,+  ResolutionStrategy'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/ResourceConfig.hs view
@@ -0,0 +1,52 @@+{-# 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.AmplifyBackend.Types.ResourceConfig+-- 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.AmplifyBackend.Types.ResourceConfig 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++-- | Defines the resource configuration for the data model in your Amplify+-- project.+--+-- /See:/ 'newResourceConfig' smart constructor.+data ResourceConfig = ResourceConfig'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newResourceConfig ::+  ResourceConfig+newResourceConfig = ResourceConfig'++instance Prelude.Hashable ResourceConfig where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData ResourceConfig where+  rnf _ = ()++instance Data.ToJSON ResourceConfig where+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/AmplifyBackend/Types/S3BucketInfo.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.AmplifyBackend.Types.S3BucketInfo+-- 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.AmplifyBackend.Types.S3BucketInfo 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++-- | Describes the metadata of the S3 bucket.+--+-- /See:/ 'newS3BucketInfo' smart constructor.+data S3BucketInfo = S3BucketInfo'+  { -- | The creation date of the S3 bucket.+    creationDate :: Prelude.Maybe Prelude.Text,+    -- | The name of the S3 bucket.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3BucketInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationDate', 's3BucketInfo_creationDate' - The creation date of the S3 bucket.+--+-- 'name', 's3BucketInfo_name' - The name of the S3 bucket.+newS3BucketInfo ::+  S3BucketInfo+newS3BucketInfo =+  S3BucketInfo'+    { creationDate = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The creation date of the S3 bucket.+s3BucketInfo_creationDate :: Lens.Lens' S3BucketInfo (Prelude.Maybe Prelude.Text)+s3BucketInfo_creationDate = Lens.lens (\S3BucketInfo' {creationDate} -> creationDate) (\s@S3BucketInfo' {} a -> s {creationDate = a} :: S3BucketInfo)++-- | The name of the S3 bucket.+s3BucketInfo_name :: Lens.Lens' S3BucketInfo (Prelude.Maybe Prelude.Text)+s3BucketInfo_name = Lens.lens (\S3BucketInfo' {name} -> name) (\s@S3BucketInfo' {} a -> s {name = a} :: S3BucketInfo)++instance Data.FromJSON S3BucketInfo where+  parseJSON =+    Data.withObject+      "S3BucketInfo"+      ( \x ->+          S3BucketInfo'+            Prelude.<$> (x Data..:? "creationDate")+            Prelude.<*> (x Data..:? "name")+      )++instance Prelude.Hashable S3BucketInfo where+  hashWithSalt _salt S3BucketInfo' {..} =+    _salt+      `Prelude.hashWithSalt` creationDate+      `Prelude.hashWithSalt` name++instance Prelude.NFData S3BucketInfo where+  rnf S3BucketInfo' {..} =+    Prelude.rnf creationDate+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/AmplifyBackend/Types/Service.hs view
@@ -0,0 +1,63 @@+{-# 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.AmplifyBackend.Types.Service+-- 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.AmplifyBackend.Types.Service+  ( Service+      ( ..,+        Service_COGNITO+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Service = Service' {fromService :: 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 Service_COGNITO :: Service+pattern Service_COGNITO = Service' "COGNITO"++{-# COMPLETE+  Service_COGNITO,+  Service'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/ServiceName.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.AmplifyBackend.Types.ServiceName+-- 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.AmplifyBackend.Types.ServiceName+  ( ServiceName+      ( ..,+        ServiceName_S3+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ServiceName = ServiceName'+  { fromServiceName ::+      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 ServiceName_S3 :: ServiceName+pattern ServiceName_S3 = ServiceName' "S3"++{-# COMPLETE+  ServiceName_S3,+  ServiceName'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/Settings.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.Settings+-- 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.AmplifyBackend.Types.Settings where++import Amazonka.AmplifyBackend.Types.MfaTypesElement+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 settings of your MFA configuration for the backend of your Amplify+-- project.+--+-- /See:/ 'newSettings' smart constructor.+data Settings = Settings'+  { -- | The supported MFA types.+    mfaTypes :: Prelude.Maybe [MfaTypesElement],+    -- | The body of the SMS message.+    smsMessage :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Settings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mfaTypes', 'settings_mfaTypes' - The supported MFA types.+--+-- 'smsMessage', 'settings_smsMessage' - The body of the SMS message.+newSettings ::+  Settings+newSettings =+  Settings'+    { mfaTypes = Prelude.Nothing,+      smsMessage = Prelude.Nothing+    }++-- | The supported MFA types.+settings_mfaTypes :: Lens.Lens' Settings (Prelude.Maybe [MfaTypesElement])+settings_mfaTypes = Lens.lens (\Settings' {mfaTypes} -> mfaTypes) (\s@Settings' {} a -> s {mfaTypes = a} :: Settings) Prelude.. Lens.mapping Lens.coerced++-- | The body of the SMS message.+settings_smsMessage :: Lens.Lens' Settings (Prelude.Maybe Prelude.Text)+settings_smsMessage = Lens.lens (\Settings' {smsMessage} -> smsMessage) (\s@Settings' {} a -> s {smsMessage = a} :: Settings)++instance Data.FromJSON Settings where+  parseJSON =+    Data.withObject+      "Settings"+      ( \x ->+          Settings'+            Prelude.<$> (x Data..:? "mfaTypes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "smsMessage")+      )++instance Prelude.Hashable Settings where+  hashWithSalt _salt Settings' {..} =+    _salt+      `Prelude.hashWithSalt` mfaTypes+      `Prelude.hashWithSalt` smsMessage++instance Prelude.NFData Settings where+  rnf Settings' {..} =+    Prelude.rnf mfaTypes+      `Prelude.seq` Prelude.rnf smsMessage++instance Data.ToJSON Settings where+  toJSON Settings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("mfaTypes" Data..=) Prelude.<$> mfaTypes,+            ("smsMessage" Data..=) Prelude.<$> smsMessage+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/SignInMethod.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.AmplifyBackend.Types.SignInMethod+-- 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.AmplifyBackend.Types.SignInMethod+  ( SignInMethod+      ( ..,+        SignInMethod_EMAIL,+        SignInMethod_EMAIL_AND_PHONE_NUMBER,+        SignInMethod_PHONE_NUMBER,+        SignInMethod_USERNAME+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SignInMethod = SignInMethod'+  { fromSignInMethod ::+      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 SignInMethod_EMAIL :: SignInMethod+pattern SignInMethod_EMAIL = SignInMethod' "EMAIL"++pattern SignInMethod_EMAIL_AND_PHONE_NUMBER :: SignInMethod+pattern SignInMethod_EMAIL_AND_PHONE_NUMBER = SignInMethod' "EMAIL_AND_PHONE_NUMBER"++pattern SignInMethod_PHONE_NUMBER :: SignInMethod+pattern SignInMethod_PHONE_NUMBER = SignInMethod' "PHONE_NUMBER"++pattern SignInMethod_USERNAME :: SignInMethod+pattern SignInMethod_USERNAME = SignInMethod' "USERNAME"++{-# COMPLETE+  SignInMethod_EMAIL,+  SignInMethod_EMAIL_AND_PHONE_NUMBER,+  SignInMethod_PHONE_NUMBER,+  SignInMethod_USERNAME,+  SignInMethod'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/SmsSettings.hs view
@@ -0,0 +1,74 @@+{-# 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.AmplifyBackend.Types.SmsSettings+-- 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.AmplifyBackend.Types.SmsSettings 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++-- | SMS settings for authentication.+--+-- /See:/ 'newSmsSettings' smart constructor.+data SmsSettings = SmsSettings'+  { -- | The contents of the SMS message.+    smsMessage :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SmsSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'smsMessage', 'smsSettings_smsMessage' - The contents of the SMS message.+newSmsSettings ::+  SmsSettings+newSmsSettings =+  SmsSettings' {smsMessage = Prelude.Nothing}++-- | The contents of the SMS message.+smsSettings_smsMessage :: Lens.Lens' SmsSettings (Prelude.Maybe Prelude.Text)+smsSettings_smsMessage = Lens.lens (\SmsSettings' {smsMessage} -> smsMessage) (\s@SmsSettings' {} a -> s {smsMessage = a} :: SmsSettings)++instance Data.FromJSON SmsSettings where+  parseJSON =+    Data.withObject+      "SmsSettings"+      ( \x ->+          SmsSettings' Prelude.<$> (x Data..:? "smsMessage")+      )++instance Prelude.Hashable SmsSettings where+  hashWithSalt _salt SmsSettings' {..} =+    _salt `Prelude.hashWithSalt` smsMessage++instance Prelude.NFData SmsSettings where+  rnf SmsSettings' {..} = Prelude.rnf smsMessage++instance Data.ToJSON SmsSettings where+  toJSON SmsSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [("smsMessage" Data..=) Prelude.<$> smsMessage]+      )
+ gen/Amazonka/AmplifyBackend/Types/SocialProviderSettings.hs view
@@ -0,0 +1,120 @@+{-# 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.AmplifyBackend.Types.SocialProviderSettings+-- 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.AmplifyBackend.Types.SocialProviderSettings where++import Amazonka.AmplifyBackend.Types.BackendAuthAppleProviderConfig+import Amazonka.AmplifyBackend.Types.BackendAuthSocialProviderConfig+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 settings for using the social identity providers for access to your+-- Amplify app.+--+-- /See:/ 'newSocialProviderSettings' smart constructor.+data SocialProviderSettings = SocialProviderSettings'+  { facebook :: Prelude.Maybe BackendAuthSocialProviderConfig,+    google :: Prelude.Maybe BackendAuthSocialProviderConfig,+    loginWithAmazon :: Prelude.Maybe BackendAuthSocialProviderConfig,+    signInWithApple :: Prelude.Maybe BackendAuthAppleProviderConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SocialProviderSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'facebook', 'socialProviderSettings_facebook' - Undocumented member.+--+-- 'google', 'socialProviderSettings_google' - Undocumented member.+--+-- 'loginWithAmazon', 'socialProviderSettings_loginWithAmazon' - Undocumented member.+--+-- 'signInWithApple', 'socialProviderSettings_signInWithApple' - Undocumented member.+newSocialProviderSettings ::+  SocialProviderSettings+newSocialProviderSettings =+  SocialProviderSettings'+    { facebook = Prelude.Nothing,+      google = Prelude.Nothing,+      loginWithAmazon = Prelude.Nothing,+      signInWithApple = Prelude.Nothing+    }++-- | Undocumented member.+socialProviderSettings_facebook :: Lens.Lens' SocialProviderSettings (Prelude.Maybe BackendAuthSocialProviderConfig)+socialProviderSettings_facebook = Lens.lens (\SocialProviderSettings' {facebook} -> facebook) (\s@SocialProviderSettings' {} a -> s {facebook = a} :: SocialProviderSettings)++-- | Undocumented member.+socialProviderSettings_google :: Lens.Lens' SocialProviderSettings (Prelude.Maybe BackendAuthSocialProviderConfig)+socialProviderSettings_google = Lens.lens (\SocialProviderSettings' {google} -> google) (\s@SocialProviderSettings' {} a -> s {google = a} :: SocialProviderSettings)++-- | Undocumented member.+socialProviderSettings_loginWithAmazon :: Lens.Lens' SocialProviderSettings (Prelude.Maybe BackendAuthSocialProviderConfig)+socialProviderSettings_loginWithAmazon = Lens.lens (\SocialProviderSettings' {loginWithAmazon} -> loginWithAmazon) (\s@SocialProviderSettings' {} a -> s {loginWithAmazon = a} :: SocialProviderSettings)++-- | Undocumented member.+socialProviderSettings_signInWithApple :: Lens.Lens' SocialProviderSettings (Prelude.Maybe BackendAuthAppleProviderConfig)+socialProviderSettings_signInWithApple = Lens.lens (\SocialProviderSettings' {signInWithApple} -> signInWithApple) (\s@SocialProviderSettings' {} a -> s {signInWithApple = a} :: SocialProviderSettings)++instance Data.FromJSON SocialProviderSettings where+  parseJSON =+    Data.withObject+      "SocialProviderSettings"+      ( \x ->+          SocialProviderSettings'+            Prelude.<$> (x Data..:? "Facebook")+            Prelude.<*> (x Data..:? "Google")+            Prelude.<*> (x Data..:? "LoginWithAmazon")+            Prelude.<*> (x Data..:? "SignInWithApple")+      )++instance Prelude.Hashable SocialProviderSettings where+  hashWithSalt _salt SocialProviderSettings' {..} =+    _salt+      `Prelude.hashWithSalt` facebook+      `Prelude.hashWithSalt` google+      `Prelude.hashWithSalt` loginWithAmazon+      `Prelude.hashWithSalt` signInWithApple++instance Prelude.NFData SocialProviderSettings where+  rnf SocialProviderSettings' {..} =+    Prelude.rnf facebook+      `Prelude.seq` Prelude.rnf google+      `Prelude.seq` Prelude.rnf loginWithAmazon+      `Prelude.seq` Prelude.rnf signInWithApple++instance Data.ToJSON SocialProviderSettings where+  toJSON SocialProviderSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Facebook" Data..=) Prelude.<$> facebook,+            ("Google" Data..=) Prelude.<$> google,+            ("LoginWithAmazon" Data..=)+              Prelude.<$> loginWithAmazon,+            ("SignInWithApple" Data..=)+              Prelude.<$> signInWithApple+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/Status.hs view
@@ -0,0 +1,68 @@+{-# 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.AmplifyBackend.Types.Status+-- 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.AmplifyBackend.Types.Status+  ( Status+      ( ..,+        Status_LATEST,+        Status_STALE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Status = Status' {fromStatus :: 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 Status_LATEST :: Status+pattern Status_LATEST = Status' "LATEST"++pattern Status_STALE :: Status+pattern Status_STALE = Status' "STALE"++{-# COMPLETE+  Status_LATEST,+  Status_STALE,+  Status'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/UnAuthenticatedElement.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.AmplifyBackend.Types.UnAuthenticatedElement+-- 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.AmplifyBackend.Types.UnAuthenticatedElement+  ( UnAuthenticatedElement+      ( ..,+        UnAuthenticatedElement_CREATE_AND_UPDATE,+        UnAuthenticatedElement_DELETE,+        UnAuthenticatedElement_READ+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype UnAuthenticatedElement = UnAuthenticatedElement'+  { fromUnAuthenticatedElement ::+      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 UnAuthenticatedElement_CREATE_AND_UPDATE :: UnAuthenticatedElement+pattern UnAuthenticatedElement_CREATE_AND_UPDATE = UnAuthenticatedElement' "CREATE_AND_UPDATE"++pattern UnAuthenticatedElement_DELETE :: UnAuthenticatedElement+pattern UnAuthenticatedElement_DELETE = UnAuthenticatedElement' "DELETE"++pattern UnAuthenticatedElement_READ :: UnAuthenticatedElement+pattern UnAuthenticatedElement_READ = UnAuthenticatedElement' "READ"++{-# COMPLETE+  UnAuthenticatedElement_CREATE_AND_UPDATE,+  UnAuthenticatedElement_DELETE,+  UnAuthenticatedElement_READ,+  UnAuthenticatedElement'+  #-}
+ gen/Amazonka/AmplifyBackend/Types/UpdateBackendAuthForgotPasswordConfig.hs view
@@ -0,0 +1,121 @@+{-# 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.AmplifyBackend.Types.UpdateBackendAuthForgotPasswordConfig+-- 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.AmplifyBackend.Types.UpdateBackendAuthForgotPasswordConfig where++import Amazonka.AmplifyBackend.Types.DeliveryMethod+import Amazonka.AmplifyBackend.Types.EmailSettings+import Amazonka.AmplifyBackend.Types.SmsSettings+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++-- | __(DEPRECATED)__ Describes the forgot password policy for authenticating+-- into the Amplify app.+--+-- /See:/ 'newUpdateBackendAuthForgotPasswordConfig' smart constructor.+data UpdateBackendAuthForgotPasswordConfig = UpdateBackendAuthForgotPasswordConfig'+  { -- | __(DEPRECATED)__ Describes which mode to use (either SMS or email) to+    -- deliver messages to app users that want to recover their password.+    deliveryMethod :: Prelude.Maybe DeliveryMethod,+    -- | __(DEPRECATED)__ The configuration for the email sent when an app user+    -- forgets their password.+    emailSettings :: Prelude.Maybe EmailSettings,+    -- | __(DEPRECATED)__ The configuration for the SMS message sent when an+    -- Amplify app user forgets their password.+    smsSettings :: Prelude.Maybe SmsSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendAuthForgotPasswordConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deliveryMethod', 'updateBackendAuthForgotPasswordConfig_deliveryMethod' - __(DEPRECATED)__ Describes which mode to use (either SMS or email) to+-- deliver messages to app users that want to recover their password.+--+-- 'emailSettings', 'updateBackendAuthForgotPasswordConfig_emailSettings' - __(DEPRECATED)__ The configuration for the email sent when an app user+-- forgets their password.+--+-- 'smsSettings', 'updateBackendAuthForgotPasswordConfig_smsSettings' - __(DEPRECATED)__ The configuration for the SMS message sent when an+-- Amplify app user forgets their password.+newUpdateBackendAuthForgotPasswordConfig ::+  UpdateBackendAuthForgotPasswordConfig+newUpdateBackendAuthForgotPasswordConfig =+  UpdateBackendAuthForgotPasswordConfig'+    { deliveryMethod =+        Prelude.Nothing,+      emailSettings = Prelude.Nothing,+      smsSettings = Prelude.Nothing+    }++-- | __(DEPRECATED)__ Describes which mode to use (either SMS or email) to+-- deliver messages to app users that want to recover their password.+updateBackendAuthForgotPasswordConfig_deliveryMethod :: Lens.Lens' UpdateBackendAuthForgotPasswordConfig (Prelude.Maybe DeliveryMethod)+updateBackendAuthForgotPasswordConfig_deliveryMethod = Lens.lens (\UpdateBackendAuthForgotPasswordConfig' {deliveryMethod} -> deliveryMethod) (\s@UpdateBackendAuthForgotPasswordConfig' {} a -> s {deliveryMethod = a} :: UpdateBackendAuthForgotPasswordConfig)++-- | __(DEPRECATED)__ The configuration for the email sent when an app user+-- forgets their password.+updateBackendAuthForgotPasswordConfig_emailSettings :: Lens.Lens' UpdateBackendAuthForgotPasswordConfig (Prelude.Maybe EmailSettings)+updateBackendAuthForgotPasswordConfig_emailSettings = Lens.lens (\UpdateBackendAuthForgotPasswordConfig' {emailSettings} -> emailSettings) (\s@UpdateBackendAuthForgotPasswordConfig' {} a -> s {emailSettings = a} :: UpdateBackendAuthForgotPasswordConfig)++-- | __(DEPRECATED)__ The configuration for the SMS message sent when an+-- Amplify app user forgets their password.+updateBackendAuthForgotPasswordConfig_smsSettings :: Lens.Lens' UpdateBackendAuthForgotPasswordConfig (Prelude.Maybe SmsSettings)+updateBackendAuthForgotPasswordConfig_smsSettings = Lens.lens (\UpdateBackendAuthForgotPasswordConfig' {smsSettings} -> smsSettings) (\s@UpdateBackendAuthForgotPasswordConfig' {} a -> s {smsSettings = a} :: UpdateBackendAuthForgotPasswordConfig)++instance+  Prelude.Hashable+    UpdateBackendAuthForgotPasswordConfig+  where+  hashWithSalt+    _salt+    UpdateBackendAuthForgotPasswordConfig' {..} =+      _salt+        `Prelude.hashWithSalt` deliveryMethod+        `Prelude.hashWithSalt` emailSettings+        `Prelude.hashWithSalt` smsSettings++instance+  Prelude.NFData+    UpdateBackendAuthForgotPasswordConfig+  where+  rnf UpdateBackendAuthForgotPasswordConfig' {..} =+    Prelude.rnf deliveryMethod+      `Prelude.seq` Prelude.rnf emailSettings+      `Prelude.seq` Prelude.rnf smsSettings++instance+  Data.ToJSON+    UpdateBackendAuthForgotPasswordConfig+  where+  toJSON UpdateBackendAuthForgotPasswordConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("deliveryMethod" Data..=)+              Prelude.<$> deliveryMethod,+            ("emailSettings" Data..=) Prelude.<$> emailSettings,+            ("smsSettings" Data..=) Prelude.<$> smsSettings+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/UpdateBackendAuthIdentityPoolConfig.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.AmplifyBackend.Types.UpdateBackendAuthIdentityPoolConfig+-- 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.AmplifyBackend.Types.UpdateBackendAuthIdentityPoolConfig 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++-- | Describes the authorization configuration for the Amazon Cognito+-- identity pool, provisioned as a part of your auth resource in the+-- Amplify project.+--+-- /See:/ 'newUpdateBackendAuthIdentityPoolConfig' smart constructor.+data UpdateBackendAuthIdentityPoolConfig = UpdateBackendAuthIdentityPoolConfig'+  { -- | A boolean value that can be set to allow or disallow guest-level+    -- authorization into your Amplify app.+    unauthenticatedLogin :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendAuthIdentityPoolConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'unauthenticatedLogin', 'updateBackendAuthIdentityPoolConfig_unauthenticatedLogin' - A boolean value that can be set to allow or disallow guest-level+-- authorization into your Amplify app.+newUpdateBackendAuthIdentityPoolConfig ::+  UpdateBackendAuthIdentityPoolConfig+newUpdateBackendAuthIdentityPoolConfig =+  UpdateBackendAuthIdentityPoolConfig'+    { unauthenticatedLogin =+        Prelude.Nothing+    }++-- | A boolean value that can be set to allow or disallow guest-level+-- authorization into your Amplify app.+updateBackendAuthIdentityPoolConfig_unauthenticatedLogin :: Lens.Lens' UpdateBackendAuthIdentityPoolConfig (Prelude.Maybe Prelude.Bool)+updateBackendAuthIdentityPoolConfig_unauthenticatedLogin = Lens.lens (\UpdateBackendAuthIdentityPoolConfig' {unauthenticatedLogin} -> unauthenticatedLogin) (\s@UpdateBackendAuthIdentityPoolConfig' {} a -> s {unauthenticatedLogin = a} :: UpdateBackendAuthIdentityPoolConfig)++instance+  Prelude.Hashable+    UpdateBackendAuthIdentityPoolConfig+  where+  hashWithSalt+    _salt+    UpdateBackendAuthIdentityPoolConfig' {..} =+      _salt `Prelude.hashWithSalt` unauthenticatedLogin++instance+  Prelude.NFData+    UpdateBackendAuthIdentityPoolConfig+  where+  rnf UpdateBackendAuthIdentityPoolConfig' {..} =+    Prelude.rnf unauthenticatedLogin++instance+  Data.ToJSON+    UpdateBackendAuthIdentityPoolConfig+  where+  toJSON UpdateBackendAuthIdentityPoolConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("unauthenticatedLogin" Data..=)+              Prelude.<$> unauthenticatedLogin+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/UpdateBackendAuthMFAConfig.hs view
@@ -0,0 +1,90 @@+{-# 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.AmplifyBackend.Types.UpdateBackendAuthMFAConfig+-- 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.AmplifyBackend.Types.UpdateBackendAuthMFAConfig where++import Amazonka.AmplifyBackend.Types.MFAMode+import Amazonka.AmplifyBackend.Types.Settings+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++-- | Updates the multi-factor authentication (MFA) configuration for the+-- backend of your Amplify project.+--+-- /See:/ 'newUpdateBackendAuthMFAConfig' smart constructor.+data UpdateBackendAuthMFAConfig = UpdateBackendAuthMFAConfig'+  { -- | The MFA mode for the backend of your Amplify project.+    mfaMode :: Prelude.Maybe MFAMode,+    -- | The settings of your MFA configuration for the backend of your Amplify+    -- project.+    settings :: Prelude.Maybe Settings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendAuthMFAConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mfaMode', 'updateBackendAuthMFAConfig_mfaMode' - The MFA mode for the backend of your Amplify project.+--+-- 'settings', 'updateBackendAuthMFAConfig_settings' - The settings of your MFA configuration for the backend of your Amplify+-- project.+newUpdateBackendAuthMFAConfig ::+  UpdateBackendAuthMFAConfig+newUpdateBackendAuthMFAConfig =+  UpdateBackendAuthMFAConfig'+    { mfaMode =+        Prelude.Nothing,+      settings = Prelude.Nothing+    }++-- | The MFA mode for the backend of your Amplify project.+updateBackendAuthMFAConfig_mfaMode :: Lens.Lens' UpdateBackendAuthMFAConfig (Prelude.Maybe MFAMode)+updateBackendAuthMFAConfig_mfaMode = Lens.lens (\UpdateBackendAuthMFAConfig' {mfaMode} -> mfaMode) (\s@UpdateBackendAuthMFAConfig' {} a -> s {mfaMode = a} :: UpdateBackendAuthMFAConfig)++-- | The settings of your MFA configuration for the backend of your Amplify+-- project.+updateBackendAuthMFAConfig_settings :: Lens.Lens' UpdateBackendAuthMFAConfig (Prelude.Maybe Settings)+updateBackendAuthMFAConfig_settings = Lens.lens (\UpdateBackendAuthMFAConfig' {settings} -> settings) (\s@UpdateBackendAuthMFAConfig' {} a -> s {settings = a} :: UpdateBackendAuthMFAConfig)++instance Prelude.Hashable UpdateBackendAuthMFAConfig where+  hashWithSalt _salt UpdateBackendAuthMFAConfig' {..} =+    _salt+      `Prelude.hashWithSalt` mfaMode+      `Prelude.hashWithSalt` settings++instance Prelude.NFData UpdateBackendAuthMFAConfig where+  rnf UpdateBackendAuthMFAConfig' {..} =+    Prelude.rnf mfaMode+      `Prelude.seq` Prelude.rnf settings++instance Data.ToJSON UpdateBackendAuthMFAConfig where+  toJSON UpdateBackendAuthMFAConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MFAMode" Data..=) Prelude.<$> mfaMode,+            ("settings" Data..=) Prelude.<$> settings+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/UpdateBackendAuthOAuthConfig.hs view
@@ -0,0 +1,154 @@+{-# 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.AmplifyBackend.Types.UpdateBackendAuthOAuthConfig+-- 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.AmplifyBackend.Types.UpdateBackendAuthOAuthConfig where++import Amazonka.AmplifyBackend.Types.OAuthGrantType+import Amazonka.AmplifyBackend.Types.OAuthScopesElement+import Amazonka.AmplifyBackend.Types.SocialProviderSettings+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 OAuth configurations for authenticating users into your Amplify app.+--+-- /See:/ 'newUpdateBackendAuthOAuthConfig' smart constructor.+data UpdateBackendAuthOAuthConfig = UpdateBackendAuthOAuthConfig'+  { -- | The Amazon Cognito domain prefix used to create a hosted UI for+    -- authentication.+    domainPrefix :: Prelude.Maybe Prelude.Text,+    -- | The OAuth grant type to allow app users to authenticate from your+    -- Amplify app.+    oAuthGrantType :: Prelude.Maybe OAuthGrantType,+    -- | The list of OAuth-related flows that can allow users to authenticate+    -- from your Amplify app.+    oAuthScopes :: Prelude.Maybe [OAuthScopesElement],+    -- | Redirect URLs that OAuth uses when a user signs in to an Amplify app.+    redirectSignInURIs :: Prelude.Maybe [Prelude.Text],+    -- | Redirect URLs that OAuth uses when a user signs out of an Amplify app.+    redirectSignOutURIs :: Prelude.Maybe [Prelude.Text],+    -- | Describes third-party social federation configurations for allowing your+    -- users to sign in with OAuth.+    socialProviderSettings :: Prelude.Maybe SocialProviderSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendAuthOAuthConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domainPrefix', 'updateBackendAuthOAuthConfig_domainPrefix' - The Amazon Cognito domain prefix used to create a hosted UI for+-- authentication.+--+-- 'oAuthGrantType', 'updateBackendAuthOAuthConfig_oAuthGrantType' - The OAuth grant type to allow app users to authenticate from your+-- Amplify app.+--+-- 'oAuthScopes', 'updateBackendAuthOAuthConfig_oAuthScopes' - The list of OAuth-related flows that can allow users to authenticate+-- from your Amplify app.+--+-- 'redirectSignInURIs', 'updateBackendAuthOAuthConfig_redirectSignInURIs' - Redirect URLs that OAuth uses when a user signs in to an Amplify app.+--+-- 'redirectSignOutURIs', 'updateBackendAuthOAuthConfig_redirectSignOutURIs' - Redirect URLs that OAuth uses when a user signs out of an Amplify app.+--+-- 'socialProviderSettings', 'updateBackendAuthOAuthConfig_socialProviderSettings' - Describes third-party social federation configurations for allowing your+-- users to sign in with OAuth.+newUpdateBackendAuthOAuthConfig ::+  UpdateBackendAuthOAuthConfig+newUpdateBackendAuthOAuthConfig =+  UpdateBackendAuthOAuthConfig'+    { domainPrefix =+        Prelude.Nothing,+      oAuthGrantType = Prelude.Nothing,+      oAuthScopes = Prelude.Nothing,+      redirectSignInURIs = Prelude.Nothing,+      redirectSignOutURIs = Prelude.Nothing,+      socialProviderSettings = Prelude.Nothing+    }++-- | The Amazon Cognito domain prefix used to create a hosted UI for+-- authentication.+updateBackendAuthOAuthConfig_domainPrefix :: Lens.Lens' UpdateBackendAuthOAuthConfig (Prelude.Maybe Prelude.Text)+updateBackendAuthOAuthConfig_domainPrefix = Lens.lens (\UpdateBackendAuthOAuthConfig' {domainPrefix} -> domainPrefix) (\s@UpdateBackendAuthOAuthConfig' {} a -> s {domainPrefix = a} :: UpdateBackendAuthOAuthConfig)++-- | The OAuth grant type to allow app users to authenticate from your+-- Amplify app.+updateBackendAuthOAuthConfig_oAuthGrantType :: Lens.Lens' UpdateBackendAuthOAuthConfig (Prelude.Maybe OAuthGrantType)+updateBackendAuthOAuthConfig_oAuthGrantType = Lens.lens (\UpdateBackendAuthOAuthConfig' {oAuthGrantType} -> oAuthGrantType) (\s@UpdateBackendAuthOAuthConfig' {} a -> s {oAuthGrantType = a} :: UpdateBackendAuthOAuthConfig)++-- | The list of OAuth-related flows that can allow users to authenticate+-- from your Amplify app.+updateBackendAuthOAuthConfig_oAuthScopes :: Lens.Lens' UpdateBackendAuthOAuthConfig (Prelude.Maybe [OAuthScopesElement])+updateBackendAuthOAuthConfig_oAuthScopes = Lens.lens (\UpdateBackendAuthOAuthConfig' {oAuthScopes} -> oAuthScopes) (\s@UpdateBackendAuthOAuthConfig' {} a -> s {oAuthScopes = a} :: UpdateBackendAuthOAuthConfig) Prelude.. Lens.mapping Lens.coerced++-- | Redirect URLs that OAuth uses when a user signs in to an Amplify app.+updateBackendAuthOAuthConfig_redirectSignInURIs :: Lens.Lens' UpdateBackendAuthOAuthConfig (Prelude.Maybe [Prelude.Text])+updateBackendAuthOAuthConfig_redirectSignInURIs = Lens.lens (\UpdateBackendAuthOAuthConfig' {redirectSignInURIs} -> redirectSignInURIs) (\s@UpdateBackendAuthOAuthConfig' {} a -> s {redirectSignInURIs = a} :: UpdateBackendAuthOAuthConfig) Prelude.. Lens.mapping Lens.coerced++-- | Redirect URLs that OAuth uses when a user signs out of an Amplify app.+updateBackendAuthOAuthConfig_redirectSignOutURIs :: Lens.Lens' UpdateBackendAuthOAuthConfig (Prelude.Maybe [Prelude.Text])+updateBackendAuthOAuthConfig_redirectSignOutURIs = Lens.lens (\UpdateBackendAuthOAuthConfig' {redirectSignOutURIs} -> redirectSignOutURIs) (\s@UpdateBackendAuthOAuthConfig' {} a -> s {redirectSignOutURIs = a} :: UpdateBackendAuthOAuthConfig) Prelude.. Lens.mapping Lens.coerced++-- | Describes third-party social federation configurations for allowing your+-- users to sign in with OAuth.+updateBackendAuthOAuthConfig_socialProviderSettings :: Lens.Lens' UpdateBackendAuthOAuthConfig (Prelude.Maybe SocialProviderSettings)+updateBackendAuthOAuthConfig_socialProviderSettings = Lens.lens (\UpdateBackendAuthOAuthConfig' {socialProviderSettings} -> socialProviderSettings) (\s@UpdateBackendAuthOAuthConfig' {} a -> s {socialProviderSettings = a} :: UpdateBackendAuthOAuthConfig)++instance+  Prelude.Hashable+    UpdateBackendAuthOAuthConfig+  where+  hashWithSalt _salt UpdateBackendAuthOAuthConfig' {..} =+    _salt+      `Prelude.hashWithSalt` domainPrefix+      `Prelude.hashWithSalt` oAuthGrantType+      `Prelude.hashWithSalt` oAuthScopes+      `Prelude.hashWithSalt` redirectSignInURIs+      `Prelude.hashWithSalt` redirectSignOutURIs+      `Prelude.hashWithSalt` socialProviderSettings++instance Prelude.NFData UpdateBackendAuthOAuthConfig where+  rnf UpdateBackendAuthOAuthConfig' {..} =+    Prelude.rnf domainPrefix+      `Prelude.seq` Prelude.rnf oAuthGrantType+      `Prelude.seq` Prelude.rnf oAuthScopes+      `Prelude.seq` Prelude.rnf redirectSignInURIs+      `Prelude.seq` Prelude.rnf redirectSignOutURIs+      `Prelude.seq` Prelude.rnf socialProviderSettings++instance Data.ToJSON UpdateBackendAuthOAuthConfig where+  toJSON UpdateBackendAuthOAuthConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("domainPrefix" Data..=) Prelude.<$> domainPrefix,+            ("oAuthGrantType" Data..=)+              Prelude.<$> oAuthGrantType,+            ("oAuthScopes" Data..=) Prelude.<$> oAuthScopes,+            ("redirectSignInURIs" Data..=)+              Prelude.<$> redirectSignInURIs,+            ("redirectSignOutURIs" Data..=)+              Prelude.<$> redirectSignOutURIs,+            ("socialProviderSettings" Data..=)+              Prelude.<$> socialProviderSettings+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/UpdateBackendAuthPasswordPolicyConfig.hs view
@@ -0,0 +1,104 @@+{-# 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.AmplifyBackend.Types.UpdateBackendAuthPasswordPolicyConfig+-- 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.AmplifyBackend.Types.UpdateBackendAuthPasswordPolicyConfig where++import Amazonka.AmplifyBackend.Types.AdditionalConstraintsElement+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++-- | Describes the password policy for your Amazon Cognito user pool+-- configured as a part of your Amplify project.+--+-- /See:/ 'newUpdateBackendAuthPasswordPolicyConfig' smart constructor.+data UpdateBackendAuthPasswordPolicyConfig = UpdateBackendAuthPasswordPolicyConfig'+  { -- | Describes additional constraints on password requirements to sign in to+    -- the auth resource, configured as a part of your Amplify project.+    additionalConstraints :: Prelude.Maybe [AdditionalConstraintsElement],+    -- | Describes the minimum length of the password required to sign in to the+    -- auth resource, configured as a part of your Amplify project.+    minimumLength :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendAuthPasswordPolicyConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'additionalConstraints', 'updateBackendAuthPasswordPolicyConfig_additionalConstraints' - Describes additional constraints on password requirements to sign in to+-- the auth resource, configured as a part of your Amplify project.+--+-- 'minimumLength', 'updateBackendAuthPasswordPolicyConfig_minimumLength' - Describes the minimum length of the password required to sign in to the+-- auth resource, configured as a part of your Amplify project.+newUpdateBackendAuthPasswordPolicyConfig ::+  UpdateBackendAuthPasswordPolicyConfig+newUpdateBackendAuthPasswordPolicyConfig =+  UpdateBackendAuthPasswordPolicyConfig'+    { additionalConstraints =+        Prelude.Nothing,+      minimumLength = Prelude.Nothing+    }++-- | Describes additional constraints on password requirements to sign in to+-- the auth resource, configured as a part of your Amplify project.+updateBackendAuthPasswordPolicyConfig_additionalConstraints :: Lens.Lens' UpdateBackendAuthPasswordPolicyConfig (Prelude.Maybe [AdditionalConstraintsElement])+updateBackendAuthPasswordPolicyConfig_additionalConstraints = Lens.lens (\UpdateBackendAuthPasswordPolicyConfig' {additionalConstraints} -> additionalConstraints) (\s@UpdateBackendAuthPasswordPolicyConfig' {} a -> s {additionalConstraints = a} :: UpdateBackendAuthPasswordPolicyConfig) Prelude.. Lens.mapping Lens.coerced++-- | Describes the minimum length of the password required to sign in to the+-- auth resource, configured as a part of your Amplify project.+updateBackendAuthPasswordPolicyConfig_minimumLength :: Lens.Lens' UpdateBackendAuthPasswordPolicyConfig (Prelude.Maybe Prelude.Double)+updateBackendAuthPasswordPolicyConfig_minimumLength = Lens.lens (\UpdateBackendAuthPasswordPolicyConfig' {minimumLength} -> minimumLength) (\s@UpdateBackendAuthPasswordPolicyConfig' {} a -> s {minimumLength = a} :: UpdateBackendAuthPasswordPolicyConfig)++instance+  Prelude.Hashable+    UpdateBackendAuthPasswordPolicyConfig+  where+  hashWithSalt+    _salt+    UpdateBackendAuthPasswordPolicyConfig' {..} =+      _salt+        `Prelude.hashWithSalt` additionalConstraints+        `Prelude.hashWithSalt` minimumLength++instance+  Prelude.NFData+    UpdateBackendAuthPasswordPolicyConfig+  where+  rnf UpdateBackendAuthPasswordPolicyConfig' {..} =+    Prelude.rnf additionalConstraints+      `Prelude.seq` Prelude.rnf minimumLength++instance+  Data.ToJSON+    UpdateBackendAuthPasswordPolicyConfig+  where+  toJSON UpdateBackendAuthPasswordPolicyConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("additionalConstraints" Data..=)+              Prelude.<$> additionalConstraints,+            ("minimumLength" Data..=) Prelude.<$> minimumLength+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/UpdateBackendAuthResourceConfig.hs view
@@ -0,0 +1,150 @@+{-# 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.AmplifyBackend.Types.UpdateBackendAuthResourceConfig+-- 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.AmplifyBackend.Types.UpdateBackendAuthResourceConfig where++import Amazonka.AmplifyBackend.Types.AuthResources+import Amazonka.AmplifyBackend.Types.Service+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthIdentityPoolConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthUserPoolConfig+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++-- | Defines the resource configuration when updating an authentication+-- resource in your Amplify project.+--+-- /See:/ 'newUpdateBackendAuthResourceConfig' smart constructor.+data UpdateBackendAuthResourceConfig = UpdateBackendAuthResourceConfig'+  { -- | Describes the authorization configuration for the Amazon Cognito+    -- identity pool, provisioned as a part of your auth resource in the+    -- Amplify project.+    identityPoolConfigs :: Prelude.Maybe UpdateBackendAuthIdentityPoolConfig,+    -- | Defines the service name to use when configuring an authentication+    -- resource in your Amplify project.+    authResources :: AuthResources,+    -- | Describes the authentication configuration for the Amazon Cognito user+    -- pool, provisioned as a part of your auth resource in the Amplify+    -- project.+    userPoolConfigs :: UpdateBackendAuthUserPoolConfig,+    -- | Defines the service name to use when configuring an authentication+    -- resource in your Amplify project.+    service :: Service+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendAuthResourceConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityPoolConfigs', 'updateBackendAuthResourceConfig_identityPoolConfigs' - Describes the authorization configuration for the Amazon Cognito+-- identity pool, provisioned as a part of your auth resource in the+-- Amplify project.+--+-- 'authResources', 'updateBackendAuthResourceConfig_authResources' - Defines the service name to use when configuring an authentication+-- resource in your Amplify project.+--+-- 'userPoolConfigs', 'updateBackendAuthResourceConfig_userPoolConfigs' - Describes the authentication configuration for the Amazon Cognito user+-- pool, provisioned as a part of your auth resource in the Amplify+-- project.+--+-- 'service', 'updateBackendAuthResourceConfig_service' - Defines the service name to use when configuring an authentication+-- resource in your Amplify project.+newUpdateBackendAuthResourceConfig ::+  -- | 'authResources'+  AuthResources ->+  -- | 'userPoolConfigs'+  UpdateBackendAuthUserPoolConfig ->+  -- | 'service'+  Service ->+  UpdateBackendAuthResourceConfig+newUpdateBackendAuthResourceConfig+  pAuthResources_+  pUserPoolConfigs_+  pService_ =+    UpdateBackendAuthResourceConfig'+      { identityPoolConfigs =+          Prelude.Nothing,+        authResources = pAuthResources_,+        userPoolConfigs = pUserPoolConfigs_,+        service = pService_+      }++-- | Describes the authorization configuration for the Amazon Cognito+-- identity pool, provisioned as a part of your auth resource in the+-- Amplify project.+updateBackendAuthResourceConfig_identityPoolConfigs :: Lens.Lens' UpdateBackendAuthResourceConfig (Prelude.Maybe UpdateBackendAuthIdentityPoolConfig)+updateBackendAuthResourceConfig_identityPoolConfigs = Lens.lens (\UpdateBackendAuthResourceConfig' {identityPoolConfigs} -> identityPoolConfigs) (\s@UpdateBackendAuthResourceConfig' {} a -> s {identityPoolConfigs = a} :: UpdateBackendAuthResourceConfig)++-- | Defines the service name to use when configuring an authentication+-- resource in your Amplify project.+updateBackendAuthResourceConfig_authResources :: Lens.Lens' UpdateBackendAuthResourceConfig AuthResources+updateBackendAuthResourceConfig_authResources = Lens.lens (\UpdateBackendAuthResourceConfig' {authResources} -> authResources) (\s@UpdateBackendAuthResourceConfig' {} a -> s {authResources = a} :: UpdateBackendAuthResourceConfig)++-- | Describes the authentication configuration for the Amazon Cognito user+-- pool, provisioned as a part of your auth resource in the Amplify+-- project.+updateBackendAuthResourceConfig_userPoolConfigs :: Lens.Lens' UpdateBackendAuthResourceConfig UpdateBackendAuthUserPoolConfig+updateBackendAuthResourceConfig_userPoolConfigs = Lens.lens (\UpdateBackendAuthResourceConfig' {userPoolConfigs} -> userPoolConfigs) (\s@UpdateBackendAuthResourceConfig' {} a -> s {userPoolConfigs = a} :: UpdateBackendAuthResourceConfig)++-- | Defines the service name to use when configuring an authentication+-- resource in your Amplify project.+updateBackendAuthResourceConfig_service :: Lens.Lens' UpdateBackendAuthResourceConfig Service+updateBackendAuthResourceConfig_service = Lens.lens (\UpdateBackendAuthResourceConfig' {service} -> service) (\s@UpdateBackendAuthResourceConfig' {} a -> s {service = a} :: UpdateBackendAuthResourceConfig)++instance+  Prelude.Hashable+    UpdateBackendAuthResourceConfig+  where+  hashWithSalt+    _salt+    UpdateBackendAuthResourceConfig' {..} =+      _salt+        `Prelude.hashWithSalt` identityPoolConfigs+        `Prelude.hashWithSalt` authResources+        `Prelude.hashWithSalt` userPoolConfigs+        `Prelude.hashWithSalt` service++instance+  Prelude.NFData+    UpdateBackendAuthResourceConfig+  where+  rnf UpdateBackendAuthResourceConfig' {..} =+    Prelude.rnf identityPoolConfigs+      `Prelude.seq` Prelude.rnf authResources+      `Prelude.seq` Prelude.rnf userPoolConfigs+      `Prelude.seq` Prelude.rnf service++instance Data.ToJSON UpdateBackendAuthResourceConfig where+  toJSON UpdateBackendAuthResourceConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("identityPoolConfigs" Data..=)+              Prelude.<$> identityPoolConfigs,+            Prelude.Just ("authResources" Data..= authResources),+            Prelude.Just+              ("userPoolConfigs" Data..= userPoolConfigs),+            Prelude.Just ("service" Data..= service)+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/UpdateBackendAuthUserPoolConfig.hs view
@@ -0,0 +1,153 @@+{-# 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.AmplifyBackend.Types.UpdateBackendAuthUserPoolConfig+-- 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.AmplifyBackend.Types.UpdateBackendAuthUserPoolConfig where++import Amazonka.AmplifyBackend.Types.UpdateBackendAuthForgotPasswordConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthMFAConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthOAuthConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthPasswordPolicyConfig+import Amazonka.AmplifyBackend.Types.UpdateBackendAuthVerificationMessageConfig+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++-- | Describes the Amazon Cognito user pool configuration for the+-- authorization resource to be configured for your Amplify project on an+-- update.+--+-- /See:/ 'newUpdateBackendAuthUserPoolConfig' smart constructor.+data UpdateBackendAuthUserPoolConfig = UpdateBackendAuthUserPoolConfig'+  { -- | __(DEPRECATED)__ Describes the forgot password policy for your Amazon+    -- Cognito user pool, configured as a part of your Amplify project.+    forgotPassword :: Prelude.Maybe UpdateBackendAuthForgotPasswordConfig,+    -- | Describes whether to apply multi-factor authentication policies for your+    -- Amazon Cognito user pool configured as a part of your Amplify project.+    mfa :: Prelude.Maybe UpdateBackendAuthMFAConfig,+    -- | Describes the OAuth policy and rules for your Amazon Cognito user pool,+    -- configured as a part of your Amplify project.+    oAuth :: Prelude.Maybe UpdateBackendAuthOAuthConfig,+    -- | Describes the password policy for your Amazon Cognito user pool,+    -- configured as a part of your Amplify project.+    passwordPolicy :: Prelude.Maybe UpdateBackendAuthPasswordPolicyConfig,+    -- | Describes the email or SMS verification message for your Amazon Cognito+    -- user pool, configured as a part of your Amplify project.+    verificationMessage :: Prelude.Maybe UpdateBackendAuthVerificationMessageConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendAuthUserPoolConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forgotPassword', 'updateBackendAuthUserPoolConfig_forgotPassword' - __(DEPRECATED)__ Describes the forgot password policy for your Amazon+-- Cognito user pool, configured as a part of your Amplify project.+--+-- 'mfa', 'updateBackendAuthUserPoolConfig_mfa' - Describes whether to apply multi-factor authentication policies for your+-- Amazon Cognito user pool configured as a part of your Amplify project.+--+-- 'oAuth', 'updateBackendAuthUserPoolConfig_oAuth' - Describes the OAuth policy and rules for your Amazon Cognito user pool,+-- configured as a part of your Amplify project.+--+-- 'passwordPolicy', 'updateBackendAuthUserPoolConfig_passwordPolicy' - Describes the password policy for your Amazon Cognito user pool,+-- configured as a part of your Amplify project.+--+-- 'verificationMessage', 'updateBackendAuthUserPoolConfig_verificationMessage' - Describes the email or SMS verification message for your Amazon Cognito+-- user pool, configured as a part of your Amplify project.+newUpdateBackendAuthUserPoolConfig ::+  UpdateBackendAuthUserPoolConfig+newUpdateBackendAuthUserPoolConfig =+  UpdateBackendAuthUserPoolConfig'+    { forgotPassword =+        Prelude.Nothing,+      mfa = Prelude.Nothing,+      oAuth = Prelude.Nothing,+      passwordPolicy = Prelude.Nothing,+      verificationMessage = Prelude.Nothing+    }++-- | __(DEPRECATED)__ Describes the forgot password policy for your Amazon+-- Cognito user pool, configured as a part of your Amplify project.+updateBackendAuthUserPoolConfig_forgotPassword :: Lens.Lens' UpdateBackendAuthUserPoolConfig (Prelude.Maybe UpdateBackendAuthForgotPasswordConfig)+updateBackendAuthUserPoolConfig_forgotPassword = Lens.lens (\UpdateBackendAuthUserPoolConfig' {forgotPassword} -> forgotPassword) (\s@UpdateBackendAuthUserPoolConfig' {} a -> s {forgotPassword = a} :: UpdateBackendAuthUserPoolConfig)++-- | Describes whether to apply multi-factor authentication policies for your+-- Amazon Cognito user pool configured as a part of your Amplify project.+updateBackendAuthUserPoolConfig_mfa :: Lens.Lens' UpdateBackendAuthUserPoolConfig (Prelude.Maybe UpdateBackendAuthMFAConfig)+updateBackendAuthUserPoolConfig_mfa = Lens.lens (\UpdateBackendAuthUserPoolConfig' {mfa} -> mfa) (\s@UpdateBackendAuthUserPoolConfig' {} a -> s {mfa = a} :: UpdateBackendAuthUserPoolConfig)++-- | Describes the OAuth policy and rules for your Amazon Cognito user pool,+-- configured as a part of your Amplify project.+updateBackendAuthUserPoolConfig_oAuth :: Lens.Lens' UpdateBackendAuthUserPoolConfig (Prelude.Maybe UpdateBackendAuthOAuthConfig)+updateBackendAuthUserPoolConfig_oAuth = Lens.lens (\UpdateBackendAuthUserPoolConfig' {oAuth} -> oAuth) (\s@UpdateBackendAuthUserPoolConfig' {} a -> s {oAuth = a} :: UpdateBackendAuthUserPoolConfig)++-- | Describes the password policy for your Amazon Cognito user pool,+-- configured as a part of your Amplify project.+updateBackendAuthUserPoolConfig_passwordPolicy :: Lens.Lens' UpdateBackendAuthUserPoolConfig (Prelude.Maybe UpdateBackendAuthPasswordPolicyConfig)+updateBackendAuthUserPoolConfig_passwordPolicy = Lens.lens (\UpdateBackendAuthUserPoolConfig' {passwordPolicy} -> passwordPolicy) (\s@UpdateBackendAuthUserPoolConfig' {} a -> s {passwordPolicy = a} :: UpdateBackendAuthUserPoolConfig)++-- | Describes the email or SMS verification message for your Amazon Cognito+-- user pool, configured as a part of your Amplify project.+updateBackendAuthUserPoolConfig_verificationMessage :: Lens.Lens' UpdateBackendAuthUserPoolConfig (Prelude.Maybe UpdateBackendAuthVerificationMessageConfig)+updateBackendAuthUserPoolConfig_verificationMessage = Lens.lens (\UpdateBackendAuthUserPoolConfig' {verificationMessage} -> verificationMessage) (\s@UpdateBackendAuthUserPoolConfig' {} a -> s {verificationMessage = a} :: UpdateBackendAuthUserPoolConfig)++instance+  Prelude.Hashable+    UpdateBackendAuthUserPoolConfig+  where+  hashWithSalt+    _salt+    UpdateBackendAuthUserPoolConfig' {..} =+      _salt+        `Prelude.hashWithSalt` forgotPassword+        `Prelude.hashWithSalt` mfa+        `Prelude.hashWithSalt` oAuth+        `Prelude.hashWithSalt` passwordPolicy+        `Prelude.hashWithSalt` verificationMessage++instance+  Prelude.NFData+    UpdateBackendAuthUserPoolConfig+  where+  rnf UpdateBackendAuthUserPoolConfig' {..} =+    Prelude.rnf forgotPassword+      `Prelude.seq` Prelude.rnf mfa+      `Prelude.seq` Prelude.rnf oAuth+      `Prelude.seq` Prelude.rnf passwordPolicy+      `Prelude.seq` Prelude.rnf verificationMessage++instance Data.ToJSON UpdateBackendAuthUserPoolConfig where+  toJSON UpdateBackendAuthUserPoolConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("forgotPassword" Data..=)+              Prelude.<$> forgotPassword,+            ("mfa" Data..=) Prelude.<$> mfa,+            ("oAuth" Data..=) Prelude.<$> oAuth,+            ("passwordPolicy" Data..=)+              Prelude.<$> passwordPolicy,+            ("verificationMessage" Data..=)+              Prelude.<$> verificationMessage+          ]+      )
+ gen/Amazonka/AmplifyBackend/Types/UpdateBackendAuthVerificationMessageConfig.hs view
@@ -0,0 +1,117 @@+{-# 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.AmplifyBackend.Types.UpdateBackendAuthVerificationMessageConfig+-- 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.AmplifyBackend.Types.UpdateBackendAuthVerificationMessageConfig where++import Amazonka.AmplifyBackend.Types.DeliveryMethod+import Amazonka.AmplifyBackend.Types.EmailSettings+import Amazonka.AmplifyBackend.Types.SmsSettings+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++-- | Updates the configuration of the email or SMS message for the auth+-- resource configured for your Amplify project.+--+-- /See:/ 'newUpdateBackendAuthVerificationMessageConfig' smart constructor.+data UpdateBackendAuthVerificationMessageConfig = UpdateBackendAuthVerificationMessageConfig'+  { -- | The settings for the email message.+    emailSettings :: Prelude.Maybe EmailSettings,+    -- | The settings for the SMS message.+    smsSettings :: Prelude.Maybe SmsSettings,+    -- | The type of verification message to send.+    deliveryMethod :: DeliveryMethod+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendAuthVerificationMessageConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'emailSettings', 'updateBackendAuthVerificationMessageConfig_emailSettings' - The settings for the email message.+--+-- 'smsSettings', 'updateBackendAuthVerificationMessageConfig_smsSettings' - The settings for the SMS message.+--+-- 'deliveryMethod', 'updateBackendAuthVerificationMessageConfig_deliveryMethod' - The type of verification message to send.+newUpdateBackendAuthVerificationMessageConfig ::+  -- | 'deliveryMethod'+  DeliveryMethod ->+  UpdateBackendAuthVerificationMessageConfig+newUpdateBackendAuthVerificationMessageConfig+  pDeliveryMethod_ =+    UpdateBackendAuthVerificationMessageConfig'+      { emailSettings =+          Prelude.Nothing,+        smsSettings = Prelude.Nothing,+        deliveryMethod =+          pDeliveryMethod_+      }++-- | The settings for the email message.+updateBackendAuthVerificationMessageConfig_emailSettings :: Lens.Lens' UpdateBackendAuthVerificationMessageConfig (Prelude.Maybe EmailSettings)+updateBackendAuthVerificationMessageConfig_emailSettings = Lens.lens (\UpdateBackendAuthVerificationMessageConfig' {emailSettings} -> emailSettings) (\s@UpdateBackendAuthVerificationMessageConfig' {} a -> s {emailSettings = a} :: UpdateBackendAuthVerificationMessageConfig)++-- | The settings for the SMS message.+updateBackendAuthVerificationMessageConfig_smsSettings :: Lens.Lens' UpdateBackendAuthVerificationMessageConfig (Prelude.Maybe SmsSettings)+updateBackendAuthVerificationMessageConfig_smsSettings = Lens.lens (\UpdateBackendAuthVerificationMessageConfig' {smsSettings} -> smsSettings) (\s@UpdateBackendAuthVerificationMessageConfig' {} a -> s {smsSettings = a} :: UpdateBackendAuthVerificationMessageConfig)++-- | The type of verification message to send.+updateBackendAuthVerificationMessageConfig_deliveryMethod :: Lens.Lens' UpdateBackendAuthVerificationMessageConfig DeliveryMethod+updateBackendAuthVerificationMessageConfig_deliveryMethod = Lens.lens (\UpdateBackendAuthVerificationMessageConfig' {deliveryMethod} -> deliveryMethod) (\s@UpdateBackendAuthVerificationMessageConfig' {} a -> s {deliveryMethod = a} :: UpdateBackendAuthVerificationMessageConfig)++instance+  Prelude.Hashable+    UpdateBackendAuthVerificationMessageConfig+  where+  hashWithSalt+    _salt+    UpdateBackendAuthVerificationMessageConfig' {..} =+      _salt+        `Prelude.hashWithSalt` emailSettings+        `Prelude.hashWithSalt` smsSettings+        `Prelude.hashWithSalt` deliveryMethod++instance+  Prelude.NFData+    UpdateBackendAuthVerificationMessageConfig+  where+  rnf UpdateBackendAuthVerificationMessageConfig' {..} =+    Prelude.rnf emailSettings+      `Prelude.seq` Prelude.rnf smsSettings+      `Prelude.seq` Prelude.rnf deliveryMethod++instance+  Data.ToJSON+    UpdateBackendAuthVerificationMessageConfig+  where+  toJSON+    UpdateBackendAuthVerificationMessageConfig' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("emailSettings" Data..=) Prelude.<$> emailSettings,+              ("smsSettings" Data..=) Prelude.<$> smsSettings,+              Prelude.Just+                ("deliveryMethod" Data..= deliveryMethod)+            ]+        )
+ gen/Amazonka/AmplifyBackend/Types/UpdateBackendStorageResourceConfig.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.Types.UpdateBackendStorageResourceConfig+-- 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.AmplifyBackend.Types.UpdateBackendStorageResourceConfig where++import Amazonka.AmplifyBackend.Types.BackendStoragePermissions+import Amazonka.AmplifyBackend.Types.ServiceName+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 resource configuration for updating backend storage.+--+-- /See:/ 'newUpdateBackendStorageResourceConfig' smart constructor.+data UpdateBackendStorageResourceConfig = UpdateBackendStorageResourceConfig'+  { -- | The name of the storage service.+    serviceName :: ServiceName,+    -- | The authorization configuration for the storage S3 bucket.+    permissions :: BackendStoragePermissions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendStorageResourceConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serviceName', 'updateBackendStorageResourceConfig_serviceName' - The name of the storage service.+--+-- 'permissions', 'updateBackendStorageResourceConfig_permissions' - The authorization configuration for the storage S3 bucket.+newUpdateBackendStorageResourceConfig ::+  -- | 'serviceName'+  ServiceName ->+  -- | 'permissions'+  BackendStoragePermissions ->+  UpdateBackendStorageResourceConfig+newUpdateBackendStorageResourceConfig+  pServiceName_+  pPermissions_ =+    UpdateBackendStorageResourceConfig'+      { serviceName =+          pServiceName_,+        permissions = pPermissions_+      }++-- | The name of the storage service.+updateBackendStorageResourceConfig_serviceName :: Lens.Lens' UpdateBackendStorageResourceConfig ServiceName+updateBackendStorageResourceConfig_serviceName = Lens.lens (\UpdateBackendStorageResourceConfig' {serviceName} -> serviceName) (\s@UpdateBackendStorageResourceConfig' {} a -> s {serviceName = a} :: UpdateBackendStorageResourceConfig)++-- | The authorization configuration for the storage S3 bucket.+updateBackendStorageResourceConfig_permissions :: Lens.Lens' UpdateBackendStorageResourceConfig BackendStoragePermissions+updateBackendStorageResourceConfig_permissions = Lens.lens (\UpdateBackendStorageResourceConfig' {permissions} -> permissions) (\s@UpdateBackendStorageResourceConfig' {} a -> s {permissions = a} :: UpdateBackendStorageResourceConfig)++instance+  Prelude.Hashable+    UpdateBackendStorageResourceConfig+  where+  hashWithSalt+    _salt+    UpdateBackendStorageResourceConfig' {..} =+      _salt+        `Prelude.hashWithSalt` serviceName+        `Prelude.hashWithSalt` permissions++instance+  Prelude.NFData+    UpdateBackendStorageResourceConfig+  where+  rnf UpdateBackendStorageResourceConfig' {..} =+    Prelude.rnf serviceName+      `Prelude.seq` Prelude.rnf permissions++instance+  Data.ToJSON+    UpdateBackendStorageResourceConfig+  where+  toJSON UpdateBackendStorageResourceConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("serviceName" Data..= serviceName),+            Prelude.Just ("permissions" Data..= permissions)+          ]+      )
+ gen/Amazonka/AmplifyBackend/UpdateBackendAPI.hs view
@@ -0,0 +1,284 @@+{-# 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.AmplifyBackend.UpdateBackendAPI+-- 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 an existing backend API resource.+module Amazonka.AmplifyBackend.UpdateBackendAPI+  ( -- * Creating a Request+    UpdateBackendAPI (..),+    newUpdateBackendAPI,++    -- * Request Lenses+    updateBackendAPI_resourceConfig,+    updateBackendAPI_appId,+    updateBackendAPI_backendEnvironmentName,+    updateBackendAPI_resourceName,++    -- * Destructuring the Response+    UpdateBackendAPIResponse (..),+    newUpdateBackendAPIResponse,++    -- * Response Lenses+    updateBackendAPIResponse_appId,+    updateBackendAPIResponse_backendEnvironmentName,+    updateBackendAPIResponse_error,+    updateBackendAPIResponse_jobId,+    updateBackendAPIResponse_operation,+    updateBackendAPIResponse_status,+    updateBackendAPIResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for UpdateBackendAPI.+--+-- /See:/ 'newUpdateBackendAPI' smart constructor.+data UpdateBackendAPI = UpdateBackendAPI'+  { -- | Defines the resource configuration for the data model in your Amplify+    -- project.+    resourceConfig :: Prelude.Maybe BackendAPIResourceConfig,+    -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of this resource.+    resourceName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendAPI' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceConfig', 'updateBackendAPI_resourceConfig' - Defines the resource configuration for the data model in your Amplify+-- project.+--+-- 'appId', 'updateBackendAPI_appId' - The app ID.+--+-- 'backendEnvironmentName', 'updateBackendAPI_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceName', 'updateBackendAPI_resourceName' - The name of this resource.+newUpdateBackendAPI ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  UpdateBackendAPI+newUpdateBackendAPI+  pAppId_+  pBackendEnvironmentName_+  pResourceName_ =+    UpdateBackendAPI'+      { resourceConfig = Prelude.Nothing,+        appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceName = pResourceName_+      }++-- | Defines the resource configuration for the data model in your Amplify+-- project.+updateBackendAPI_resourceConfig :: Lens.Lens' UpdateBackendAPI (Prelude.Maybe BackendAPIResourceConfig)+updateBackendAPI_resourceConfig = Lens.lens (\UpdateBackendAPI' {resourceConfig} -> resourceConfig) (\s@UpdateBackendAPI' {} a -> s {resourceConfig = a} :: UpdateBackendAPI)++-- | The app ID.+updateBackendAPI_appId :: Lens.Lens' UpdateBackendAPI Prelude.Text+updateBackendAPI_appId = Lens.lens (\UpdateBackendAPI' {appId} -> appId) (\s@UpdateBackendAPI' {} a -> s {appId = a} :: UpdateBackendAPI)++-- | The name of the backend environment.+updateBackendAPI_backendEnvironmentName :: Lens.Lens' UpdateBackendAPI Prelude.Text+updateBackendAPI_backendEnvironmentName = Lens.lens (\UpdateBackendAPI' {backendEnvironmentName} -> backendEnvironmentName) (\s@UpdateBackendAPI' {} a -> s {backendEnvironmentName = a} :: UpdateBackendAPI)++-- | The name of this resource.+updateBackendAPI_resourceName :: Lens.Lens' UpdateBackendAPI Prelude.Text+updateBackendAPI_resourceName = Lens.lens (\UpdateBackendAPI' {resourceName} -> resourceName) (\s@UpdateBackendAPI' {} a -> s {resourceName = a} :: UpdateBackendAPI)++instance Core.AWSRequest UpdateBackendAPI where+  type+    AWSResponse UpdateBackendAPI =+      UpdateBackendAPIResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateBackendAPIResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateBackendAPI where+  hashWithSalt _salt UpdateBackendAPI' {..} =+    _salt+      `Prelude.hashWithSalt` resourceConfig+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceName++instance Prelude.NFData UpdateBackendAPI where+  rnf UpdateBackendAPI' {..} =+    Prelude.rnf resourceConfig+      `Prelude.seq` Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceName++instance Data.ToHeaders UpdateBackendAPI where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateBackendAPI where+  toJSON UpdateBackendAPI' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("resourceConfig" Data..=)+              Prelude.<$> resourceConfig,+            Prelude.Just ("resourceName" Data..= resourceName)+          ]+      )++instance Data.ToPath UpdateBackendAPI where+  toPath UpdateBackendAPI' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/api/",+        Data.toBS backendEnvironmentName+      ]++instance Data.ToQuery UpdateBackendAPI where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateBackendAPIResponse' smart constructor.+data UpdateBackendAPIResponse = UpdateBackendAPIResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'UpdateBackendAPIResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'updateBackendAPIResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'updateBackendAPIResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'updateBackendAPIResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'updateBackendAPIResponse_jobId' - The ID for the job.+--+-- 'operation', 'updateBackendAPIResponse_operation' - The name of the operation.+--+-- 'status', 'updateBackendAPIResponse_status' - The current status of the request.+--+-- 'httpStatus', 'updateBackendAPIResponse_httpStatus' - The response's http status code.+newUpdateBackendAPIResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateBackendAPIResponse+newUpdateBackendAPIResponse pHttpStatus_ =+  UpdateBackendAPIResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+updateBackendAPIResponse_appId :: Lens.Lens' UpdateBackendAPIResponse (Prelude.Maybe Prelude.Text)+updateBackendAPIResponse_appId = Lens.lens (\UpdateBackendAPIResponse' {appId} -> appId) (\s@UpdateBackendAPIResponse' {} a -> s {appId = a} :: UpdateBackendAPIResponse)++-- | The name of the backend environment.+updateBackendAPIResponse_backendEnvironmentName :: Lens.Lens' UpdateBackendAPIResponse (Prelude.Maybe Prelude.Text)+updateBackendAPIResponse_backendEnvironmentName = Lens.lens (\UpdateBackendAPIResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@UpdateBackendAPIResponse' {} a -> s {backendEnvironmentName = a} :: UpdateBackendAPIResponse)++-- | If the request fails, this error is returned.+updateBackendAPIResponse_error :: Lens.Lens' UpdateBackendAPIResponse (Prelude.Maybe Prelude.Text)+updateBackendAPIResponse_error = Lens.lens (\UpdateBackendAPIResponse' {error} -> error) (\s@UpdateBackendAPIResponse' {} a -> s {error = a} :: UpdateBackendAPIResponse)++-- | The ID for the job.+updateBackendAPIResponse_jobId :: Lens.Lens' UpdateBackendAPIResponse (Prelude.Maybe Prelude.Text)+updateBackendAPIResponse_jobId = Lens.lens (\UpdateBackendAPIResponse' {jobId} -> jobId) (\s@UpdateBackendAPIResponse' {} a -> s {jobId = a} :: UpdateBackendAPIResponse)++-- | The name of the operation.+updateBackendAPIResponse_operation :: Lens.Lens' UpdateBackendAPIResponse (Prelude.Maybe Prelude.Text)+updateBackendAPIResponse_operation = Lens.lens (\UpdateBackendAPIResponse' {operation} -> operation) (\s@UpdateBackendAPIResponse' {} a -> s {operation = a} :: UpdateBackendAPIResponse)++-- | The current status of the request.+updateBackendAPIResponse_status :: Lens.Lens' UpdateBackendAPIResponse (Prelude.Maybe Prelude.Text)+updateBackendAPIResponse_status = Lens.lens (\UpdateBackendAPIResponse' {status} -> status) (\s@UpdateBackendAPIResponse' {} a -> s {status = a} :: UpdateBackendAPIResponse)++-- | The response's http status code.+updateBackendAPIResponse_httpStatus :: Lens.Lens' UpdateBackendAPIResponse Prelude.Int+updateBackendAPIResponse_httpStatus = Lens.lens (\UpdateBackendAPIResponse' {httpStatus} -> httpStatus) (\s@UpdateBackendAPIResponse' {} a -> s {httpStatus = a} :: UpdateBackendAPIResponse)++instance Prelude.NFData UpdateBackendAPIResponse where+  rnf UpdateBackendAPIResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/UpdateBackendAuth.hs view
@@ -0,0 +1,284 @@+{-# 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.AmplifyBackend.UpdateBackendAuth+-- 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 an existing backend authentication resource.+module Amazonka.AmplifyBackend.UpdateBackendAuth+  ( -- * Creating a Request+    UpdateBackendAuth (..),+    newUpdateBackendAuth,++    -- * Request Lenses+    updateBackendAuth_appId,+    updateBackendAuth_backendEnvironmentName,+    updateBackendAuth_resourceName,+    updateBackendAuth_resourceConfig,++    -- * Destructuring the Response+    UpdateBackendAuthResponse (..),+    newUpdateBackendAuthResponse,++    -- * Response Lenses+    updateBackendAuthResponse_appId,+    updateBackendAuthResponse_backendEnvironmentName,+    updateBackendAuthResponse_error,+    updateBackendAuthResponse_jobId,+    updateBackendAuthResponse_operation,+    updateBackendAuthResponse_status,+    updateBackendAuthResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for UpdateBackendAuth.+--+-- /See:/ 'newUpdateBackendAuth' smart constructor.+data UpdateBackendAuth = UpdateBackendAuth'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of this resource.+    resourceName :: Prelude.Text,+    -- | The resource configuration for this request object.+    resourceConfig :: UpdateBackendAuthResourceConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendAuth' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'updateBackendAuth_appId' - The app ID.+--+-- 'backendEnvironmentName', 'updateBackendAuth_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceName', 'updateBackendAuth_resourceName' - The name of this resource.+--+-- 'resourceConfig', 'updateBackendAuth_resourceConfig' - The resource configuration for this request object.+newUpdateBackendAuth ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  -- | 'resourceConfig'+  UpdateBackendAuthResourceConfig ->+  UpdateBackendAuth+newUpdateBackendAuth+  pAppId_+  pBackendEnvironmentName_+  pResourceName_+  pResourceConfig_ =+    UpdateBackendAuth'+      { appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceName = pResourceName_,+        resourceConfig = pResourceConfig_+      }++-- | The app ID.+updateBackendAuth_appId :: Lens.Lens' UpdateBackendAuth Prelude.Text+updateBackendAuth_appId = Lens.lens (\UpdateBackendAuth' {appId} -> appId) (\s@UpdateBackendAuth' {} a -> s {appId = a} :: UpdateBackendAuth)++-- | The name of the backend environment.+updateBackendAuth_backendEnvironmentName :: Lens.Lens' UpdateBackendAuth Prelude.Text+updateBackendAuth_backendEnvironmentName = Lens.lens (\UpdateBackendAuth' {backendEnvironmentName} -> backendEnvironmentName) (\s@UpdateBackendAuth' {} a -> s {backendEnvironmentName = a} :: UpdateBackendAuth)++-- | The name of this resource.+updateBackendAuth_resourceName :: Lens.Lens' UpdateBackendAuth Prelude.Text+updateBackendAuth_resourceName = Lens.lens (\UpdateBackendAuth' {resourceName} -> resourceName) (\s@UpdateBackendAuth' {} a -> s {resourceName = a} :: UpdateBackendAuth)++-- | The resource configuration for this request object.+updateBackendAuth_resourceConfig :: Lens.Lens' UpdateBackendAuth UpdateBackendAuthResourceConfig+updateBackendAuth_resourceConfig = Lens.lens (\UpdateBackendAuth' {resourceConfig} -> resourceConfig) (\s@UpdateBackendAuth' {} a -> s {resourceConfig = a} :: UpdateBackendAuth)++instance Core.AWSRequest UpdateBackendAuth where+  type+    AWSResponse UpdateBackendAuth =+      UpdateBackendAuthResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateBackendAuthResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateBackendAuth where+  hashWithSalt _salt UpdateBackendAuth' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceName+      `Prelude.hashWithSalt` resourceConfig++instance Prelude.NFData UpdateBackendAuth where+  rnf UpdateBackendAuth' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceName+      `Prelude.seq` Prelude.rnf resourceConfig++instance Data.ToHeaders UpdateBackendAuth where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateBackendAuth where+  toJSON UpdateBackendAuth' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("resourceName" Data..= resourceName),+            Prelude.Just+              ("resourceConfig" Data..= resourceConfig)+          ]+      )++instance Data.ToPath UpdateBackendAuth where+  toPath UpdateBackendAuth' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/auth/",+        Data.toBS backendEnvironmentName+      ]++instance Data.ToQuery UpdateBackendAuth where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateBackendAuthResponse' smart constructor.+data UpdateBackendAuthResponse = UpdateBackendAuthResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'UpdateBackendAuthResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'updateBackendAuthResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'updateBackendAuthResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'error', 'updateBackendAuthResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'updateBackendAuthResponse_jobId' - The ID for the job.+--+-- 'operation', 'updateBackendAuthResponse_operation' - The name of the operation.+--+-- 'status', 'updateBackendAuthResponse_status' - The current status of the request.+--+-- 'httpStatus', 'updateBackendAuthResponse_httpStatus' - The response's http status code.+newUpdateBackendAuthResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateBackendAuthResponse+newUpdateBackendAuthResponse pHttpStatus_ =+  UpdateBackendAuthResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+updateBackendAuthResponse_appId :: Lens.Lens' UpdateBackendAuthResponse (Prelude.Maybe Prelude.Text)+updateBackendAuthResponse_appId = Lens.lens (\UpdateBackendAuthResponse' {appId} -> appId) (\s@UpdateBackendAuthResponse' {} a -> s {appId = a} :: UpdateBackendAuthResponse)++-- | The name of the backend environment.+updateBackendAuthResponse_backendEnvironmentName :: Lens.Lens' UpdateBackendAuthResponse (Prelude.Maybe Prelude.Text)+updateBackendAuthResponse_backendEnvironmentName = Lens.lens (\UpdateBackendAuthResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@UpdateBackendAuthResponse' {} a -> s {backendEnvironmentName = a} :: UpdateBackendAuthResponse)++-- | If the request fails, this error is returned.+updateBackendAuthResponse_error :: Lens.Lens' UpdateBackendAuthResponse (Prelude.Maybe Prelude.Text)+updateBackendAuthResponse_error = Lens.lens (\UpdateBackendAuthResponse' {error} -> error) (\s@UpdateBackendAuthResponse' {} a -> s {error = a} :: UpdateBackendAuthResponse)++-- | The ID for the job.+updateBackendAuthResponse_jobId :: Lens.Lens' UpdateBackendAuthResponse (Prelude.Maybe Prelude.Text)+updateBackendAuthResponse_jobId = Lens.lens (\UpdateBackendAuthResponse' {jobId} -> jobId) (\s@UpdateBackendAuthResponse' {} a -> s {jobId = a} :: UpdateBackendAuthResponse)++-- | The name of the operation.+updateBackendAuthResponse_operation :: Lens.Lens' UpdateBackendAuthResponse (Prelude.Maybe Prelude.Text)+updateBackendAuthResponse_operation = Lens.lens (\UpdateBackendAuthResponse' {operation} -> operation) (\s@UpdateBackendAuthResponse' {} a -> s {operation = a} :: UpdateBackendAuthResponse)++-- | The current status of the request.+updateBackendAuthResponse_status :: Lens.Lens' UpdateBackendAuthResponse (Prelude.Maybe Prelude.Text)+updateBackendAuthResponse_status = Lens.lens (\UpdateBackendAuthResponse' {status} -> status) (\s@UpdateBackendAuthResponse' {} a -> s {status = a} :: UpdateBackendAuthResponse)++-- | The response's http status code.+updateBackendAuthResponse_httpStatus :: Lens.Lens' UpdateBackendAuthResponse Prelude.Int+updateBackendAuthResponse_httpStatus = Lens.lens (\UpdateBackendAuthResponse' {httpStatus} -> httpStatus) (\s@UpdateBackendAuthResponse' {} a -> s {httpStatus = a} :: UpdateBackendAuthResponse)++instance Prelude.NFData UpdateBackendAuthResponse where+  rnf UpdateBackendAuthResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/UpdateBackendConfig.hs view
@@ -0,0 +1,226 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.UpdateBackendConfig+-- 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 the AWS resources required to access the Amplify Admin UI.+module Amazonka.AmplifyBackend.UpdateBackendConfig+  ( -- * Creating a Request+    UpdateBackendConfig (..),+    newUpdateBackendConfig,++    -- * Request Lenses+    updateBackendConfig_loginAuthConfig,+    updateBackendConfig_appId,++    -- * Destructuring the Response+    UpdateBackendConfigResponse (..),+    newUpdateBackendConfigResponse,++    -- * Response Lenses+    updateBackendConfigResponse_appId,+    updateBackendConfigResponse_backendManagerAppId,+    updateBackendConfigResponse_error,+    updateBackendConfigResponse_loginAuthConfig,+    updateBackendConfigResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for UpdateBackendConfig.+--+-- /See:/ 'newUpdateBackendConfig' smart constructor.+data UpdateBackendConfig = UpdateBackendConfig'+  { -- | Describes the Amazon Cognito configuration for Admin UI access.+    loginAuthConfig :: Prelude.Maybe LoginAuthConfigReqObj,+    -- | The app ID.+    appId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loginAuthConfig', 'updateBackendConfig_loginAuthConfig' - Describes the Amazon Cognito configuration for Admin UI access.+--+-- 'appId', 'updateBackendConfig_appId' - The app ID.+newUpdateBackendConfig ::+  -- | 'appId'+  Prelude.Text ->+  UpdateBackendConfig+newUpdateBackendConfig pAppId_ =+  UpdateBackendConfig'+    { loginAuthConfig =+        Prelude.Nothing,+      appId = pAppId_+    }++-- | Describes the Amazon Cognito configuration for Admin UI access.+updateBackendConfig_loginAuthConfig :: Lens.Lens' UpdateBackendConfig (Prelude.Maybe LoginAuthConfigReqObj)+updateBackendConfig_loginAuthConfig = Lens.lens (\UpdateBackendConfig' {loginAuthConfig} -> loginAuthConfig) (\s@UpdateBackendConfig' {} a -> s {loginAuthConfig = a} :: UpdateBackendConfig)++-- | The app ID.+updateBackendConfig_appId :: Lens.Lens' UpdateBackendConfig Prelude.Text+updateBackendConfig_appId = Lens.lens (\UpdateBackendConfig' {appId} -> appId) (\s@UpdateBackendConfig' {} a -> s {appId = a} :: UpdateBackendConfig)++instance Core.AWSRequest UpdateBackendConfig where+  type+    AWSResponse UpdateBackendConfig =+      UpdateBackendConfigResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateBackendConfigResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendManagerAppId")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "loginAuthConfig")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateBackendConfig where+  hashWithSalt _salt UpdateBackendConfig' {..} =+    _salt+      `Prelude.hashWithSalt` loginAuthConfig+      `Prelude.hashWithSalt` appId++instance Prelude.NFData UpdateBackendConfig where+  rnf UpdateBackendConfig' {..} =+    Prelude.rnf loginAuthConfig+      `Prelude.seq` Prelude.rnf appId++instance Data.ToHeaders UpdateBackendConfig where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateBackendConfig where+  toJSON UpdateBackendConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("loginAuthConfig" Data..=)+              Prelude.<$> loginAuthConfig+          ]+      )++instance Data.ToPath UpdateBackendConfig where+  toPath UpdateBackendConfig' {..} =+    Prelude.mconcat+      ["/backend/", Data.toBS appId, "/config/update"]++instance Data.ToQuery UpdateBackendConfig where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateBackendConfigResponse' smart constructor.+data UpdateBackendConfigResponse = UpdateBackendConfigResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The app ID for the backend manager.+    backendManagerAppId :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | Describes the Amazon Cognito configurations for the Admin UI auth+    -- resource to log in with.+    loginAuthConfig :: Prelude.Maybe LoginAuthConfigReqObj,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'updateBackendConfigResponse_appId' - The app ID.+--+-- 'backendManagerAppId', 'updateBackendConfigResponse_backendManagerAppId' - The app ID for the backend manager.+--+-- 'error', 'updateBackendConfigResponse_error' - If the request fails, this error is returned.+--+-- 'loginAuthConfig', 'updateBackendConfigResponse_loginAuthConfig' - Describes the Amazon Cognito configurations for the Admin UI auth+-- resource to log in with.+--+-- 'httpStatus', 'updateBackendConfigResponse_httpStatus' - The response's http status code.+newUpdateBackendConfigResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateBackendConfigResponse+newUpdateBackendConfigResponse pHttpStatus_ =+  UpdateBackendConfigResponse'+    { appId =+        Prelude.Nothing,+      backendManagerAppId = Prelude.Nothing,+      error = Prelude.Nothing,+      loginAuthConfig = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+updateBackendConfigResponse_appId :: Lens.Lens' UpdateBackendConfigResponse (Prelude.Maybe Prelude.Text)+updateBackendConfigResponse_appId = Lens.lens (\UpdateBackendConfigResponse' {appId} -> appId) (\s@UpdateBackendConfigResponse' {} a -> s {appId = a} :: UpdateBackendConfigResponse)++-- | The app ID for the backend manager.+updateBackendConfigResponse_backendManagerAppId :: Lens.Lens' UpdateBackendConfigResponse (Prelude.Maybe Prelude.Text)+updateBackendConfigResponse_backendManagerAppId = Lens.lens (\UpdateBackendConfigResponse' {backendManagerAppId} -> backendManagerAppId) (\s@UpdateBackendConfigResponse' {} a -> s {backendManagerAppId = a} :: UpdateBackendConfigResponse)++-- | If the request fails, this error is returned.+updateBackendConfigResponse_error :: Lens.Lens' UpdateBackendConfigResponse (Prelude.Maybe Prelude.Text)+updateBackendConfigResponse_error = Lens.lens (\UpdateBackendConfigResponse' {error} -> error) (\s@UpdateBackendConfigResponse' {} a -> s {error = a} :: UpdateBackendConfigResponse)++-- | Describes the Amazon Cognito configurations for the Admin UI auth+-- resource to log in with.+updateBackendConfigResponse_loginAuthConfig :: Lens.Lens' UpdateBackendConfigResponse (Prelude.Maybe LoginAuthConfigReqObj)+updateBackendConfigResponse_loginAuthConfig = Lens.lens (\UpdateBackendConfigResponse' {loginAuthConfig} -> loginAuthConfig) (\s@UpdateBackendConfigResponse' {} a -> s {loginAuthConfig = a} :: UpdateBackendConfigResponse)++-- | The response's http status code.+updateBackendConfigResponse_httpStatus :: Lens.Lens' UpdateBackendConfigResponse Prelude.Int+updateBackendConfigResponse_httpStatus = Lens.lens (\UpdateBackendConfigResponse' {httpStatus} -> httpStatus) (\s@UpdateBackendConfigResponse' {} a -> s {httpStatus = a} :: UpdateBackendConfigResponse)++instance Prelude.NFData UpdateBackendConfigResponse where+  rnf UpdateBackendConfigResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendManagerAppId+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf loginAuthConfig+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/UpdateBackendJob.hs view
@@ -0,0 +1,324 @@+{-# 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.AmplifyBackend.UpdateBackendJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a specific job.+module Amazonka.AmplifyBackend.UpdateBackendJob+  ( -- * Creating a Request+    UpdateBackendJob (..),+    newUpdateBackendJob,++    -- * Request Lenses+    updateBackendJob_operation,+    updateBackendJob_status,+    updateBackendJob_appId,+    updateBackendJob_backendEnvironmentName,+    updateBackendJob_jobId,++    -- * Destructuring the Response+    UpdateBackendJobResponse (..),+    newUpdateBackendJobResponse,++    -- * Response Lenses+    updateBackendJobResponse_appId,+    updateBackendJobResponse_backendEnvironmentName,+    updateBackendJobResponse_createTime,+    updateBackendJobResponse_error,+    updateBackendJobResponse_jobId,+    updateBackendJobResponse_operation,+    updateBackendJobResponse_status,+    updateBackendJobResponse_updateTime,+    updateBackendJobResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for GetBackendJob.+--+-- /See:/ 'newUpdateBackendJob' smart constructor.+data UpdateBackendJob = UpdateBackendJob'+  { -- | Filters the list of response objects to include only those with the+    -- specified operation name.+    operation :: Prelude.Maybe Prelude.Text,+    -- | Filters the list of response objects to include only those with the+    -- specified status.+    status :: Prelude.Maybe Prelude.Text,+    -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'operation', 'updateBackendJob_operation' - Filters the list of response objects to include only those with the+-- specified operation name.+--+-- 'status', 'updateBackendJob_status' - Filters the list of response objects to include only those with the+-- specified status.+--+-- 'appId', 'updateBackendJob_appId' - The app ID.+--+-- 'backendEnvironmentName', 'updateBackendJob_backendEnvironmentName' - The name of the backend environment.+--+-- 'jobId', 'updateBackendJob_jobId' - The ID for the job.+newUpdateBackendJob ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'jobId'+  Prelude.Text ->+  UpdateBackendJob+newUpdateBackendJob+  pAppId_+  pBackendEnvironmentName_+  pJobId_ =+    UpdateBackendJob'+      { operation = Prelude.Nothing,+        status = Prelude.Nothing,+        appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        jobId = pJobId_+      }++-- | Filters the list of response objects to include only those with the+-- specified operation name.+updateBackendJob_operation :: Lens.Lens' UpdateBackendJob (Prelude.Maybe Prelude.Text)+updateBackendJob_operation = Lens.lens (\UpdateBackendJob' {operation} -> operation) (\s@UpdateBackendJob' {} a -> s {operation = a} :: UpdateBackendJob)++-- | Filters the list of response objects to include only those with the+-- specified status.+updateBackendJob_status :: Lens.Lens' UpdateBackendJob (Prelude.Maybe Prelude.Text)+updateBackendJob_status = Lens.lens (\UpdateBackendJob' {status} -> status) (\s@UpdateBackendJob' {} a -> s {status = a} :: UpdateBackendJob)++-- | The app ID.+updateBackendJob_appId :: Lens.Lens' UpdateBackendJob Prelude.Text+updateBackendJob_appId = Lens.lens (\UpdateBackendJob' {appId} -> appId) (\s@UpdateBackendJob' {} a -> s {appId = a} :: UpdateBackendJob)++-- | The name of the backend environment.+updateBackendJob_backendEnvironmentName :: Lens.Lens' UpdateBackendJob Prelude.Text+updateBackendJob_backendEnvironmentName = Lens.lens (\UpdateBackendJob' {backendEnvironmentName} -> backendEnvironmentName) (\s@UpdateBackendJob' {} a -> s {backendEnvironmentName = a} :: UpdateBackendJob)++-- | The ID for the job.+updateBackendJob_jobId :: Lens.Lens' UpdateBackendJob Prelude.Text+updateBackendJob_jobId = Lens.lens (\UpdateBackendJob' {jobId} -> jobId) (\s@UpdateBackendJob' {} a -> s {jobId = a} :: UpdateBackendJob)++instance Core.AWSRequest UpdateBackendJob where+  type+    AWSResponse UpdateBackendJob =+      UpdateBackendJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateBackendJobResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "createTime")+            Prelude.<*> (x Data..?> "error")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "operation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "updateTime")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateBackendJob where+  hashWithSalt _salt UpdateBackendJob' {..} =+    _salt+      `Prelude.hashWithSalt` operation+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` jobId++instance Prelude.NFData UpdateBackendJob where+  rnf UpdateBackendJob' {..} =+    Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf jobId++instance Data.ToHeaders UpdateBackendJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateBackendJob where+  toJSON UpdateBackendJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("operation" Data..=) Prelude.<$> operation,+            ("status" Data..=) Prelude.<$> status+          ]+      )++instance Data.ToPath UpdateBackendJob where+  toPath UpdateBackendJob' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/job/",+        Data.toBS backendEnvironmentName,+        "/",+        Data.toBS jobId+      ]++instance Data.ToQuery UpdateBackendJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateBackendJobResponse' smart constructor.+data UpdateBackendJobResponse = UpdateBackendJobResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | The time when the job was created.+    createTime :: Prelude.Maybe Prelude.Text,+    -- | If the request fails, this error is returned.+    error :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name of the operation.+    operation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: Prelude.Maybe Prelude.Text,+    -- | The time when the job was last updated.+    updateTime :: 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 'UpdateBackendJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'updateBackendJobResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'updateBackendJobResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'createTime', 'updateBackendJobResponse_createTime' - The time when the job was created.+--+-- 'error', 'updateBackendJobResponse_error' - If the request fails, this error is returned.+--+-- 'jobId', 'updateBackendJobResponse_jobId' - The ID for the job.+--+-- 'operation', 'updateBackendJobResponse_operation' - The name of the operation.+--+-- 'status', 'updateBackendJobResponse_status' - The current status of the request.+--+-- 'updateTime', 'updateBackendJobResponse_updateTime' - The time when the job was last updated.+--+-- 'httpStatus', 'updateBackendJobResponse_httpStatus' - The response's http status code.+newUpdateBackendJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateBackendJobResponse+newUpdateBackendJobResponse pHttpStatus_ =+  UpdateBackendJobResponse'+    { appId = Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      createTime = Prelude.Nothing,+      error = Prelude.Nothing,+      jobId = Prelude.Nothing,+      operation = Prelude.Nothing,+      status = Prelude.Nothing,+      updateTime = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+updateBackendJobResponse_appId :: Lens.Lens' UpdateBackendJobResponse (Prelude.Maybe Prelude.Text)+updateBackendJobResponse_appId = Lens.lens (\UpdateBackendJobResponse' {appId} -> appId) (\s@UpdateBackendJobResponse' {} a -> s {appId = a} :: UpdateBackendJobResponse)++-- | The name of the backend environment.+updateBackendJobResponse_backendEnvironmentName :: Lens.Lens' UpdateBackendJobResponse (Prelude.Maybe Prelude.Text)+updateBackendJobResponse_backendEnvironmentName = Lens.lens (\UpdateBackendJobResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@UpdateBackendJobResponse' {} a -> s {backendEnvironmentName = a} :: UpdateBackendJobResponse)++-- | The time when the job was created.+updateBackendJobResponse_createTime :: Lens.Lens' UpdateBackendJobResponse (Prelude.Maybe Prelude.Text)+updateBackendJobResponse_createTime = Lens.lens (\UpdateBackendJobResponse' {createTime} -> createTime) (\s@UpdateBackendJobResponse' {} a -> s {createTime = a} :: UpdateBackendJobResponse)++-- | If the request fails, this error is returned.+updateBackendJobResponse_error :: Lens.Lens' UpdateBackendJobResponse (Prelude.Maybe Prelude.Text)+updateBackendJobResponse_error = Lens.lens (\UpdateBackendJobResponse' {error} -> error) (\s@UpdateBackendJobResponse' {} a -> s {error = a} :: UpdateBackendJobResponse)++-- | The ID for the job.+updateBackendJobResponse_jobId :: Lens.Lens' UpdateBackendJobResponse (Prelude.Maybe Prelude.Text)+updateBackendJobResponse_jobId = Lens.lens (\UpdateBackendJobResponse' {jobId} -> jobId) (\s@UpdateBackendJobResponse' {} a -> s {jobId = a} :: UpdateBackendJobResponse)++-- | The name of the operation.+updateBackendJobResponse_operation :: Lens.Lens' UpdateBackendJobResponse (Prelude.Maybe Prelude.Text)+updateBackendJobResponse_operation = Lens.lens (\UpdateBackendJobResponse' {operation} -> operation) (\s@UpdateBackendJobResponse' {} a -> s {operation = a} :: UpdateBackendJobResponse)++-- | The current status of the request.+updateBackendJobResponse_status :: Lens.Lens' UpdateBackendJobResponse (Prelude.Maybe Prelude.Text)+updateBackendJobResponse_status = Lens.lens (\UpdateBackendJobResponse' {status} -> status) (\s@UpdateBackendJobResponse' {} a -> s {status = a} :: UpdateBackendJobResponse)++-- | The time when the job was last updated.+updateBackendJobResponse_updateTime :: Lens.Lens' UpdateBackendJobResponse (Prelude.Maybe Prelude.Text)+updateBackendJobResponse_updateTime = Lens.lens (\UpdateBackendJobResponse' {updateTime} -> updateTime) (\s@UpdateBackendJobResponse' {} a -> s {updateTime = a} :: UpdateBackendJobResponse)++-- | The response's http status code.+updateBackendJobResponse_httpStatus :: Lens.Lens' UpdateBackendJobResponse Prelude.Int+updateBackendJobResponse_httpStatus = Lens.lens (\UpdateBackendJobResponse' {httpStatus} -> httpStatus) (\s@UpdateBackendJobResponse' {} a -> s {httpStatus = a} :: UpdateBackendJobResponse)++instance Prelude.NFData UpdateBackendJobResponse where+  rnf UpdateBackendJobResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf createTime+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf updateTime+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/UpdateBackendStorage.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.AmplifyBackend.UpdateBackendStorage+-- 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 an existing backend storage resource.+module Amazonka.AmplifyBackend.UpdateBackendStorage+  ( -- * Creating a Request+    UpdateBackendStorage (..),+    newUpdateBackendStorage,++    -- * Request Lenses+    updateBackendStorage_appId,+    updateBackendStorage_backendEnvironmentName,+    updateBackendStorage_resourceName,+    updateBackendStorage_resourceConfig,++    -- * Destructuring the Response+    UpdateBackendStorageResponse (..),+    newUpdateBackendStorageResponse,++    -- * Response Lenses+    updateBackendStorageResponse_appId,+    updateBackendStorageResponse_backendEnvironmentName,+    updateBackendStorageResponse_jobId,+    updateBackendStorageResponse_status,+    updateBackendStorageResponse_httpStatus,+  )+where++import Amazonka.AmplifyBackend.Types+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++-- | The request body for UpdateBackendStorage.+--+-- /See:/ 'newUpdateBackendStorage' smart constructor.+data UpdateBackendStorage = UpdateBackendStorage'+  { -- | The app ID.+    appId :: Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Text,+    -- | The name of the storage resource.+    resourceName :: Prelude.Text,+    -- | The resource configuration for updating backend storage.+    resourceConfig :: UpdateBackendStorageResourceConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBackendStorage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'updateBackendStorage_appId' - The app ID.+--+-- 'backendEnvironmentName', 'updateBackendStorage_backendEnvironmentName' - The name of the backend environment.+--+-- 'resourceName', 'updateBackendStorage_resourceName' - The name of the storage resource.+--+-- 'resourceConfig', 'updateBackendStorage_resourceConfig' - The resource configuration for updating backend storage.+newUpdateBackendStorage ::+  -- | 'appId'+  Prelude.Text ->+  -- | 'backendEnvironmentName'+  Prelude.Text ->+  -- | 'resourceName'+  Prelude.Text ->+  -- | 'resourceConfig'+  UpdateBackendStorageResourceConfig ->+  UpdateBackendStorage+newUpdateBackendStorage+  pAppId_+  pBackendEnvironmentName_+  pResourceName_+  pResourceConfig_ =+    UpdateBackendStorage'+      { appId = pAppId_,+        backendEnvironmentName = pBackendEnvironmentName_,+        resourceName = pResourceName_,+        resourceConfig = pResourceConfig_+      }++-- | The app ID.+updateBackendStorage_appId :: Lens.Lens' UpdateBackendStorage Prelude.Text+updateBackendStorage_appId = Lens.lens (\UpdateBackendStorage' {appId} -> appId) (\s@UpdateBackendStorage' {} a -> s {appId = a} :: UpdateBackendStorage)++-- | The name of the backend environment.+updateBackendStorage_backendEnvironmentName :: Lens.Lens' UpdateBackendStorage Prelude.Text+updateBackendStorage_backendEnvironmentName = Lens.lens (\UpdateBackendStorage' {backendEnvironmentName} -> backendEnvironmentName) (\s@UpdateBackendStorage' {} a -> s {backendEnvironmentName = a} :: UpdateBackendStorage)++-- | The name of the storage resource.+updateBackendStorage_resourceName :: Lens.Lens' UpdateBackendStorage Prelude.Text+updateBackendStorage_resourceName = Lens.lens (\UpdateBackendStorage' {resourceName} -> resourceName) (\s@UpdateBackendStorage' {} a -> s {resourceName = a} :: UpdateBackendStorage)++-- | The resource configuration for updating backend storage.+updateBackendStorage_resourceConfig :: Lens.Lens' UpdateBackendStorage UpdateBackendStorageResourceConfig+updateBackendStorage_resourceConfig = Lens.lens (\UpdateBackendStorage' {resourceConfig} -> resourceConfig) (\s@UpdateBackendStorage' {} a -> s {resourceConfig = a} :: UpdateBackendStorage)++instance Core.AWSRequest UpdateBackendStorage where+  type+    AWSResponse UpdateBackendStorage =+      UpdateBackendStorageResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateBackendStorageResponse'+            Prelude.<$> (x Data..?> "appId")+            Prelude.<*> (x Data..?> "backendEnvironmentName")+            Prelude.<*> (x Data..?> "jobId")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateBackendStorage where+  hashWithSalt _salt UpdateBackendStorage' {..} =+    _salt+      `Prelude.hashWithSalt` appId+      `Prelude.hashWithSalt` backendEnvironmentName+      `Prelude.hashWithSalt` resourceName+      `Prelude.hashWithSalt` resourceConfig++instance Prelude.NFData UpdateBackendStorage where+  rnf UpdateBackendStorage' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf resourceName+      `Prelude.seq` Prelude.rnf resourceConfig++instance Data.ToHeaders UpdateBackendStorage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateBackendStorage where+  toJSON UpdateBackendStorage' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("resourceName" Data..= resourceName),+            Prelude.Just+              ("resourceConfig" Data..= resourceConfig)+          ]+      )++instance Data.ToPath UpdateBackendStorage where+  toPath UpdateBackendStorage' {..} =+    Prelude.mconcat+      [ "/backend/",+        Data.toBS appId,+        "/storage/",+        Data.toBS backendEnvironmentName+      ]++instance Data.ToQuery UpdateBackendStorage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateBackendStorageResponse' smart constructor.+data UpdateBackendStorageResponse = UpdateBackendStorageResponse'+  { -- | The app ID.+    appId :: Prelude.Maybe Prelude.Text,+    -- | The name of the backend environment.+    backendEnvironmentName :: Prelude.Maybe Prelude.Text,+    -- | The ID for the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The current status of the request.+    status :: 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 'UpdateBackendStorageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appId', 'updateBackendStorageResponse_appId' - The app ID.+--+-- 'backendEnvironmentName', 'updateBackendStorageResponse_backendEnvironmentName' - The name of the backend environment.+--+-- 'jobId', 'updateBackendStorageResponse_jobId' - The ID for the job.+--+-- 'status', 'updateBackendStorageResponse_status' - The current status of the request.+--+-- 'httpStatus', 'updateBackendStorageResponse_httpStatus' - The response's http status code.+newUpdateBackendStorageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateBackendStorageResponse+newUpdateBackendStorageResponse pHttpStatus_ =+  UpdateBackendStorageResponse'+    { appId =+        Prelude.Nothing,+      backendEnvironmentName = Prelude.Nothing,+      jobId = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The app ID.+updateBackendStorageResponse_appId :: Lens.Lens' UpdateBackendStorageResponse (Prelude.Maybe Prelude.Text)+updateBackendStorageResponse_appId = Lens.lens (\UpdateBackendStorageResponse' {appId} -> appId) (\s@UpdateBackendStorageResponse' {} a -> s {appId = a} :: UpdateBackendStorageResponse)++-- | The name of the backend environment.+updateBackendStorageResponse_backendEnvironmentName :: Lens.Lens' UpdateBackendStorageResponse (Prelude.Maybe Prelude.Text)+updateBackendStorageResponse_backendEnvironmentName = Lens.lens (\UpdateBackendStorageResponse' {backendEnvironmentName} -> backendEnvironmentName) (\s@UpdateBackendStorageResponse' {} a -> s {backendEnvironmentName = a} :: UpdateBackendStorageResponse)++-- | The ID for the job.+updateBackendStorageResponse_jobId :: Lens.Lens' UpdateBackendStorageResponse (Prelude.Maybe Prelude.Text)+updateBackendStorageResponse_jobId = Lens.lens (\UpdateBackendStorageResponse' {jobId} -> jobId) (\s@UpdateBackendStorageResponse' {} a -> s {jobId = a} :: UpdateBackendStorageResponse)++-- | The current status of the request.+updateBackendStorageResponse_status :: Lens.Lens' UpdateBackendStorageResponse (Prelude.Maybe Prelude.Text)+updateBackendStorageResponse_status = Lens.lens (\UpdateBackendStorageResponse' {status} -> status) (\s@UpdateBackendStorageResponse' {} a -> s {status = a} :: UpdateBackendStorageResponse)++-- | The response's http status code.+updateBackendStorageResponse_httpStatus :: Lens.Lens' UpdateBackendStorageResponse Prelude.Int+updateBackendStorageResponse_httpStatus = Lens.lens (\UpdateBackendStorageResponse' {httpStatus} -> httpStatus) (\s@UpdateBackendStorageResponse' {} a -> s {httpStatus = a} :: UpdateBackendStorageResponse)++instance Prelude.NFData UpdateBackendStorageResponse where+  rnf UpdateBackendStorageResponse' {..} =+    Prelude.rnf appId+      `Prelude.seq` Prelude.rnf backendEnvironmentName+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AmplifyBackend/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.AmplifyBackend.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.AmplifyBackend.Waiters where++import Amazonka.AmplifyBackend.Lens+import Amazonka.AmplifyBackend.Types+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
+ 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.AmplifyBackend+import Test.Amazonka.AmplifyBackend.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "AmplifyBackend"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/AmplifyBackend.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.AmplifyBackend+-- 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.AmplifyBackend+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/AmplifyBackend/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.AmplifyBackend.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.AmplifyBackend.Internal where
+ test/Test/Amazonka/Gen/AmplifyBackend.hs view
@@ -0,0 +1,658 @@+{-# 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.AmplifyBackend+-- 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.AmplifyBackend where++import Amazonka.AmplifyBackend+import qualified Data.Proxy as Proxy+import Test.Amazonka.AmplifyBackend.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestCloneBackend $+--             newCloneBackend+--+--         , requestCreateBackend $+--             newCreateBackend+--+--         , requestCreateBackendAPI $+--             newCreateBackendAPI+--+--         , requestCreateBackendAuth $+--             newCreateBackendAuth+--+--         , requestCreateBackendConfig $+--             newCreateBackendConfig+--+--         , requestCreateBackendStorage $+--             newCreateBackendStorage+--+--         , requestCreateToken $+--             newCreateToken+--+--         , requestDeleteBackend $+--             newDeleteBackend+--+--         , requestDeleteBackendAPI $+--             newDeleteBackendAPI+--+--         , requestDeleteBackendAuth $+--             newDeleteBackendAuth+--+--         , requestDeleteBackendStorage $+--             newDeleteBackendStorage+--+--         , requestDeleteToken $+--             newDeleteToken+--+--         , requestGenerateBackendAPIModels $+--             newGenerateBackendAPIModels+--+--         , requestGetBackend $+--             newGetBackend+--+--         , requestGetBackendAPI $+--             newGetBackendAPI+--+--         , requestGetBackendAPIModels $+--             newGetBackendAPIModels+--+--         , requestGetBackendAuth $+--             newGetBackendAuth+--+--         , requestGetBackendJob $+--             newGetBackendJob+--+--         , requestGetBackendStorage $+--             newGetBackendStorage+--+--         , requestGetToken $+--             newGetToken+--+--         , requestImportBackendAuth $+--             newImportBackendAuth+--+--         , requestImportBackendStorage $+--             newImportBackendStorage+--+--         , requestListBackendJobs $+--             newListBackendJobs+--+--         , requestListS3Buckets $+--             newListS3Buckets+--+--         , requestRemoveAllBackends $+--             newRemoveAllBackends+--+--         , requestRemoveBackendConfig $+--             newRemoveBackendConfig+--+--         , requestUpdateBackendAPI $+--             newUpdateBackendAPI+--+--         , requestUpdateBackendAuth $+--             newUpdateBackendAuth+--+--         , requestUpdateBackendConfig $+--             newUpdateBackendConfig+--+--         , requestUpdateBackendJob $+--             newUpdateBackendJob+--+--         , requestUpdateBackendStorage $+--             newUpdateBackendStorage+--+--           ]++--     , testGroup "response"+--         [ responseCloneBackend $+--             newCloneBackendResponse+--+--         , responseCreateBackend $+--             newCreateBackendResponse+--+--         , responseCreateBackendAPI $+--             newCreateBackendAPIResponse+--+--         , responseCreateBackendAuth $+--             newCreateBackendAuthResponse+--+--         , responseCreateBackendConfig $+--             newCreateBackendConfigResponse+--+--         , responseCreateBackendStorage $+--             newCreateBackendStorageResponse+--+--         , responseCreateToken $+--             newCreateTokenResponse+--+--         , responseDeleteBackend $+--             newDeleteBackendResponse+--+--         , responseDeleteBackendAPI $+--             newDeleteBackendAPIResponse+--+--         , responseDeleteBackendAuth $+--             newDeleteBackendAuthResponse+--+--         , responseDeleteBackendStorage $+--             newDeleteBackendStorageResponse+--+--         , responseDeleteToken $+--             newDeleteTokenResponse+--+--         , responseGenerateBackendAPIModels $+--             newGenerateBackendAPIModelsResponse+--+--         , responseGetBackend $+--             newGetBackendResponse+--+--         , responseGetBackendAPI $+--             newGetBackendAPIResponse+--+--         , responseGetBackendAPIModels $+--             newGetBackendAPIModelsResponse+--+--         , responseGetBackendAuth $+--             newGetBackendAuthResponse+--+--         , responseGetBackendJob $+--             newGetBackendJobResponse+--+--         , responseGetBackendStorage $+--             newGetBackendStorageResponse+--+--         , responseGetToken $+--             newGetTokenResponse+--+--         , responseImportBackendAuth $+--             newImportBackendAuthResponse+--+--         , responseImportBackendStorage $+--             newImportBackendStorageResponse+--+--         , responseListBackendJobs $+--             newListBackendJobsResponse+--+--         , responseListS3Buckets $+--             newListS3BucketsResponse+--+--         , responseRemoveAllBackends $+--             newRemoveAllBackendsResponse+--+--         , responseRemoveBackendConfig $+--             newRemoveBackendConfigResponse+--+--         , responseUpdateBackendAPI $+--             newUpdateBackendAPIResponse+--+--         , responseUpdateBackendAuth $+--             newUpdateBackendAuthResponse+--+--         , responseUpdateBackendConfig $+--             newUpdateBackendConfigResponse+--+--         , responseUpdateBackendJob $+--             newUpdateBackendJobResponse+--+--         , responseUpdateBackendStorage $+--             newUpdateBackendStorageResponse+--+--           ]+--     ]++-- Requests++requestCloneBackend :: CloneBackend -> TestTree+requestCloneBackend =+  req+    "CloneBackend"+    "fixture/CloneBackend.yaml"++requestCreateBackend :: CreateBackend -> TestTree+requestCreateBackend =+  req+    "CreateBackend"+    "fixture/CreateBackend.yaml"++requestCreateBackendAPI :: CreateBackendAPI -> TestTree+requestCreateBackendAPI =+  req+    "CreateBackendAPI"+    "fixture/CreateBackendAPI.yaml"++requestCreateBackendAuth :: CreateBackendAuth -> TestTree+requestCreateBackendAuth =+  req+    "CreateBackendAuth"+    "fixture/CreateBackendAuth.yaml"++requestCreateBackendConfig :: CreateBackendConfig -> TestTree+requestCreateBackendConfig =+  req+    "CreateBackendConfig"+    "fixture/CreateBackendConfig.yaml"++requestCreateBackendStorage :: CreateBackendStorage -> TestTree+requestCreateBackendStorage =+  req+    "CreateBackendStorage"+    "fixture/CreateBackendStorage.yaml"++requestCreateToken :: CreateToken -> TestTree+requestCreateToken =+  req+    "CreateToken"+    "fixture/CreateToken.yaml"++requestDeleteBackend :: DeleteBackend -> TestTree+requestDeleteBackend =+  req+    "DeleteBackend"+    "fixture/DeleteBackend.yaml"++requestDeleteBackendAPI :: DeleteBackendAPI -> TestTree+requestDeleteBackendAPI =+  req+    "DeleteBackendAPI"+    "fixture/DeleteBackendAPI.yaml"++requestDeleteBackendAuth :: DeleteBackendAuth -> TestTree+requestDeleteBackendAuth =+  req+    "DeleteBackendAuth"+    "fixture/DeleteBackendAuth.yaml"++requestDeleteBackendStorage :: DeleteBackendStorage -> TestTree+requestDeleteBackendStorage =+  req+    "DeleteBackendStorage"+    "fixture/DeleteBackendStorage.yaml"++requestDeleteToken :: DeleteToken -> TestTree+requestDeleteToken =+  req+    "DeleteToken"+    "fixture/DeleteToken.yaml"++requestGenerateBackendAPIModels :: GenerateBackendAPIModels -> TestTree+requestGenerateBackendAPIModels =+  req+    "GenerateBackendAPIModels"+    "fixture/GenerateBackendAPIModels.yaml"++requestGetBackend :: GetBackend -> TestTree+requestGetBackend =+  req+    "GetBackend"+    "fixture/GetBackend.yaml"++requestGetBackendAPI :: GetBackendAPI -> TestTree+requestGetBackendAPI =+  req+    "GetBackendAPI"+    "fixture/GetBackendAPI.yaml"++requestGetBackendAPIModels :: GetBackendAPIModels -> TestTree+requestGetBackendAPIModels =+  req+    "GetBackendAPIModels"+    "fixture/GetBackendAPIModels.yaml"++requestGetBackendAuth :: GetBackendAuth -> TestTree+requestGetBackendAuth =+  req+    "GetBackendAuth"+    "fixture/GetBackendAuth.yaml"++requestGetBackendJob :: GetBackendJob -> TestTree+requestGetBackendJob =+  req+    "GetBackendJob"+    "fixture/GetBackendJob.yaml"++requestGetBackendStorage :: GetBackendStorage -> TestTree+requestGetBackendStorage =+  req+    "GetBackendStorage"+    "fixture/GetBackendStorage.yaml"++requestGetToken :: GetToken -> TestTree+requestGetToken =+  req+    "GetToken"+    "fixture/GetToken.yaml"++requestImportBackendAuth :: ImportBackendAuth -> TestTree+requestImportBackendAuth =+  req+    "ImportBackendAuth"+    "fixture/ImportBackendAuth.yaml"++requestImportBackendStorage :: ImportBackendStorage -> TestTree+requestImportBackendStorage =+  req+    "ImportBackendStorage"+    "fixture/ImportBackendStorage.yaml"++requestListBackendJobs :: ListBackendJobs -> TestTree+requestListBackendJobs =+  req+    "ListBackendJobs"+    "fixture/ListBackendJobs.yaml"++requestListS3Buckets :: ListS3Buckets -> TestTree+requestListS3Buckets =+  req+    "ListS3Buckets"+    "fixture/ListS3Buckets.yaml"++requestRemoveAllBackends :: RemoveAllBackends -> TestTree+requestRemoveAllBackends =+  req+    "RemoveAllBackends"+    "fixture/RemoveAllBackends.yaml"++requestRemoveBackendConfig :: RemoveBackendConfig -> TestTree+requestRemoveBackendConfig =+  req+    "RemoveBackendConfig"+    "fixture/RemoveBackendConfig.yaml"++requestUpdateBackendAPI :: UpdateBackendAPI -> TestTree+requestUpdateBackendAPI =+  req+    "UpdateBackendAPI"+    "fixture/UpdateBackendAPI.yaml"++requestUpdateBackendAuth :: UpdateBackendAuth -> TestTree+requestUpdateBackendAuth =+  req+    "UpdateBackendAuth"+    "fixture/UpdateBackendAuth.yaml"++requestUpdateBackendConfig :: UpdateBackendConfig -> TestTree+requestUpdateBackendConfig =+  req+    "UpdateBackendConfig"+    "fixture/UpdateBackendConfig.yaml"++requestUpdateBackendJob :: UpdateBackendJob -> TestTree+requestUpdateBackendJob =+  req+    "UpdateBackendJob"+    "fixture/UpdateBackendJob.yaml"++requestUpdateBackendStorage :: UpdateBackendStorage -> TestTree+requestUpdateBackendStorage =+  req+    "UpdateBackendStorage"+    "fixture/UpdateBackendStorage.yaml"++-- Responses++responseCloneBackend :: CloneBackendResponse -> TestTree+responseCloneBackend =+  res+    "CloneBackendResponse"+    "fixture/CloneBackendResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CloneBackend)++responseCreateBackend :: CreateBackendResponse -> TestTree+responseCreateBackend =+  res+    "CreateBackendResponse"+    "fixture/CreateBackendResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateBackend)++responseCreateBackendAPI :: CreateBackendAPIResponse -> TestTree+responseCreateBackendAPI =+  res+    "CreateBackendAPIResponse"+    "fixture/CreateBackendAPIResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateBackendAPI)++responseCreateBackendAuth :: CreateBackendAuthResponse -> TestTree+responseCreateBackendAuth =+  res+    "CreateBackendAuthResponse"+    "fixture/CreateBackendAuthResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateBackendAuth)++responseCreateBackendConfig :: CreateBackendConfigResponse -> TestTree+responseCreateBackendConfig =+  res+    "CreateBackendConfigResponse"+    "fixture/CreateBackendConfigResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateBackendConfig)++responseCreateBackendStorage :: CreateBackendStorageResponse -> TestTree+responseCreateBackendStorage =+  res+    "CreateBackendStorageResponse"+    "fixture/CreateBackendStorageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateBackendStorage)++responseCreateToken :: CreateTokenResponse -> TestTree+responseCreateToken =+  res+    "CreateTokenResponse"+    "fixture/CreateTokenResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateToken)++responseDeleteBackend :: DeleteBackendResponse -> TestTree+responseDeleteBackend =+  res+    "DeleteBackendResponse"+    "fixture/DeleteBackendResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBackend)++responseDeleteBackendAPI :: DeleteBackendAPIResponse -> TestTree+responseDeleteBackendAPI =+  res+    "DeleteBackendAPIResponse"+    "fixture/DeleteBackendAPIResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBackendAPI)++responseDeleteBackendAuth :: DeleteBackendAuthResponse -> TestTree+responseDeleteBackendAuth =+  res+    "DeleteBackendAuthResponse"+    "fixture/DeleteBackendAuthResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBackendAuth)++responseDeleteBackendStorage :: DeleteBackendStorageResponse -> TestTree+responseDeleteBackendStorage =+  res+    "DeleteBackendStorageResponse"+    "fixture/DeleteBackendStorageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBackendStorage)++responseDeleteToken :: DeleteTokenResponse -> TestTree+responseDeleteToken =+  res+    "DeleteTokenResponse"+    "fixture/DeleteTokenResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteToken)++responseGenerateBackendAPIModels :: GenerateBackendAPIModelsResponse -> TestTree+responseGenerateBackendAPIModels =+  res+    "GenerateBackendAPIModelsResponse"+    "fixture/GenerateBackendAPIModelsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GenerateBackendAPIModels)++responseGetBackend :: GetBackendResponse -> TestTree+responseGetBackend =+  res+    "GetBackendResponse"+    "fixture/GetBackendResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBackend)++responseGetBackendAPI :: GetBackendAPIResponse -> TestTree+responseGetBackendAPI =+  res+    "GetBackendAPIResponse"+    "fixture/GetBackendAPIResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBackendAPI)++responseGetBackendAPIModels :: GetBackendAPIModelsResponse -> TestTree+responseGetBackendAPIModels =+  res+    "GetBackendAPIModelsResponse"+    "fixture/GetBackendAPIModelsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBackendAPIModels)++responseGetBackendAuth :: GetBackendAuthResponse -> TestTree+responseGetBackendAuth =+  res+    "GetBackendAuthResponse"+    "fixture/GetBackendAuthResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBackendAuth)++responseGetBackendJob :: GetBackendJobResponse -> TestTree+responseGetBackendJob =+  res+    "GetBackendJobResponse"+    "fixture/GetBackendJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBackendJob)++responseGetBackendStorage :: GetBackendStorageResponse -> TestTree+responseGetBackendStorage =+  res+    "GetBackendStorageResponse"+    "fixture/GetBackendStorageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBackendStorage)++responseGetToken :: GetTokenResponse -> TestTree+responseGetToken =+  res+    "GetTokenResponse"+    "fixture/GetTokenResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetToken)++responseImportBackendAuth :: ImportBackendAuthResponse -> TestTree+responseImportBackendAuth =+  res+    "ImportBackendAuthResponse"+    "fixture/ImportBackendAuthResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ImportBackendAuth)++responseImportBackendStorage :: ImportBackendStorageResponse -> TestTree+responseImportBackendStorage =+  res+    "ImportBackendStorageResponse"+    "fixture/ImportBackendStorageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ImportBackendStorage)++responseListBackendJobs :: ListBackendJobsResponse -> TestTree+responseListBackendJobs =+  res+    "ListBackendJobsResponse"+    "fixture/ListBackendJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListBackendJobs)++responseListS3Buckets :: ListS3BucketsResponse -> TestTree+responseListS3Buckets =+  res+    "ListS3BucketsResponse"+    "fixture/ListS3BucketsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListS3Buckets)++responseRemoveAllBackends :: RemoveAllBackendsResponse -> TestTree+responseRemoveAllBackends =+  res+    "RemoveAllBackendsResponse"+    "fixture/RemoveAllBackendsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RemoveAllBackends)++responseRemoveBackendConfig :: RemoveBackendConfigResponse -> TestTree+responseRemoveBackendConfig =+  res+    "RemoveBackendConfigResponse"+    "fixture/RemoveBackendConfigResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RemoveBackendConfig)++responseUpdateBackendAPI :: UpdateBackendAPIResponse -> TestTree+responseUpdateBackendAPI =+  res+    "UpdateBackendAPIResponse"+    "fixture/UpdateBackendAPIResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateBackendAPI)++responseUpdateBackendAuth :: UpdateBackendAuthResponse -> TestTree+responseUpdateBackendAuth =+  res+    "UpdateBackendAuthResponse"+    "fixture/UpdateBackendAuthResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateBackendAuth)++responseUpdateBackendConfig :: UpdateBackendConfigResponse -> TestTree+responseUpdateBackendConfig =+  res+    "UpdateBackendConfigResponse"+    "fixture/UpdateBackendConfigResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateBackendConfig)++responseUpdateBackendJob :: UpdateBackendJobResponse -> TestTree+responseUpdateBackendJob =+  res+    "UpdateBackendJobResponse"+    "fixture/UpdateBackendJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateBackendJob)++responseUpdateBackendStorage :: UpdateBackendStorageResponse -> TestTree+responseUpdateBackendStorage =+  res+    "UpdateBackendStorageResponse"+    "fixture/UpdateBackendStorageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateBackendStorage)