packages feed

amazonka-chime-sdk-identity (empty) → 2.0

raw patch · 102 files changed

+8681/−0 lines, 102 filesdep +amazonka-chime-sdk-identitydep +amazonka-coredep +amazonka-test

Dependencies added: amazonka-chime-sdk-identity, 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 Chime SDK Identity SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-04-20@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-chime-sdk-identity)+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.ChimeSDKIdentity](http://hackage.haskell.org/package/amazonka-chime-sdk-identity/docs/Amazonka-ChimeSDKIdentity.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-chime-sdk-identity` 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-chime-sdk-identity.cabal view
@@ -0,0 +1,125 @@+cabal-version:      2.2+name:               amazonka-chime-sdk-identity+version:            2.0+synopsis:           Amazon Chime SDK Identity 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 @2021-04-20@ 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.ChimeSDKIdentity.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.ChimeSDKIdentity" 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-chime-sdk-identity++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.ChimeSDKIdentity+    Amazonka.ChimeSDKIdentity.CreateAppInstance+    Amazonka.ChimeSDKIdentity.CreateAppInstanceAdmin+    Amazonka.ChimeSDKIdentity.CreateAppInstanceUser+    Amazonka.ChimeSDKIdentity.DeleteAppInstance+    Amazonka.ChimeSDKIdentity.DeleteAppInstanceAdmin+    Amazonka.ChimeSDKIdentity.DeleteAppInstanceUser+    Amazonka.ChimeSDKIdentity.DeregisterAppInstanceUserEndpoint+    Amazonka.ChimeSDKIdentity.DescribeAppInstance+    Amazonka.ChimeSDKIdentity.DescribeAppInstanceAdmin+    Amazonka.ChimeSDKIdentity.DescribeAppInstanceUser+    Amazonka.ChimeSDKIdentity.DescribeAppInstanceUserEndpoint+    Amazonka.ChimeSDKIdentity.GetAppInstanceRetentionSettings+    Amazonka.ChimeSDKIdentity.Lens+    Amazonka.ChimeSDKIdentity.ListAppInstanceAdmins+    Amazonka.ChimeSDKIdentity.ListAppInstances+    Amazonka.ChimeSDKIdentity.ListAppInstanceUserEndpoints+    Amazonka.ChimeSDKIdentity.ListAppInstanceUsers+    Amazonka.ChimeSDKIdentity.ListTagsForResource+    Amazonka.ChimeSDKIdentity.PutAppInstanceRetentionSettings+    Amazonka.ChimeSDKIdentity.RegisterAppInstanceUserEndpoint+    Amazonka.ChimeSDKIdentity.TagResource+    Amazonka.ChimeSDKIdentity.Types+    Amazonka.ChimeSDKIdentity.Types.AllowMessages+    Amazonka.ChimeSDKIdentity.Types.AppInstance+    Amazonka.ChimeSDKIdentity.Types.AppInstanceAdmin+    Amazonka.ChimeSDKIdentity.Types.AppInstanceAdminSummary+    Amazonka.ChimeSDKIdentity.Types.AppInstanceRetentionSettings+    Amazonka.ChimeSDKIdentity.Types.AppInstanceSummary+    Amazonka.ChimeSDKIdentity.Types.AppInstanceUser+    Amazonka.ChimeSDKIdentity.Types.AppInstanceUserEndpoint+    Amazonka.ChimeSDKIdentity.Types.AppInstanceUserEndpointSummary+    Amazonka.ChimeSDKIdentity.Types.AppInstanceUserEndpointType+    Amazonka.ChimeSDKIdentity.Types.AppInstanceUserSummary+    Amazonka.ChimeSDKIdentity.Types.ChannelRetentionSettings+    Amazonka.ChimeSDKIdentity.Types.EndpointAttributes+    Amazonka.ChimeSDKIdentity.Types.EndpointState+    Amazonka.ChimeSDKIdentity.Types.EndpointStatus+    Amazonka.ChimeSDKIdentity.Types.EndpointStatusReason+    Amazonka.ChimeSDKIdentity.Types.Identity+    Amazonka.ChimeSDKIdentity.Types.Tag+    Amazonka.ChimeSDKIdentity.UntagResource+    Amazonka.ChimeSDKIdentity.UpdateAppInstance+    Amazonka.ChimeSDKIdentity.UpdateAppInstanceUser+    Amazonka.ChimeSDKIdentity.UpdateAppInstanceUserEndpoint+    Amazonka.ChimeSDKIdentity.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-chime-sdk-identity-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.ChimeSDKIdentity+    Test.Amazonka.ChimeSDKIdentity.Internal+    Test.Amazonka.Gen.ChimeSDKIdentity++  build-depends:+    , amazonka-chime-sdk-identity+    , amazonka-core                >=2.0 && <2.1+    , amazonka-test                >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateAppInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/CreateAppInstanceAdmin.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/CreateAppInstanceAdminResponse.proto view
+ fixture/CreateAppInstanceResponse.proto view
+ fixture/CreateAppInstanceUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/CreateAppInstanceUserResponse.proto view
+ fixture/DeleteAppInstance.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/DeleteAppInstanceAdmin.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/DeleteAppInstanceAdminResponse.proto view
+ fixture/DeleteAppInstanceResponse.proto view
+ fixture/DeleteAppInstanceUser.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/DeleteAppInstanceUserResponse.proto view
+ fixture/DeregisterAppInstanceUserEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/DeregisterAppInstanceUserEndpointResponse.proto view
+ fixture/DescribeAppInstance.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/DescribeAppInstanceAdmin.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/DescribeAppInstanceAdminResponse.proto view
+ fixture/DescribeAppInstanceResponse.proto view
+ fixture/DescribeAppInstanceUser.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/DescribeAppInstanceUserEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/DescribeAppInstanceUserEndpointResponse.proto view
+ fixture/DescribeAppInstanceUserResponse.proto view
+ fixture/GetAppInstanceRetentionSettings.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/GetAppInstanceRetentionSettingsResponse.proto view
+ fixture/ListAppInstanceAdmins.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/ListAppInstanceAdminsResponse.proto view
+ fixture/ListAppInstanceUserEndpoints.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/ListAppInstanceUserEndpointsResponse.proto view
+ fixture/ListAppInstanceUsers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/ListAppInstanceUsersResponse.proto view
+ fixture/ListAppInstances.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/ListAppInstancesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/PutAppInstanceRetentionSettings.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/PutAppInstanceRetentionSettingsResponse.proto view
+ fixture/RegisterAppInstanceUserEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/RegisterAppInstanceUserEndpointResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateAppInstance.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/UpdateAppInstanceResponse.proto view
+ fixture/UpdateAppInstanceUser.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/UpdateAppInstanceUserEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identity-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  identity-chime.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/UpdateAppInstanceUserEndpointResponse.proto view
+ fixture/UpdateAppInstanceUserResponse.proto view
+ gen/Amazonka/ChimeSDKIdentity.hs view
@@ -0,0 +1,326 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.ChimeSDKIdentity+-- 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 @2021-04-20@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- The Amazon Chime SDK Identity APIs in this section allow software+-- developers to create and manage unique instances of their messaging+-- applications. These APIs provide the overarching framework for creating+-- and sending messages. For more information about the identity APIs,+-- refer to+-- <https://docs.aws.amazon.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Identity.html Amazon Chime SDK identity>.+module Amazonka.ChimeSDKIdentity+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** BadRequestException+    _BadRequestException,++    -- ** ConflictException+    _ConflictException,++    -- ** ForbiddenException+    _ForbiddenException,++    -- ** ResourceLimitExceededException+    _ResourceLimitExceededException,++    -- ** ServiceFailureException+    _ServiceFailureException,++    -- ** ServiceUnavailableException+    _ServiceUnavailableException,++    -- ** ThrottledClientException+    _ThrottledClientException,++    -- ** UnauthorizedClientException+    _UnauthorizedClientException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateAppInstance+    CreateAppInstance (CreateAppInstance'),+    newCreateAppInstance,+    CreateAppInstanceResponse (CreateAppInstanceResponse'),+    newCreateAppInstanceResponse,++    -- ** CreateAppInstanceAdmin+    CreateAppInstanceAdmin (CreateAppInstanceAdmin'),+    newCreateAppInstanceAdmin,+    CreateAppInstanceAdminResponse (CreateAppInstanceAdminResponse'),+    newCreateAppInstanceAdminResponse,++    -- ** CreateAppInstanceUser+    CreateAppInstanceUser (CreateAppInstanceUser'),+    newCreateAppInstanceUser,+    CreateAppInstanceUserResponse (CreateAppInstanceUserResponse'),+    newCreateAppInstanceUserResponse,++    -- ** DeleteAppInstance+    DeleteAppInstance (DeleteAppInstance'),+    newDeleteAppInstance,+    DeleteAppInstanceResponse (DeleteAppInstanceResponse'),+    newDeleteAppInstanceResponse,++    -- ** DeleteAppInstanceAdmin+    DeleteAppInstanceAdmin (DeleteAppInstanceAdmin'),+    newDeleteAppInstanceAdmin,+    DeleteAppInstanceAdminResponse (DeleteAppInstanceAdminResponse'),+    newDeleteAppInstanceAdminResponse,++    -- ** DeleteAppInstanceUser+    DeleteAppInstanceUser (DeleteAppInstanceUser'),+    newDeleteAppInstanceUser,+    DeleteAppInstanceUserResponse (DeleteAppInstanceUserResponse'),+    newDeleteAppInstanceUserResponse,++    -- ** DeregisterAppInstanceUserEndpoint+    DeregisterAppInstanceUserEndpoint (DeregisterAppInstanceUserEndpoint'),+    newDeregisterAppInstanceUserEndpoint,+    DeregisterAppInstanceUserEndpointResponse (DeregisterAppInstanceUserEndpointResponse'),+    newDeregisterAppInstanceUserEndpointResponse,++    -- ** DescribeAppInstance+    DescribeAppInstance (DescribeAppInstance'),+    newDescribeAppInstance,+    DescribeAppInstanceResponse (DescribeAppInstanceResponse'),+    newDescribeAppInstanceResponse,++    -- ** DescribeAppInstanceAdmin+    DescribeAppInstanceAdmin (DescribeAppInstanceAdmin'),+    newDescribeAppInstanceAdmin,+    DescribeAppInstanceAdminResponse (DescribeAppInstanceAdminResponse'),+    newDescribeAppInstanceAdminResponse,++    -- ** DescribeAppInstanceUser+    DescribeAppInstanceUser (DescribeAppInstanceUser'),+    newDescribeAppInstanceUser,+    DescribeAppInstanceUserResponse (DescribeAppInstanceUserResponse'),+    newDescribeAppInstanceUserResponse,++    -- ** DescribeAppInstanceUserEndpoint+    DescribeAppInstanceUserEndpoint (DescribeAppInstanceUserEndpoint'),+    newDescribeAppInstanceUserEndpoint,+    DescribeAppInstanceUserEndpointResponse (DescribeAppInstanceUserEndpointResponse'),+    newDescribeAppInstanceUserEndpointResponse,++    -- ** GetAppInstanceRetentionSettings+    GetAppInstanceRetentionSettings (GetAppInstanceRetentionSettings'),+    newGetAppInstanceRetentionSettings,+    GetAppInstanceRetentionSettingsResponse (GetAppInstanceRetentionSettingsResponse'),+    newGetAppInstanceRetentionSettingsResponse,++    -- ** ListAppInstanceAdmins+    ListAppInstanceAdmins (ListAppInstanceAdmins'),+    newListAppInstanceAdmins,+    ListAppInstanceAdminsResponse (ListAppInstanceAdminsResponse'),+    newListAppInstanceAdminsResponse,++    -- ** ListAppInstanceUserEndpoints+    ListAppInstanceUserEndpoints (ListAppInstanceUserEndpoints'),+    newListAppInstanceUserEndpoints,+    ListAppInstanceUserEndpointsResponse (ListAppInstanceUserEndpointsResponse'),+    newListAppInstanceUserEndpointsResponse,++    -- ** ListAppInstanceUsers+    ListAppInstanceUsers (ListAppInstanceUsers'),+    newListAppInstanceUsers,+    ListAppInstanceUsersResponse (ListAppInstanceUsersResponse'),+    newListAppInstanceUsersResponse,++    -- ** ListAppInstances+    ListAppInstances (ListAppInstances'),+    newListAppInstances,+    ListAppInstancesResponse (ListAppInstancesResponse'),+    newListAppInstancesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** PutAppInstanceRetentionSettings+    PutAppInstanceRetentionSettings (PutAppInstanceRetentionSettings'),+    newPutAppInstanceRetentionSettings,+    PutAppInstanceRetentionSettingsResponse (PutAppInstanceRetentionSettingsResponse'),+    newPutAppInstanceRetentionSettingsResponse,++    -- ** RegisterAppInstanceUserEndpoint+    RegisterAppInstanceUserEndpoint (RegisterAppInstanceUserEndpoint'),+    newRegisterAppInstanceUserEndpoint,+    RegisterAppInstanceUserEndpointResponse (RegisterAppInstanceUserEndpointResponse'),+    newRegisterAppInstanceUserEndpointResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateAppInstance+    UpdateAppInstance (UpdateAppInstance'),+    newUpdateAppInstance,+    UpdateAppInstanceResponse (UpdateAppInstanceResponse'),+    newUpdateAppInstanceResponse,++    -- ** UpdateAppInstanceUser+    UpdateAppInstanceUser (UpdateAppInstanceUser'),+    newUpdateAppInstanceUser,+    UpdateAppInstanceUserResponse (UpdateAppInstanceUserResponse'),+    newUpdateAppInstanceUserResponse,++    -- ** UpdateAppInstanceUserEndpoint+    UpdateAppInstanceUserEndpoint (UpdateAppInstanceUserEndpoint'),+    newUpdateAppInstanceUserEndpoint,+    UpdateAppInstanceUserEndpointResponse (UpdateAppInstanceUserEndpointResponse'),+    newUpdateAppInstanceUserEndpointResponse,++    -- * Types++    -- ** AllowMessages+    AllowMessages (..),++    -- ** AppInstanceUserEndpointType+    AppInstanceUserEndpointType (..),++    -- ** EndpointStatus+    EndpointStatus (..),++    -- ** EndpointStatusReason+    EndpointStatusReason (..),++    -- ** AppInstance+    AppInstance (AppInstance'),+    newAppInstance,++    -- ** AppInstanceAdmin+    AppInstanceAdmin (AppInstanceAdmin'),+    newAppInstanceAdmin,++    -- ** AppInstanceAdminSummary+    AppInstanceAdminSummary (AppInstanceAdminSummary'),+    newAppInstanceAdminSummary,++    -- ** AppInstanceRetentionSettings+    AppInstanceRetentionSettings (AppInstanceRetentionSettings'),+    newAppInstanceRetentionSettings,++    -- ** AppInstanceSummary+    AppInstanceSummary (AppInstanceSummary'),+    newAppInstanceSummary,++    -- ** AppInstanceUser+    AppInstanceUser (AppInstanceUser'),+    newAppInstanceUser,++    -- ** AppInstanceUserEndpoint+    AppInstanceUserEndpoint (AppInstanceUserEndpoint'),+    newAppInstanceUserEndpoint,++    -- ** AppInstanceUserEndpointSummary+    AppInstanceUserEndpointSummary (AppInstanceUserEndpointSummary'),+    newAppInstanceUserEndpointSummary,++    -- ** AppInstanceUserSummary+    AppInstanceUserSummary (AppInstanceUserSummary'),+    newAppInstanceUserSummary,++    -- ** ChannelRetentionSettings+    ChannelRetentionSettings (ChannelRetentionSettings'),+    newChannelRetentionSettings,++    -- ** EndpointAttributes+    EndpointAttributes (EndpointAttributes'),+    newEndpointAttributes,++    -- ** EndpointState+    EndpointState (EndpointState'),+    newEndpointState,++    -- ** Identity+    Identity (Identity'),+    newIdentity,++    -- ** Tag+    Tag (Tag'),+    newTag,+  )+where++import Amazonka.ChimeSDKIdentity.CreateAppInstance+import Amazonka.ChimeSDKIdentity.CreateAppInstanceAdmin+import Amazonka.ChimeSDKIdentity.CreateAppInstanceUser+import Amazonka.ChimeSDKIdentity.DeleteAppInstance+import Amazonka.ChimeSDKIdentity.DeleteAppInstanceAdmin+import Amazonka.ChimeSDKIdentity.DeleteAppInstanceUser+import Amazonka.ChimeSDKIdentity.DeregisterAppInstanceUserEndpoint+import Amazonka.ChimeSDKIdentity.DescribeAppInstance+import Amazonka.ChimeSDKIdentity.DescribeAppInstanceAdmin+import Amazonka.ChimeSDKIdentity.DescribeAppInstanceUser+import Amazonka.ChimeSDKIdentity.DescribeAppInstanceUserEndpoint+import Amazonka.ChimeSDKIdentity.GetAppInstanceRetentionSettings+import Amazonka.ChimeSDKIdentity.Lens+import Amazonka.ChimeSDKIdentity.ListAppInstanceAdmins+import Amazonka.ChimeSDKIdentity.ListAppInstanceUserEndpoints+import Amazonka.ChimeSDKIdentity.ListAppInstanceUsers+import Amazonka.ChimeSDKIdentity.ListAppInstances+import Amazonka.ChimeSDKIdentity.ListTagsForResource+import Amazonka.ChimeSDKIdentity.PutAppInstanceRetentionSettings+import Amazonka.ChimeSDKIdentity.RegisterAppInstanceUserEndpoint+import Amazonka.ChimeSDKIdentity.TagResource+import Amazonka.ChimeSDKIdentity.Types+import Amazonka.ChimeSDKIdentity.UntagResource+import Amazonka.ChimeSDKIdentity.UpdateAppInstance+import Amazonka.ChimeSDKIdentity.UpdateAppInstanceUser+import Amazonka.ChimeSDKIdentity.UpdateAppInstanceUserEndpoint+import Amazonka.ChimeSDKIdentity.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 'ChimeSDKIdentity'.++-- $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/ChimeSDKIdentity/CreateAppInstance.hs view
@@ -0,0 +1,208 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.CreateAppInstance+-- 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 an Amazon Chime SDK messaging @AppInstance@ under an AWS+-- account. Only SDK messaging customers use this API. @CreateAppInstance@+-- supports idempotency behavior as described in the AWS API Standard.+--+-- identity+module Amazonka.ChimeSDKIdentity.CreateAppInstance+  ( -- * Creating a Request+    CreateAppInstance (..),+    newCreateAppInstance,++    -- * Request Lenses+    createAppInstance_metadata,+    createAppInstance_tags,+    createAppInstance_name,+    createAppInstance_clientRequestToken,++    -- * Destructuring the Response+    CreateAppInstanceResponse (..),+    newCreateAppInstanceResponse,++    -- * Response Lenses+    createAppInstanceResponse_appInstanceArn,+    createAppInstanceResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newCreateAppInstance' smart constructor.+data CreateAppInstance = CreateAppInstance'+  { -- | The metadata of the @AppInstance@. Limited to a 1KB string in UTF-8.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Tags assigned to the @AppInstanceUser@.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The name of the @AppInstance@.+    name :: Data.Sensitive Prelude.Text,+    -- | The @ClientRequestToken@ of the @AppInstance@.+    clientRequestToken :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAppInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'metadata', 'createAppInstance_metadata' - The metadata of the @AppInstance@. Limited to a 1KB string in UTF-8.+--+-- 'tags', 'createAppInstance_tags' - Tags assigned to the @AppInstanceUser@.+--+-- 'name', 'createAppInstance_name' - The name of the @AppInstance@.+--+-- 'clientRequestToken', 'createAppInstance_clientRequestToken' - The @ClientRequestToken@ of the @AppInstance@.+newCreateAppInstance ::+  -- | 'name'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  CreateAppInstance+newCreateAppInstance pName_ pClientRequestToken_ =+  CreateAppInstance'+    { metadata = Prelude.Nothing,+      tags = Prelude.Nothing,+      name = Data._Sensitive Lens.# pName_,+      clientRequestToken =+        Data._Sensitive Lens.# pClientRequestToken_+    }++-- | The metadata of the @AppInstance@. Limited to a 1KB string in UTF-8.+createAppInstance_metadata :: Lens.Lens' CreateAppInstance (Prelude.Maybe Prelude.Text)+createAppInstance_metadata = Lens.lens (\CreateAppInstance' {metadata} -> metadata) (\s@CreateAppInstance' {} a -> s {metadata = a} :: CreateAppInstance) Prelude.. Lens.mapping Data._Sensitive++-- | Tags assigned to the @AppInstanceUser@.+createAppInstance_tags :: Lens.Lens' CreateAppInstance (Prelude.Maybe (Prelude.NonEmpty Tag))+createAppInstance_tags = Lens.lens (\CreateAppInstance' {tags} -> tags) (\s@CreateAppInstance' {} a -> s {tags = a} :: CreateAppInstance) Prelude.. Lens.mapping Lens.coerced++-- | The name of the @AppInstance@.+createAppInstance_name :: Lens.Lens' CreateAppInstance Prelude.Text+createAppInstance_name = Lens.lens (\CreateAppInstance' {name} -> name) (\s@CreateAppInstance' {} a -> s {name = a} :: CreateAppInstance) Prelude.. Data._Sensitive++-- | The @ClientRequestToken@ of the @AppInstance@.+createAppInstance_clientRequestToken :: Lens.Lens' CreateAppInstance Prelude.Text+createAppInstance_clientRequestToken = Lens.lens (\CreateAppInstance' {clientRequestToken} -> clientRequestToken) (\s@CreateAppInstance' {} a -> s {clientRequestToken = a} :: CreateAppInstance) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateAppInstance where+  type+    AWSResponse CreateAppInstance =+      CreateAppInstanceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAppInstanceResponse'+            Prelude.<$> (x Data..?> "AppInstanceArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAppInstance where+  hashWithSalt _salt CreateAppInstance' {..} =+    _salt+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData CreateAppInstance where+  rnf CreateAppInstance' {..} =+    Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders CreateAppInstance where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateAppInstance where+  toJSON CreateAppInstance' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Metadata" Data..=) Prelude.<$> metadata,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath CreateAppInstance where+  toPath = Prelude.const "/app-instances"++instance Data.ToQuery CreateAppInstance where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAppInstanceResponse' smart constructor.+data CreateAppInstanceResponse = CreateAppInstanceResponse'+  { -- | The Amazon Resource Number (ARN) of the @AppInstance@.+    appInstanceArn :: 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 'CreateAppInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceArn', 'createAppInstanceResponse_appInstanceArn' - The Amazon Resource Number (ARN) of the @AppInstance@.+--+-- 'httpStatus', 'createAppInstanceResponse_httpStatus' - The response's http status code.+newCreateAppInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateAppInstanceResponse+newCreateAppInstanceResponse pHttpStatus_ =+  CreateAppInstanceResponse'+    { appInstanceArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Number (ARN) of the @AppInstance@.+createAppInstanceResponse_appInstanceArn :: Lens.Lens' CreateAppInstanceResponse (Prelude.Maybe Prelude.Text)+createAppInstanceResponse_appInstanceArn = Lens.lens (\CreateAppInstanceResponse' {appInstanceArn} -> appInstanceArn) (\s@CreateAppInstanceResponse' {} a -> s {appInstanceArn = a} :: CreateAppInstanceResponse)++-- | The response's http status code.+createAppInstanceResponse_httpStatus :: Lens.Lens' CreateAppInstanceResponse Prelude.Int+createAppInstanceResponse_httpStatus = Lens.lens (\CreateAppInstanceResponse' {httpStatus} -> httpStatus) (\s@CreateAppInstanceResponse' {} a -> s {httpStatus = a} :: CreateAppInstanceResponse)++instance Prelude.NFData CreateAppInstanceResponse where+  rnf CreateAppInstanceResponse' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/CreateAppInstanceAdmin.hs view
@@ -0,0 +1,206 @@+{-# 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.ChimeSDKIdentity.CreateAppInstanceAdmin+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Promotes an @AppInstanceUser@ to an @AppInstanceAdmin@. The promoted+-- user can perform the following actions.+--+-- -   @ChannelModerator@ actions across all channels in the @AppInstance@.+--+-- -   @DeleteChannelMessage@ actions.+--+-- Only an @AppInstanceUser@ can be promoted to an @AppInstanceAdmin@ role.+module Amazonka.ChimeSDKIdentity.CreateAppInstanceAdmin+  ( -- * Creating a Request+    CreateAppInstanceAdmin (..),+    newCreateAppInstanceAdmin,++    -- * Request Lenses+    createAppInstanceAdmin_appInstanceAdminArn,+    createAppInstanceAdmin_appInstanceArn,++    -- * Destructuring the Response+    CreateAppInstanceAdminResponse (..),+    newCreateAppInstanceAdminResponse,++    -- * Response Lenses+    createAppInstanceAdminResponse_appInstanceAdmin,+    createAppInstanceAdminResponse_appInstanceArn,+    createAppInstanceAdminResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newCreateAppInstanceAdmin' smart constructor.+data CreateAppInstanceAdmin = CreateAppInstanceAdmin'+  { -- | The ARN of the administrator of the current @AppInstance@.+    appInstanceAdminArn :: Prelude.Text,+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAppInstanceAdmin' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceAdminArn', 'createAppInstanceAdmin_appInstanceAdminArn' - The ARN of the administrator of the current @AppInstance@.+--+-- 'appInstanceArn', 'createAppInstanceAdmin_appInstanceArn' - The ARN of the @AppInstance@.+newCreateAppInstanceAdmin ::+  -- | 'appInstanceAdminArn'+  Prelude.Text ->+  -- | 'appInstanceArn'+  Prelude.Text ->+  CreateAppInstanceAdmin+newCreateAppInstanceAdmin+  pAppInstanceAdminArn_+  pAppInstanceArn_ =+    CreateAppInstanceAdmin'+      { appInstanceAdminArn =+          pAppInstanceAdminArn_,+        appInstanceArn = pAppInstanceArn_+      }++-- | The ARN of the administrator of the current @AppInstance@.+createAppInstanceAdmin_appInstanceAdminArn :: Lens.Lens' CreateAppInstanceAdmin Prelude.Text+createAppInstanceAdmin_appInstanceAdminArn = Lens.lens (\CreateAppInstanceAdmin' {appInstanceAdminArn} -> appInstanceAdminArn) (\s@CreateAppInstanceAdmin' {} a -> s {appInstanceAdminArn = a} :: CreateAppInstanceAdmin)++-- | The ARN of the @AppInstance@.+createAppInstanceAdmin_appInstanceArn :: Lens.Lens' CreateAppInstanceAdmin Prelude.Text+createAppInstanceAdmin_appInstanceArn = Lens.lens (\CreateAppInstanceAdmin' {appInstanceArn} -> appInstanceArn) (\s@CreateAppInstanceAdmin' {} a -> s {appInstanceArn = a} :: CreateAppInstanceAdmin)++instance Core.AWSRequest CreateAppInstanceAdmin where+  type+    AWSResponse CreateAppInstanceAdmin =+      CreateAppInstanceAdminResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAppInstanceAdminResponse'+            Prelude.<$> (x Data..?> "AppInstanceAdmin")+            Prelude.<*> (x Data..?> "AppInstanceArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAppInstanceAdmin where+  hashWithSalt _salt CreateAppInstanceAdmin' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceAdminArn+      `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData CreateAppInstanceAdmin where+  rnf CreateAppInstanceAdmin' {..} =+    Prelude.rnf appInstanceAdminArn+      `Prelude.seq` Prelude.rnf appInstanceArn++instance Data.ToHeaders CreateAppInstanceAdmin where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateAppInstanceAdmin where+  toJSON CreateAppInstanceAdmin' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("AppInstanceAdminArn" Data..= appInstanceAdminArn)+          ]+      )++instance Data.ToPath CreateAppInstanceAdmin where+  toPath CreateAppInstanceAdmin' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/admins"+      ]++instance Data.ToQuery CreateAppInstanceAdmin where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAppInstanceAdminResponse' smart constructor.+data CreateAppInstanceAdminResponse = CreateAppInstanceAdminResponse'+  { -- | The name and ARN of the admin for the @AppInstance@.+    appInstanceAdmin :: Prelude.Maybe Identity,+    -- | The ARN of the of the admin for the @AppInstance@.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAppInstanceAdminResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceAdmin', 'createAppInstanceAdminResponse_appInstanceAdmin' - The name and ARN of the admin for the @AppInstance@.+--+-- 'appInstanceArn', 'createAppInstanceAdminResponse_appInstanceArn' - The ARN of the of the admin for the @AppInstance@.+--+-- 'httpStatus', 'createAppInstanceAdminResponse_httpStatus' - The response's http status code.+newCreateAppInstanceAdminResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateAppInstanceAdminResponse+newCreateAppInstanceAdminResponse pHttpStatus_ =+  CreateAppInstanceAdminResponse'+    { appInstanceAdmin =+        Prelude.Nothing,+      appInstanceArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The name and ARN of the admin for the @AppInstance@.+createAppInstanceAdminResponse_appInstanceAdmin :: Lens.Lens' CreateAppInstanceAdminResponse (Prelude.Maybe Identity)+createAppInstanceAdminResponse_appInstanceAdmin = Lens.lens (\CreateAppInstanceAdminResponse' {appInstanceAdmin} -> appInstanceAdmin) (\s@CreateAppInstanceAdminResponse' {} a -> s {appInstanceAdmin = a} :: CreateAppInstanceAdminResponse)++-- | The ARN of the of the admin for the @AppInstance@.+createAppInstanceAdminResponse_appInstanceArn :: Lens.Lens' CreateAppInstanceAdminResponse (Prelude.Maybe Prelude.Text)+createAppInstanceAdminResponse_appInstanceArn = Lens.lens (\CreateAppInstanceAdminResponse' {appInstanceArn} -> appInstanceArn) (\s@CreateAppInstanceAdminResponse' {} a -> s {appInstanceArn = a} :: CreateAppInstanceAdminResponse)++-- | The response's http status code.+createAppInstanceAdminResponse_httpStatus :: Lens.Lens' CreateAppInstanceAdminResponse Prelude.Int+createAppInstanceAdminResponse_httpStatus = Lens.lens (\CreateAppInstanceAdminResponse' {httpStatus} -> httpStatus) (\s@CreateAppInstanceAdminResponse' {} a -> s {httpStatus = a} :: CreateAppInstanceAdminResponse)++instance+  Prelude.NFData+    CreateAppInstanceAdminResponse+  where+  rnf CreateAppInstanceAdminResponse' {..} =+    Prelude.rnf appInstanceAdmin+      `Prelude.seq` Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/CreateAppInstanceUser.hs view
@@ -0,0 +1,242 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.CreateAppInstanceUser+-- 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 user under an Amazon Chime @AppInstance@. The request consists+-- of a unique @appInstanceUserId@ and @Name@ for that user.+module Amazonka.ChimeSDKIdentity.CreateAppInstanceUser+  ( -- * Creating a Request+    CreateAppInstanceUser (..),+    newCreateAppInstanceUser,++    -- * Request Lenses+    createAppInstanceUser_metadata,+    createAppInstanceUser_tags,+    createAppInstanceUser_appInstanceArn,+    createAppInstanceUser_appInstanceUserId,+    createAppInstanceUser_name,+    createAppInstanceUser_clientRequestToken,++    -- * Destructuring the Response+    CreateAppInstanceUserResponse (..),+    newCreateAppInstanceUserResponse,++    -- * Response Lenses+    createAppInstanceUserResponse_appInstanceUserArn,+    createAppInstanceUserResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newCreateAppInstanceUser' smart constructor.+data CreateAppInstanceUser = CreateAppInstanceUser'+  { -- | The request\'s metadata. Limited to a 1KB string in UTF-8.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Tags assigned to the @AppInstanceUser@.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The ARN of the @AppInstance@ request.+    appInstanceArn :: Prelude.Text,+    -- | The user ID of the @AppInstance@.+    appInstanceUserId :: Data.Sensitive Prelude.Text,+    -- | The user\'s name.+    name :: Data.Sensitive Prelude.Text,+    -- | The token assigned to the user requesting an @AppInstance@.+    clientRequestToken :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAppInstanceUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'metadata', 'createAppInstanceUser_metadata' - The request\'s metadata. Limited to a 1KB string in UTF-8.+--+-- 'tags', 'createAppInstanceUser_tags' - Tags assigned to the @AppInstanceUser@.+--+-- 'appInstanceArn', 'createAppInstanceUser_appInstanceArn' - The ARN of the @AppInstance@ request.+--+-- 'appInstanceUserId', 'createAppInstanceUser_appInstanceUserId' - The user ID of the @AppInstance@.+--+-- 'name', 'createAppInstanceUser_name' - The user\'s name.+--+-- 'clientRequestToken', 'createAppInstanceUser_clientRequestToken' - The token assigned to the user requesting an @AppInstance@.+newCreateAppInstanceUser ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  -- | 'appInstanceUserId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  CreateAppInstanceUser+newCreateAppInstanceUser+  pAppInstanceArn_+  pAppInstanceUserId_+  pName_+  pClientRequestToken_ =+    CreateAppInstanceUser'+      { metadata = Prelude.Nothing,+        tags = Prelude.Nothing,+        appInstanceArn = pAppInstanceArn_,+        appInstanceUserId =+          Data._Sensitive Lens.# pAppInstanceUserId_,+        name = Data._Sensitive Lens.# pName_,+        clientRequestToken =+          Data._Sensitive Lens.# pClientRequestToken_+      }++-- | The request\'s metadata. Limited to a 1KB string in UTF-8.+createAppInstanceUser_metadata :: Lens.Lens' CreateAppInstanceUser (Prelude.Maybe Prelude.Text)+createAppInstanceUser_metadata = Lens.lens (\CreateAppInstanceUser' {metadata} -> metadata) (\s@CreateAppInstanceUser' {} a -> s {metadata = a} :: CreateAppInstanceUser) Prelude.. Lens.mapping Data._Sensitive++-- | Tags assigned to the @AppInstanceUser@.+createAppInstanceUser_tags :: Lens.Lens' CreateAppInstanceUser (Prelude.Maybe (Prelude.NonEmpty Tag))+createAppInstanceUser_tags = Lens.lens (\CreateAppInstanceUser' {tags} -> tags) (\s@CreateAppInstanceUser' {} a -> s {tags = a} :: CreateAppInstanceUser) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the @AppInstance@ request.+createAppInstanceUser_appInstanceArn :: Lens.Lens' CreateAppInstanceUser Prelude.Text+createAppInstanceUser_appInstanceArn = Lens.lens (\CreateAppInstanceUser' {appInstanceArn} -> appInstanceArn) (\s@CreateAppInstanceUser' {} a -> s {appInstanceArn = a} :: CreateAppInstanceUser)++-- | The user ID of the @AppInstance@.+createAppInstanceUser_appInstanceUserId :: Lens.Lens' CreateAppInstanceUser Prelude.Text+createAppInstanceUser_appInstanceUserId = Lens.lens (\CreateAppInstanceUser' {appInstanceUserId} -> appInstanceUserId) (\s@CreateAppInstanceUser' {} a -> s {appInstanceUserId = a} :: CreateAppInstanceUser) Prelude.. Data._Sensitive++-- | The user\'s name.+createAppInstanceUser_name :: Lens.Lens' CreateAppInstanceUser Prelude.Text+createAppInstanceUser_name = Lens.lens (\CreateAppInstanceUser' {name} -> name) (\s@CreateAppInstanceUser' {} a -> s {name = a} :: CreateAppInstanceUser) Prelude.. Data._Sensitive++-- | The token assigned to the user requesting an @AppInstance@.+createAppInstanceUser_clientRequestToken :: Lens.Lens' CreateAppInstanceUser Prelude.Text+createAppInstanceUser_clientRequestToken = Lens.lens (\CreateAppInstanceUser' {clientRequestToken} -> clientRequestToken) (\s@CreateAppInstanceUser' {} a -> s {clientRequestToken = a} :: CreateAppInstanceUser) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateAppInstanceUser where+  type+    AWSResponse CreateAppInstanceUser =+      CreateAppInstanceUserResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAppInstanceUserResponse'+            Prelude.<$> (x Data..?> "AppInstanceUserArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAppInstanceUser where+  hashWithSalt _salt CreateAppInstanceUser' {..} =+    _salt+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` appInstanceArn+      `Prelude.hashWithSalt` appInstanceUserId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` clientRequestToken++instance Prelude.NFData CreateAppInstanceUser where+  rnf CreateAppInstanceUser' {..} =+    Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf appInstanceUserId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf clientRequestToken++instance Data.ToHeaders CreateAppInstanceUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateAppInstanceUser where+  toJSON CreateAppInstanceUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Metadata" Data..=) Prelude.<$> metadata,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("AppInstanceArn" Data..= appInstanceArn),+            Prelude.Just+              ("AppInstanceUserId" Data..= appInstanceUserId),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath CreateAppInstanceUser where+  toPath = Prelude.const "/app-instance-users"++instance Data.ToQuery CreateAppInstanceUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAppInstanceUserResponse' smart constructor.+data CreateAppInstanceUserResponse = CreateAppInstanceUserResponse'+  { -- | The user\'s ARN.+    appInstanceUserArn :: 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 'CreateAppInstanceUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserArn', 'createAppInstanceUserResponse_appInstanceUserArn' - The user\'s ARN.+--+-- 'httpStatus', 'createAppInstanceUserResponse_httpStatus' - The response's http status code.+newCreateAppInstanceUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateAppInstanceUserResponse+newCreateAppInstanceUserResponse pHttpStatus_ =+  CreateAppInstanceUserResponse'+    { appInstanceUserArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The user\'s ARN.+createAppInstanceUserResponse_appInstanceUserArn :: Lens.Lens' CreateAppInstanceUserResponse (Prelude.Maybe Prelude.Text)+createAppInstanceUserResponse_appInstanceUserArn = Lens.lens (\CreateAppInstanceUserResponse' {appInstanceUserArn} -> appInstanceUserArn) (\s@CreateAppInstanceUserResponse' {} a -> s {appInstanceUserArn = a} :: CreateAppInstanceUserResponse)++-- | The response's http status code.+createAppInstanceUserResponse_httpStatus :: Lens.Lens' CreateAppInstanceUserResponse Prelude.Int+createAppInstanceUserResponse_httpStatus = Lens.lens (\CreateAppInstanceUserResponse' {httpStatus} -> httpStatus) (\s@CreateAppInstanceUserResponse' {} a -> s {httpStatus = a} :: CreateAppInstanceUserResponse)++instance Prelude.NFData CreateAppInstanceUserResponse where+  rnf CreateAppInstanceUserResponse' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/DeleteAppInstance.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.DeleteAppInstance+-- 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 @AppInstance@ and all associated data asynchronously.+module Amazonka.ChimeSDKIdentity.DeleteAppInstance+  ( -- * Creating a Request+    DeleteAppInstance (..),+    newDeleteAppInstance,++    -- * Request Lenses+    deleteAppInstance_appInstanceArn,++    -- * Destructuring the Response+    DeleteAppInstanceResponse (..),+    newDeleteAppInstanceResponse,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newDeleteAppInstance' smart constructor.+data DeleteAppInstance = DeleteAppInstance'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceArn', 'deleteAppInstance_appInstanceArn' - The ARN of the @AppInstance@.+newDeleteAppInstance ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  DeleteAppInstance+newDeleteAppInstance pAppInstanceArn_ =+  DeleteAppInstance'+    { appInstanceArn =+        pAppInstanceArn_+    }++-- | The ARN of the @AppInstance@.+deleteAppInstance_appInstanceArn :: Lens.Lens' DeleteAppInstance Prelude.Text+deleteAppInstance_appInstanceArn = Lens.lens (\DeleteAppInstance' {appInstanceArn} -> appInstanceArn) (\s@DeleteAppInstance' {} a -> s {appInstanceArn = a} :: DeleteAppInstance)++instance Core.AWSRequest DeleteAppInstance where+  type+    AWSResponse DeleteAppInstance =+      DeleteAppInstanceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteAppInstanceResponse'++instance Prelude.Hashable DeleteAppInstance where+  hashWithSalt _salt DeleteAppInstance' {..} =+    _salt `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData DeleteAppInstance where+  rnf DeleteAppInstance' {..} =+    Prelude.rnf appInstanceArn++instance Data.ToHeaders DeleteAppInstance where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteAppInstance where+  toPath DeleteAppInstance' {..} =+    Prelude.mconcat+      ["/app-instances/", Data.toBS appInstanceArn]++instance Data.ToQuery DeleteAppInstance where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAppInstanceResponse' smart constructor.+data DeleteAppInstanceResponse = DeleteAppInstanceResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteAppInstanceResponse ::+  DeleteAppInstanceResponse+newDeleteAppInstanceResponse =+  DeleteAppInstanceResponse'++instance Prelude.NFData DeleteAppInstanceResponse where+  rnf _ = ()
+ gen/Amazonka/ChimeSDKIdentity/DeleteAppInstanceAdmin.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.DeleteAppInstanceAdmin+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Demotes an @AppInstanceAdmin@ to an @AppInstanceUser@. This action does+-- not delete the user.+module Amazonka.ChimeSDKIdentity.DeleteAppInstanceAdmin+  ( -- * Creating a Request+    DeleteAppInstanceAdmin (..),+    newDeleteAppInstanceAdmin,++    -- * Request Lenses+    deleteAppInstanceAdmin_appInstanceAdminArn,+    deleteAppInstanceAdmin_appInstanceArn,++    -- * Destructuring the Response+    DeleteAppInstanceAdminResponse (..),+    newDeleteAppInstanceAdminResponse,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newDeleteAppInstanceAdmin' smart constructor.+data DeleteAppInstanceAdmin = DeleteAppInstanceAdmin'+  { -- | The ARN of the @AppInstance@\'s administrator.+    appInstanceAdminArn :: Prelude.Text,+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstanceAdmin' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceAdminArn', 'deleteAppInstanceAdmin_appInstanceAdminArn' - The ARN of the @AppInstance@\'s administrator.+--+-- 'appInstanceArn', 'deleteAppInstanceAdmin_appInstanceArn' - The ARN of the @AppInstance@.+newDeleteAppInstanceAdmin ::+  -- | 'appInstanceAdminArn'+  Prelude.Text ->+  -- | 'appInstanceArn'+  Prelude.Text ->+  DeleteAppInstanceAdmin+newDeleteAppInstanceAdmin+  pAppInstanceAdminArn_+  pAppInstanceArn_ =+    DeleteAppInstanceAdmin'+      { appInstanceAdminArn =+          pAppInstanceAdminArn_,+        appInstanceArn = pAppInstanceArn_+      }++-- | The ARN of the @AppInstance@\'s administrator.+deleteAppInstanceAdmin_appInstanceAdminArn :: Lens.Lens' DeleteAppInstanceAdmin Prelude.Text+deleteAppInstanceAdmin_appInstanceAdminArn = Lens.lens (\DeleteAppInstanceAdmin' {appInstanceAdminArn} -> appInstanceAdminArn) (\s@DeleteAppInstanceAdmin' {} a -> s {appInstanceAdminArn = a} :: DeleteAppInstanceAdmin)++-- | The ARN of the @AppInstance@.+deleteAppInstanceAdmin_appInstanceArn :: Lens.Lens' DeleteAppInstanceAdmin Prelude.Text+deleteAppInstanceAdmin_appInstanceArn = Lens.lens (\DeleteAppInstanceAdmin' {appInstanceArn} -> appInstanceArn) (\s@DeleteAppInstanceAdmin' {} a -> s {appInstanceArn = a} :: DeleteAppInstanceAdmin)++instance Core.AWSRequest DeleteAppInstanceAdmin where+  type+    AWSResponse DeleteAppInstanceAdmin =+      DeleteAppInstanceAdminResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteAppInstanceAdminResponse'++instance Prelude.Hashable DeleteAppInstanceAdmin where+  hashWithSalt _salt DeleteAppInstanceAdmin' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceAdminArn+      `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData DeleteAppInstanceAdmin where+  rnf DeleteAppInstanceAdmin' {..} =+    Prelude.rnf appInstanceAdminArn+      `Prelude.seq` Prelude.rnf appInstanceArn++instance Data.ToHeaders DeleteAppInstanceAdmin where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteAppInstanceAdmin where+  toPath DeleteAppInstanceAdmin' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/admins/",+        Data.toBS appInstanceAdminArn+      ]++instance Data.ToQuery DeleteAppInstanceAdmin where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAppInstanceAdminResponse' smart constructor.+data DeleteAppInstanceAdminResponse = DeleteAppInstanceAdminResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstanceAdminResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteAppInstanceAdminResponse ::+  DeleteAppInstanceAdminResponse+newDeleteAppInstanceAdminResponse =+  DeleteAppInstanceAdminResponse'++instance+  Prelude.NFData+    DeleteAppInstanceAdminResponse+  where+  rnf _ = ()
+ gen/Amazonka/ChimeSDKIdentity/DeleteAppInstanceUser.hs view
@@ -0,0 +1,122 @@+{-# 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.ChimeSDKIdentity.DeleteAppInstanceUser+-- 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 @AppInstanceUser@.+module Amazonka.ChimeSDKIdentity.DeleteAppInstanceUser+  ( -- * Creating a Request+    DeleteAppInstanceUser (..),+    newDeleteAppInstanceUser,++    -- * Request Lenses+    deleteAppInstanceUser_appInstanceUserArn,++    -- * Destructuring the Response+    DeleteAppInstanceUserResponse (..),+    newDeleteAppInstanceUserResponse,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newDeleteAppInstanceUser' smart constructor.+data DeleteAppInstanceUser = DeleteAppInstanceUser'+  { -- | The ARN of the user request being deleted.+    appInstanceUserArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstanceUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserArn', 'deleteAppInstanceUser_appInstanceUserArn' - The ARN of the user request being deleted.+newDeleteAppInstanceUser ::+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  DeleteAppInstanceUser+newDeleteAppInstanceUser pAppInstanceUserArn_ =+  DeleteAppInstanceUser'+    { appInstanceUserArn =+        pAppInstanceUserArn_+    }++-- | The ARN of the user request being deleted.+deleteAppInstanceUser_appInstanceUserArn :: Lens.Lens' DeleteAppInstanceUser Prelude.Text+deleteAppInstanceUser_appInstanceUserArn = Lens.lens (\DeleteAppInstanceUser' {appInstanceUserArn} -> appInstanceUserArn) (\s@DeleteAppInstanceUser' {} a -> s {appInstanceUserArn = a} :: DeleteAppInstanceUser)++instance Core.AWSRequest DeleteAppInstanceUser where+  type+    AWSResponse DeleteAppInstanceUser =+      DeleteAppInstanceUserResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteAppInstanceUserResponse'++instance Prelude.Hashable DeleteAppInstanceUser where+  hashWithSalt _salt DeleteAppInstanceUser' {..} =+    _salt `Prelude.hashWithSalt` appInstanceUserArn++instance Prelude.NFData DeleteAppInstanceUser where+  rnf DeleteAppInstanceUser' {..} =+    Prelude.rnf appInstanceUserArn++instance Data.ToHeaders DeleteAppInstanceUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteAppInstanceUser where+  toPath DeleteAppInstanceUser' {..} =+    Prelude.mconcat+      [ "/app-instance-users/",+        Data.toBS appInstanceUserArn+      ]++instance Data.ToQuery DeleteAppInstanceUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAppInstanceUserResponse' smart constructor.+data DeleteAppInstanceUserResponse = DeleteAppInstanceUserResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppInstanceUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteAppInstanceUserResponse ::+  DeleteAppInstanceUserResponse+newDeleteAppInstanceUserResponse =+  DeleteAppInstanceUserResponse'++instance Prelude.NFData DeleteAppInstanceUserResponse where+  rnf _ = ()
+ gen/Amazonka/ChimeSDKIdentity/DeregisterAppInstanceUserEndpoint.hs view
@@ -0,0 +1,167 @@+{-# 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.ChimeSDKIdentity.DeregisterAppInstanceUserEndpoint+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deregisters an @AppInstanceUserEndpoint@.+module Amazonka.ChimeSDKIdentity.DeregisterAppInstanceUserEndpoint+  ( -- * Creating a Request+    DeregisterAppInstanceUserEndpoint (..),+    newDeregisterAppInstanceUserEndpoint,++    -- * Request Lenses+    deregisterAppInstanceUserEndpoint_appInstanceUserArn,+    deregisterAppInstanceUserEndpoint_endpointId,++    -- * Destructuring the Response+    DeregisterAppInstanceUserEndpointResponse (..),+    newDeregisterAppInstanceUserEndpointResponse,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newDeregisterAppInstanceUserEndpoint' smart constructor.+data DeregisterAppInstanceUserEndpoint = DeregisterAppInstanceUserEndpoint'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Data.Sensitive Prelude.Text,+    -- | The unique identifier of the @AppInstanceUserEndpoint@.+    endpointId :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeregisterAppInstanceUserEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserArn', 'deregisterAppInstanceUserEndpoint_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'endpointId', 'deregisterAppInstanceUserEndpoint_endpointId' - The unique identifier of the @AppInstanceUserEndpoint@.+newDeregisterAppInstanceUserEndpoint ::+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  -- | 'endpointId'+  Prelude.Text ->+  DeregisterAppInstanceUserEndpoint+newDeregisterAppInstanceUserEndpoint+  pAppInstanceUserArn_+  pEndpointId_ =+    DeregisterAppInstanceUserEndpoint'+      { appInstanceUserArn =+          Data._Sensitive+            Lens.# pAppInstanceUserArn_,+        endpointId =+          Data._Sensitive Lens.# pEndpointId_+      }++-- | The ARN of the @AppInstanceUser@.+deregisterAppInstanceUserEndpoint_appInstanceUserArn :: Lens.Lens' DeregisterAppInstanceUserEndpoint Prelude.Text+deregisterAppInstanceUserEndpoint_appInstanceUserArn = Lens.lens (\DeregisterAppInstanceUserEndpoint' {appInstanceUserArn} -> appInstanceUserArn) (\s@DeregisterAppInstanceUserEndpoint' {} a -> s {appInstanceUserArn = a} :: DeregisterAppInstanceUserEndpoint) Prelude.. Data._Sensitive++-- | The unique identifier of the @AppInstanceUserEndpoint@.+deregisterAppInstanceUserEndpoint_endpointId :: Lens.Lens' DeregisterAppInstanceUserEndpoint Prelude.Text+deregisterAppInstanceUserEndpoint_endpointId = Lens.lens (\DeregisterAppInstanceUserEndpoint' {endpointId} -> endpointId) (\s@DeregisterAppInstanceUserEndpoint' {} a -> s {endpointId = a} :: DeregisterAppInstanceUserEndpoint) Prelude.. Data._Sensitive++instance+  Core.AWSRequest+    DeregisterAppInstanceUserEndpoint+  where+  type+    AWSResponse DeregisterAppInstanceUserEndpoint =+      DeregisterAppInstanceUserEndpointResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeregisterAppInstanceUserEndpointResponse'++instance+  Prelude.Hashable+    DeregisterAppInstanceUserEndpoint+  where+  hashWithSalt+    _salt+    DeregisterAppInstanceUserEndpoint' {..} =+      _salt+        `Prelude.hashWithSalt` appInstanceUserArn+        `Prelude.hashWithSalt` endpointId++instance+  Prelude.NFData+    DeregisterAppInstanceUserEndpoint+  where+  rnf DeregisterAppInstanceUserEndpoint' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf endpointId++instance+  Data.ToHeaders+    DeregisterAppInstanceUserEndpoint+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DeregisterAppInstanceUserEndpoint+  where+  toPath DeregisterAppInstanceUserEndpoint' {..} =+    Prelude.mconcat+      [ "/app-instance-users/",+        Data.toBS appInstanceUserArn,+        "/endpoints/",+        Data.toBS endpointId+      ]++instance+  Data.ToQuery+    DeregisterAppInstanceUserEndpoint+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeregisterAppInstanceUserEndpointResponse' smart constructor.+data DeregisterAppInstanceUserEndpointResponse = DeregisterAppInstanceUserEndpointResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeregisterAppInstanceUserEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeregisterAppInstanceUserEndpointResponse ::+  DeregisterAppInstanceUserEndpointResponse+newDeregisterAppInstanceUserEndpointResponse =+  DeregisterAppInstanceUserEndpointResponse'++instance+  Prelude.NFData+    DeregisterAppInstanceUserEndpointResponse+  where+  rnf _ = ()
+ gen/Amazonka/ChimeSDKIdentity/DescribeAppInstance.hs view
@@ -0,0 +1,158 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.DescribeAppInstance+-- 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 the full details of an @AppInstance@.+module Amazonka.ChimeSDKIdentity.DescribeAppInstance+  ( -- * Creating a Request+    DescribeAppInstance (..),+    newDescribeAppInstance,++    -- * Request Lenses+    describeAppInstance_appInstanceArn,++    -- * Destructuring the Response+    DescribeAppInstanceResponse (..),+    newDescribeAppInstanceResponse,++    -- * Response Lenses+    describeAppInstanceResponse_appInstance,+    describeAppInstanceResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newDescribeAppInstance' smart constructor.+data DescribeAppInstance = DescribeAppInstance'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceArn', 'describeAppInstance_appInstanceArn' - The ARN of the @AppInstance@.+newDescribeAppInstance ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  DescribeAppInstance+newDescribeAppInstance pAppInstanceArn_ =+  DescribeAppInstance'+    { appInstanceArn =+        pAppInstanceArn_+    }++-- | The ARN of the @AppInstance@.+describeAppInstance_appInstanceArn :: Lens.Lens' DescribeAppInstance Prelude.Text+describeAppInstance_appInstanceArn = Lens.lens (\DescribeAppInstance' {appInstanceArn} -> appInstanceArn) (\s@DescribeAppInstance' {} a -> s {appInstanceArn = a} :: DescribeAppInstance)++instance Core.AWSRequest DescribeAppInstance where+  type+    AWSResponse DescribeAppInstance =+      DescribeAppInstanceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAppInstanceResponse'+            Prelude.<$> (x Data..?> "AppInstance")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeAppInstance where+  hashWithSalt _salt DescribeAppInstance' {..} =+    _salt `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData DescribeAppInstance where+  rnf DescribeAppInstance' {..} =+    Prelude.rnf appInstanceArn++instance Data.ToHeaders DescribeAppInstance where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeAppInstance where+  toPath DescribeAppInstance' {..} =+    Prelude.mconcat+      ["/app-instances/", Data.toBS appInstanceArn]++instance Data.ToQuery DescribeAppInstance where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAppInstanceResponse' smart constructor.+data DescribeAppInstanceResponse = DescribeAppInstanceResponse'+  { -- | The ARN, metadata, created and last-updated timestamps, and the name of+    -- the @AppInstance@. All timestamps use epoch milliseconds.+    appInstance :: Prelude.Maybe AppInstance,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstance', 'describeAppInstanceResponse_appInstance' - The ARN, metadata, created and last-updated timestamps, and the name of+-- the @AppInstance@. All timestamps use epoch milliseconds.+--+-- 'httpStatus', 'describeAppInstanceResponse_httpStatus' - The response's http status code.+newDescribeAppInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeAppInstanceResponse+newDescribeAppInstanceResponse pHttpStatus_ =+  DescribeAppInstanceResponse'+    { appInstance =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN, metadata, created and last-updated timestamps, and the name of+-- the @AppInstance@. All timestamps use epoch milliseconds.+describeAppInstanceResponse_appInstance :: Lens.Lens' DescribeAppInstanceResponse (Prelude.Maybe AppInstance)+describeAppInstanceResponse_appInstance = Lens.lens (\DescribeAppInstanceResponse' {appInstance} -> appInstance) (\s@DescribeAppInstanceResponse' {} a -> s {appInstance = a} :: DescribeAppInstanceResponse)++-- | The response's http status code.+describeAppInstanceResponse_httpStatus :: Lens.Lens' DescribeAppInstanceResponse Prelude.Int+describeAppInstanceResponse_httpStatus = Lens.lens (\DescribeAppInstanceResponse' {httpStatus} -> httpStatus) (\s@DescribeAppInstanceResponse' {} a -> s {httpStatus = a} :: DescribeAppInstanceResponse)++instance Prelude.NFData DescribeAppInstanceResponse where+  rnf DescribeAppInstanceResponse' {..} =+    Prelude.rnf appInstance+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/DescribeAppInstanceAdmin.hs view
@@ -0,0 +1,185 @@+{-# 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.ChimeSDKIdentity.DescribeAppInstanceAdmin+-- 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 the full details of an @AppInstanceAdmin@.+module Amazonka.ChimeSDKIdentity.DescribeAppInstanceAdmin+  ( -- * Creating a Request+    DescribeAppInstanceAdmin (..),+    newDescribeAppInstanceAdmin,++    -- * Request Lenses+    describeAppInstanceAdmin_appInstanceAdminArn,+    describeAppInstanceAdmin_appInstanceArn,++    -- * Destructuring the Response+    DescribeAppInstanceAdminResponse (..),+    newDescribeAppInstanceAdminResponse,++    -- * Response Lenses+    describeAppInstanceAdminResponse_appInstanceAdmin,+    describeAppInstanceAdminResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newDescribeAppInstanceAdmin' smart constructor.+data DescribeAppInstanceAdmin = DescribeAppInstanceAdmin'+  { -- | The ARN of the @AppInstanceAdmin@.+    appInstanceAdminArn :: Prelude.Text,+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstanceAdmin' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceAdminArn', 'describeAppInstanceAdmin_appInstanceAdminArn' - The ARN of the @AppInstanceAdmin@.+--+-- 'appInstanceArn', 'describeAppInstanceAdmin_appInstanceArn' - The ARN of the @AppInstance@.+newDescribeAppInstanceAdmin ::+  -- | 'appInstanceAdminArn'+  Prelude.Text ->+  -- | 'appInstanceArn'+  Prelude.Text ->+  DescribeAppInstanceAdmin+newDescribeAppInstanceAdmin+  pAppInstanceAdminArn_+  pAppInstanceArn_ =+    DescribeAppInstanceAdmin'+      { appInstanceAdminArn =+          pAppInstanceAdminArn_,+        appInstanceArn = pAppInstanceArn_+      }++-- | The ARN of the @AppInstanceAdmin@.+describeAppInstanceAdmin_appInstanceAdminArn :: Lens.Lens' DescribeAppInstanceAdmin Prelude.Text+describeAppInstanceAdmin_appInstanceAdminArn = Lens.lens (\DescribeAppInstanceAdmin' {appInstanceAdminArn} -> appInstanceAdminArn) (\s@DescribeAppInstanceAdmin' {} a -> s {appInstanceAdminArn = a} :: DescribeAppInstanceAdmin)++-- | The ARN of the @AppInstance@.+describeAppInstanceAdmin_appInstanceArn :: Lens.Lens' DescribeAppInstanceAdmin Prelude.Text+describeAppInstanceAdmin_appInstanceArn = Lens.lens (\DescribeAppInstanceAdmin' {appInstanceArn} -> appInstanceArn) (\s@DescribeAppInstanceAdmin' {} a -> s {appInstanceArn = a} :: DescribeAppInstanceAdmin)++instance Core.AWSRequest DescribeAppInstanceAdmin where+  type+    AWSResponse DescribeAppInstanceAdmin =+      DescribeAppInstanceAdminResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAppInstanceAdminResponse'+            Prelude.<$> (x Data..?> "AppInstanceAdmin")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeAppInstanceAdmin where+  hashWithSalt _salt DescribeAppInstanceAdmin' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceAdminArn+      `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData DescribeAppInstanceAdmin where+  rnf DescribeAppInstanceAdmin' {..} =+    Prelude.rnf appInstanceAdminArn+      `Prelude.seq` Prelude.rnf appInstanceArn++instance Data.ToHeaders DescribeAppInstanceAdmin where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeAppInstanceAdmin where+  toPath DescribeAppInstanceAdmin' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/admins/",+        Data.toBS appInstanceAdminArn+      ]++instance Data.ToQuery DescribeAppInstanceAdmin where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAppInstanceAdminResponse' smart constructor.+data DescribeAppInstanceAdminResponse = DescribeAppInstanceAdminResponse'+  { -- | The ARN and name of the @AppInstanceUser@, the ARN of the @AppInstance@,+    -- and the created and last-updated timestamps. All timestamps use epoch+    -- milliseconds.+    appInstanceAdmin :: Prelude.Maybe AppInstanceAdmin,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstanceAdminResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceAdmin', 'describeAppInstanceAdminResponse_appInstanceAdmin' - The ARN and name of the @AppInstanceUser@, the ARN of the @AppInstance@,+-- and the created and last-updated timestamps. All timestamps use epoch+-- milliseconds.+--+-- 'httpStatus', 'describeAppInstanceAdminResponse_httpStatus' - The response's http status code.+newDescribeAppInstanceAdminResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeAppInstanceAdminResponse+newDescribeAppInstanceAdminResponse pHttpStatus_ =+  DescribeAppInstanceAdminResponse'+    { appInstanceAdmin =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN and name of the @AppInstanceUser@, the ARN of the @AppInstance@,+-- and the created and last-updated timestamps. All timestamps use epoch+-- milliseconds.+describeAppInstanceAdminResponse_appInstanceAdmin :: Lens.Lens' DescribeAppInstanceAdminResponse (Prelude.Maybe AppInstanceAdmin)+describeAppInstanceAdminResponse_appInstanceAdmin = Lens.lens (\DescribeAppInstanceAdminResponse' {appInstanceAdmin} -> appInstanceAdmin) (\s@DescribeAppInstanceAdminResponse' {} a -> s {appInstanceAdmin = a} :: DescribeAppInstanceAdminResponse)++-- | The response's http status code.+describeAppInstanceAdminResponse_httpStatus :: Lens.Lens' DescribeAppInstanceAdminResponse Prelude.Int+describeAppInstanceAdminResponse_httpStatus = Lens.lens (\DescribeAppInstanceAdminResponse' {httpStatus} -> httpStatus) (\s@DescribeAppInstanceAdminResponse' {} a -> s {httpStatus = a} :: DescribeAppInstanceAdminResponse)++instance+  Prelude.NFData+    DescribeAppInstanceAdminResponse+  where+  rnf DescribeAppInstanceAdminResponse' {..} =+    Prelude.rnf appInstanceAdmin+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/DescribeAppInstanceUser.hs view
@@ -0,0 +1,160 @@+{-# 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.ChimeSDKIdentity.DescribeAppInstanceUser+-- 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 the full details of an @AppInstanceUser@.+module Amazonka.ChimeSDKIdentity.DescribeAppInstanceUser+  ( -- * Creating a Request+    DescribeAppInstanceUser (..),+    newDescribeAppInstanceUser,++    -- * Request Lenses+    describeAppInstanceUser_appInstanceUserArn,++    -- * Destructuring the Response+    DescribeAppInstanceUserResponse (..),+    newDescribeAppInstanceUserResponse,++    -- * Response Lenses+    describeAppInstanceUserResponse_appInstanceUser,+    describeAppInstanceUserResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newDescribeAppInstanceUser' smart constructor.+data DescribeAppInstanceUser = DescribeAppInstanceUser'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstanceUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserArn', 'describeAppInstanceUser_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+newDescribeAppInstanceUser ::+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  DescribeAppInstanceUser+newDescribeAppInstanceUser pAppInstanceUserArn_ =+  DescribeAppInstanceUser'+    { appInstanceUserArn =+        pAppInstanceUserArn_+    }++-- | The ARN of the @AppInstanceUser@.+describeAppInstanceUser_appInstanceUserArn :: Lens.Lens' DescribeAppInstanceUser Prelude.Text+describeAppInstanceUser_appInstanceUserArn = Lens.lens (\DescribeAppInstanceUser' {appInstanceUserArn} -> appInstanceUserArn) (\s@DescribeAppInstanceUser' {} a -> s {appInstanceUserArn = a} :: DescribeAppInstanceUser)++instance Core.AWSRequest DescribeAppInstanceUser where+  type+    AWSResponse DescribeAppInstanceUser =+      DescribeAppInstanceUserResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAppInstanceUserResponse'+            Prelude.<$> (x Data..?> "AppInstanceUser")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeAppInstanceUser where+  hashWithSalt _salt DescribeAppInstanceUser' {..} =+    _salt `Prelude.hashWithSalt` appInstanceUserArn++instance Prelude.NFData DescribeAppInstanceUser where+  rnf DescribeAppInstanceUser' {..} =+    Prelude.rnf appInstanceUserArn++instance Data.ToHeaders DescribeAppInstanceUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeAppInstanceUser where+  toPath DescribeAppInstanceUser' {..} =+    Prelude.mconcat+      [ "/app-instance-users/",+        Data.toBS appInstanceUserArn+      ]++instance Data.ToQuery DescribeAppInstanceUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAppInstanceUserResponse' smart constructor.+data DescribeAppInstanceUserResponse = DescribeAppInstanceUserResponse'+  { -- | The name of the @AppInstanceUser@.+    appInstanceUser :: Prelude.Maybe AppInstanceUser,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstanceUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUser', 'describeAppInstanceUserResponse_appInstanceUser' - The name of the @AppInstanceUser@.+--+-- 'httpStatus', 'describeAppInstanceUserResponse_httpStatus' - The response's http status code.+newDescribeAppInstanceUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeAppInstanceUserResponse+newDescribeAppInstanceUserResponse pHttpStatus_ =+  DescribeAppInstanceUserResponse'+    { appInstanceUser =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The name of the @AppInstanceUser@.+describeAppInstanceUserResponse_appInstanceUser :: Lens.Lens' DescribeAppInstanceUserResponse (Prelude.Maybe AppInstanceUser)+describeAppInstanceUserResponse_appInstanceUser = Lens.lens (\DescribeAppInstanceUserResponse' {appInstanceUser} -> appInstanceUser) (\s@DescribeAppInstanceUserResponse' {} a -> s {appInstanceUser = a} :: DescribeAppInstanceUserResponse)++-- | The response's http status code.+describeAppInstanceUserResponse_httpStatus :: Lens.Lens' DescribeAppInstanceUserResponse Prelude.Int+describeAppInstanceUserResponse_httpStatus = Lens.lens (\DescribeAppInstanceUserResponse' {httpStatus} -> httpStatus) (\s@DescribeAppInstanceUserResponse' {} a -> s {httpStatus = a} :: DescribeAppInstanceUserResponse)++instance+  Prelude.NFData+    DescribeAppInstanceUserResponse+  where+  rnf DescribeAppInstanceUserResponse' {..} =+    Prelude.rnf appInstanceUser+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/DescribeAppInstanceUserEndpoint.hs view
@@ -0,0 +1,205 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.DescribeAppInstanceUserEndpoint+-- 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 the full details of an @AppInstanceUserEndpoint@.+module Amazonka.ChimeSDKIdentity.DescribeAppInstanceUserEndpoint+  ( -- * Creating a Request+    DescribeAppInstanceUserEndpoint (..),+    newDescribeAppInstanceUserEndpoint,++    -- * Request Lenses+    describeAppInstanceUserEndpoint_appInstanceUserArn,+    describeAppInstanceUserEndpoint_endpointId,++    -- * Destructuring the Response+    DescribeAppInstanceUserEndpointResponse (..),+    newDescribeAppInstanceUserEndpointResponse,++    -- * Response Lenses+    describeAppInstanceUserEndpointResponse_appInstanceUserEndpoint,+    describeAppInstanceUserEndpointResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newDescribeAppInstanceUserEndpoint' smart constructor.+data DescribeAppInstanceUserEndpoint = DescribeAppInstanceUserEndpoint'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Data.Sensitive Prelude.Text,+    -- | The unique identifier of the @AppInstanceUserEndpoint@.+    endpointId :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstanceUserEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserArn', 'describeAppInstanceUserEndpoint_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'endpointId', 'describeAppInstanceUserEndpoint_endpointId' - The unique identifier of the @AppInstanceUserEndpoint@.+newDescribeAppInstanceUserEndpoint ::+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  -- | 'endpointId'+  Prelude.Text ->+  DescribeAppInstanceUserEndpoint+newDescribeAppInstanceUserEndpoint+  pAppInstanceUserArn_+  pEndpointId_ =+    DescribeAppInstanceUserEndpoint'+      { appInstanceUserArn =+          Data._Sensitive+            Lens.# pAppInstanceUserArn_,+        endpointId =+          Data._Sensitive Lens.# pEndpointId_+      }++-- | The ARN of the @AppInstanceUser@.+describeAppInstanceUserEndpoint_appInstanceUserArn :: Lens.Lens' DescribeAppInstanceUserEndpoint Prelude.Text+describeAppInstanceUserEndpoint_appInstanceUserArn = Lens.lens (\DescribeAppInstanceUserEndpoint' {appInstanceUserArn} -> appInstanceUserArn) (\s@DescribeAppInstanceUserEndpoint' {} a -> s {appInstanceUserArn = a} :: DescribeAppInstanceUserEndpoint) Prelude.. Data._Sensitive++-- | The unique identifier of the @AppInstanceUserEndpoint@.+describeAppInstanceUserEndpoint_endpointId :: Lens.Lens' DescribeAppInstanceUserEndpoint Prelude.Text+describeAppInstanceUserEndpoint_endpointId = Lens.lens (\DescribeAppInstanceUserEndpoint' {endpointId} -> endpointId) (\s@DescribeAppInstanceUserEndpoint' {} a -> s {endpointId = a} :: DescribeAppInstanceUserEndpoint) Prelude.. Data._Sensitive++instance+  Core.AWSRequest+    DescribeAppInstanceUserEndpoint+  where+  type+    AWSResponse DescribeAppInstanceUserEndpoint =+      DescribeAppInstanceUserEndpointResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAppInstanceUserEndpointResponse'+            Prelude.<$> (x Data..?> "AppInstanceUserEndpoint")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeAppInstanceUserEndpoint+  where+  hashWithSalt+    _salt+    DescribeAppInstanceUserEndpoint' {..} =+      _salt+        `Prelude.hashWithSalt` appInstanceUserArn+        `Prelude.hashWithSalt` endpointId++instance+  Prelude.NFData+    DescribeAppInstanceUserEndpoint+  where+  rnf DescribeAppInstanceUserEndpoint' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf endpointId++instance+  Data.ToHeaders+    DescribeAppInstanceUserEndpoint+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeAppInstanceUserEndpoint where+  toPath DescribeAppInstanceUserEndpoint' {..} =+    Prelude.mconcat+      [ "/app-instance-users/",+        Data.toBS appInstanceUserArn,+        "/endpoints/",+        Data.toBS endpointId+      ]++instance Data.ToQuery DescribeAppInstanceUserEndpoint where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAppInstanceUserEndpointResponse' smart constructor.+data DescribeAppInstanceUserEndpointResponse = DescribeAppInstanceUserEndpointResponse'+  { -- | The full details of an @AppInstanceUserEndpoint@: the+    -- @AppInstanceUserArn@, ID, name, type, resource ARN, attributes, allow+    -- messages, state, and created and last updated timestamps. All timestamps+    -- use epoch milliseconds.+    appInstanceUserEndpoint :: Prelude.Maybe AppInstanceUserEndpoint,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppInstanceUserEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserEndpoint', 'describeAppInstanceUserEndpointResponse_appInstanceUserEndpoint' - The full details of an @AppInstanceUserEndpoint@: the+-- @AppInstanceUserArn@, ID, name, type, resource ARN, attributes, allow+-- messages, state, and created and last updated timestamps. All timestamps+-- use epoch milliseconds.+--+-- 'httpStatus', 'describeAppInstanceUserEndpointResponse_httpStatus' - The response's http status code.+newDescribeAppInstanceUserEndpointResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeAppInstanceUserEndpointResponse+newDescribeAppInstanceUserEndpointResponse+  pHttpStatus_ =+    DescribeAppInstanceUserEndpointResponse'+      { appInstanceUserEndpoint =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The full details of an @AppInstanceUserEndpoint@: the+-- @AppInstanceUserArn@, ID, name, type, resource ARN, attributes, allow+-- messages, state, and created and last updated timestamps. All timestamps+-- use epoch milliseconds.+describeAppInstanceUserEndpointResponse_appInstanceUserEndpoint :: Lens.Lens' DescribeAppInstanceUserEndpointResponse (Prelude.Maybe AppInstanceUserEndpoint)+describeAppInstanceUserEndpointResponse_appInstanceUserEndpoint = Lens.lens (\DescribeAppInstanceUserEndpointResponse' {appInstanceUserEndpoint} -> appInstanceUserEndpoint) (\s@DescribeAppInstanceUserEndpointResponse' {} a -> s {appInstanceUserEndpoint = a} :: DescribeAppInstanceUserEndpointResponse)++-- | The response's http status code.+describeAppInstanceUserEndpointResponse_httpStatus :: Lens.Lens' DescribeAppInstanceUserEndpointResponse Prelude.Int+describeAppInstanceUserEndpointResponse_httpStatus = Lens.lens (\DescribeAppInstanceUserEndpointResponse' {httpStatus} -> httpStatus) (\s@DescribeAppInstanceUserEndpointResponse' {} a -> s {httpStatus = a} :: DescribeAppInstanceUserEndpointResponse)++instance+  Prelude.NFData+    DescribeAppInstanceUserEndpointResponse+  where+  rnf DescribeAppInstanceUserEndpointResponse' {..} =+    Prelude.rnf appInstanceUserEndpoint+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/GetAppInstanceRetentionSettings.hs view
@@ -0,0 +1,192 @@+{-# 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.ChimeSDKIdentity.GetAppInstanceRetentionSettings+-- 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 retention settings for an @AppInstance@.+module Amazonka.ChimeSDKIdentity.GetAppInstanceRetentionSettings+  ( -- * Creating a Request+    GetAppInstanceRetentionSettings (..),+    newGetAppInstanceRetentionSettings,++    -- * Request Lenses+    getAppInstanceRetentionSettings_appInstanceArn,++    -- * Destructuring the Response+    GetAppInstanceRetentionSettingsResponse (..),+    newGetAppInstanceRetentionSettingsResponse,++    -- * Response Lenses+    getAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings,+    getAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp,+    getAppInstanceRetentionSettingsResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newGetAppInstanceRetentionSettings' smart constructor.+data GetAppInstanceRetentionSettings = GetAppInstanceRetentionSettings'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAppInstanceRetentionSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceArn', 'getAppInstanceRetentionSettings_appInstanceArn' - The ARN of the @AppInstance@.+newGetAppInstanceRetentionSettings ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  GetAppInstanceRetentionSettings+newGetAppInstanceRetentionSettings pAppInstanceArn_ =+  GetAppInstanceRetentionSettings'+    { appInstanceArn =+        pAppInstanceArn_+    }++-- | The ARN of the @AppInstance@.+getAppInstanceRetentionSettings_appInstanceArn :: Lens.Lens' GetAppInstanceRetentionSettings Prelude.Text+getAppInstanceRetentionSettings_appInstanceArn = Lens.lens (\GetAppInstanceRetentionSettings' {appInstanceArn} -> appInstanceArn) (\s@GetAppInstanceRetentionSettings' {} a -> s {appInstanceArn = a} :: GetAppInstanceRetentionSettings)++instance+  Core.AWSRequest+    GetAppInstanceRetentionSettings+  where+  type+    AWSResponse GetAppInstanceRetentionSettings =+      GetAppInstanceRetentionSettingsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAppInstanceRetentionSettingsResponse'+            Prelude.<$> (x Data..?> "AppInstanceRetentionSettings")+            Prelude.<*> (x Data..?> "InitiateDeletionTimestamp")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetAppInstanceRetentionSettings+  where+  hashWithSalt+    _salt+    GetAppInstanceRetentionSettings' {..} =+      _salt `Prelude.hashWithSalt` appInstanceArn++instance+  Prelude.NFData+    GetAppInstanceRetentionSettings+  where+  rnf GetAppInstanceRetentionSettings' {..} =+    Prelude.rnf appInstanceArn++instance+  Data.ToHeaders+    GetAppInstanceRetentionSettings+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetAppInstanceRetentionSettings where+  toPath GetAppInstanceRetentionSettings' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/retention-settings"+      ]++instance Data.ToQuery GetAppInstanceRetentionSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAppInstanceRetentionSettingsResponse' smart constructor.+data GetAppInstanceRetentionSettingsResponse = GetAppInstanceRetentionSettingsResponse'+  { -- | The retention settings for the @AppInstance@.+    appInstanceRetentionSettings :: Prelude.Maybe AppInstanceRetentionSettings,+    -- | The timestamp representing the time at which the specified items are+    -- retained, in Epoch Seconds.+    initiateDeletionTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAppInstanceRetentionSettingsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceRetentionSettings', 'getAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings' - The retention settings for the @AppInstance@.+--+-- 'initiateDeletionTimestamp', 'getAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp' - The timestamp representing the time at which the specified items are+-- retained, in Epoch Seconds.+--+-- 'httpStatus', 'getAppInstanceRetentionSettingsResponse_httpStatus' - The response's http status code.+newGetAppInstanceRetentionSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAppInstanceRetentionSettingsResponse+newGetAppInstanceRetentionSettingsResponse+  pHttpStatus_ =+    GetAppInstanceRetentionSettingsResponse'+      { appInstanceRetentionSettings =+          Prelude.Nothing,+        initiateDeletionTimestamp =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The retention settings for the @AppInstance@.+getAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings :: Lens.Lens' GetAppInstanceRetentionSettingsResponse (Prelude.Maybe AppInstanceRetentionSettings)+getAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings = Lens.lens (\GetAppInstanceRetentionSettingsResponse' {appInstanceRetentionSettings} -> appInstanceRetentionSettings) (\s@GetAppInstanceRetentionSettingsResponse' {} a -> s {appInstanceRetentionSettings = a} :: GetAppInstanceRetentionSettingsResponse)++-- | The timestamp representing the time at which the specified items are+-- retained, in Epoch Seconds.+getAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp :: Lens.Lens' GetAppInstanceRetentionSettingsResponse (Prelude.Maybe Prelude.UTCTime)+getAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp = Lens.lens (\GetAppInstanceRetentionSettingsResponse' {initiateDeletionTimestamp} -> initiateDeletionTimestamp) (\s@GetAppInstanceRetentionSettingsResponse' {} a -> s {initiateDeletionTimestamp = a} :: GetAppInstanceRetentionSettingsResponse) Prelude.. Lens.mapping Data._Time++-- | The response's http status code.+getAppInstanceRetentionSettingsResponse_httpStatus :: Lens.Lens' GetAppInstanceRetentionSettingsResponse Prelude.Int+getAppInstanceRetentionSettingsResponse_httpStatus = Lens.lens (\GetAppInstanceRetentionSettingsResponse' {httpStatus} -> httpStatus) (\s@GetAppInstanceRetentionSettingsResponse' {} a -> s {httpStatus = a} :: GetAppInstanceRetentionSettingsResponse)++instance+  Prelude.NFData+    GetAppInstanceRetentionSettingsResponse+  where+  rnf GetAppInstanceRetentionSettingsResponse' {..} =+    Prelude.rnf appInstanceRetentionSettings+      `Prelude.seq` Prelude.rnf initiateDeletionTimestamp+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/Lens.hs view
@@ -0,0 +1,287 @@+{-# 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.ChimeSDKIdentity.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.ChimeSDKIdentity.Lens+  ( -- * Operations++    -- ** CreateAppInstance+    createAppInstance_metadata,+    createAppInstance_tags,+    createAppInstance_name,+    createAppInstance_clientRequestToken,+    createAppInstanceResponse_appInstanceArn,+    createAppInstanceResponse_httpStatus,++    -- ** CreateAppInstanceAdmin+    createAppInstanceAdmin_appInstanceAdminArn,+    createAppInstanceAdmin_appInstanceArn,+    createAppInstanceAdminResponse_appInstanceAdmin,+    createAppInstanceAdminResponse_appInstanceArn,+    createAppInstanceAdminResponse_httpStatus,++    -- ** CreateAppInstanceUser+    createAppInstanceUser_metadata,+    createAppInstanceUser_tags,+    createAppInstanceUser_appInstanceArn,+    createAppInstanceUser_appInstanceUserId,+    createAppInstanceUser_name,+    createAppInstanceUser_clientRequestToken,+    createAppInstanceUserResponse_appInstanceUserArn,+    createAppInstanceUserResponse_httpStatus,++    -- ** DeleteAppInstance+    deleteAppInstance_appInstanceArn,++    -- ** DeleteAppInstanceAdmin+    deleteAppInstanceAdmin_appInstanceAdminArn,+    deleteAppInstanceAdmin_appInstanceArn,++    -- ** DeleteAppInstanceUser+    deleteAppInstanceUser_appInstanceUserArn,++    -- ** DeregisterAppInstanceUserEndpoint+    deregisterAppInstanceUserEndpoint_appInstanceUserArn,+    deregisterAppInstanceUserEndpoint_endpointId,++    -- ** DescribeAppInstance+    describeAppInstance_appInstanceArn,+    describeAppInstanceResponse_appInstance,+    describeAppInstanceResponse_httpStatus,++    -- ** DescribeAppInstanceAdmin+    describeAppInstanceAdmin_appInstanceAdminArn,+    describeAppInstanceAdmin_appInstanceArn,+    describeAppInstanceAdminResponse_appInstanceAdmin,+    describeAppInstanceAdminResponse_httpStatus,++    -- ** DescribeAppInstanceUser+    describeAppInstanceUser_appInstanceUserArn,+    describeAppInstanceUserResponse_appInstanceUser,+    describeAppInstanceUserResponse_httpStatus,++    -- ** DescribeAppInstanceUserEndpoint+    describeAppInstanceUserEndpoint_appInstanceUserArn,+    describeAppInstanceUserEndpoint_endpointId,+    describeAppInstanceUserEndpointResponse_appInstanceUserEndpoint,+    describeAppInstanceUserEndpointResponse_httpStatus,++    -- ** GetAppInstanceRetentionSettings+    getAppInstanceRetentionSettings_appInstanceArn,+    getAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings,+    getAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp,+    getAppInstanceRetentionSettingsResponse_httpStatus,++    -- ** ListAppInstanceAdmins+    listAppInstanceAdmins_maxResults,+    listAppInstanceAdmins_nextToken,+    listAppInstanceAdmins_appInstanceArn,+    listAppInstanceAdminsResponse_appInstanceAdmins,+    listAppInstanceAdminsResponse_appInstanceArn,+    listAppInstanceAdminsResponse_nextToken,+    listAppInstanceAdminsResponse_httpStatus,++    -- ** ListAppInstanceUserEndpoints+    listAppInstanceUserEndpoints_maxResults,+    listAppInstanceUserEndpoints_nextToken,+    listAppInstanceUserEndpoints_appInstanceUserArn,+    listAppInstanceUserEndpointsResponse_appInstanceUserEndpoints,+    listAppInstanceUserEndpointsResponse_nextToken,+    listAppInstanceUserEndpointsResponse_httpStatus,++    -- ** ListAppInstanceUsers+    listAppInstanceUsers_maxResults,+    listAppInstanceUsers_nextToken,+    listAppInstanceUsers_appInstanceArn,+    listAppInstanceUsersResponse_appInstanceArn,+    listAppInstanceUsersResponse_appInstanceUsers,+    listAppInstanceUsersResponse_nextToken,+    listAppInstanceUsersResponse_httpStatus,++    -- ** ListAppInstances+    listAppInstances_maxResults,+    listAppInstances_nextToken,+    listAppInstancesResponse_appInstances,+    listAppInstancesResponse_nextToken,+    listAppInstancesResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceARN,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** PutAppInstanceRetentionSettings+    putAppInstanceRetentionSettings_appInstanceArn,+    putAppInstanceRetentionSettings_appInstanceRetentionSettings,+    putAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings,+    putAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp,+    putAppInstanceRetentionSettingsResponse_httpStatus,++    -- ** RegisterAppInstanceUserEndpoint+    registerAppInstanceUserEndpoint_allowMessages,+    registerAppInstanceUserEndpoint_name,+    registerAppInstanceUserEndpoint_appInstanceUserArn,+    registerAppInstanceUserEndpoint_type,+    registerAppInstanceUserEndpoint_resourceArn,+    registerAppInstanceUserEndpoint_endpointAttributes,+    registerAppInstanceUserEndpoint_clientRequestToken,+    registerAppInstanceUserEndpointResponse_appInstanceUserArn,+    registerAppInstanceUserEndpointResponse_endpointId,+    registerAppInstanceUserEndpointResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceARN,+    tagResource_tags,++    -- ** UntagResource+    untagResource_resourceARN,+    untagResource_tagKeys,++    -- ** UpdateAppInstance+    updateAppInstance_appInstanceArn,+    updateAppInstance_name,+    updateAppInstance_metadata,+    updateAppInstanceResponse_appInstanceArn,+    updateAppInstanceResponse_httpStatus,++    -- ** UpdateAppInstanceUser+    updateAppInstanceUser_appInstanceUserArn,+    updateAppInstanceUser_name,+    updateAppInstanceUser_metadata,+    updateAppInstanceUserResponse_appInstanceUserArn,+    updateAppInstanceUserResponse_httpStatus,++    -- ** UpdateAppInstanceUserEndpoint+    updateAppInstanceUserEndpoint_allowMessages,+    updateAppInstanceUserEndpoint_name,+    updateAppInstanceUserEndpoint_appInstanceUserArn,+    updateAppInstanceUserEndpoint_endpointId,+    updateAppInstanceUserEndpointResponse_appInstanceUserArn,+    updateAppInstanceUserEndpointResponse_endpointId,+    updateAppInstanceUserEndpointResponse_httpStatus,++    -- * Types++    -- ** AppInstance+    appInstance_appInstanceArn,+    appInstance_createdTimestamp,+    appInstance_lastUpdatedTimestamp,+    appInstance_metadata,+    appInstance_name,++    -- ** AppInstanceAdmin+    appInstanceAdmin_admin,+    appInstanceAdmin_appInstanceArn,+    appInstanceAdmin_createdTimestamp,++    -- ** AppInstanceAdminSummary+    appInstanceAdminSummary_admin,++    -- ** AppInstanceRetentionSettings+    appInstanceRetentionSettings_channelRetentionSettings,++    -- ** AppInstanceSummary+    appInstanceSummary_appInstanceArn,+    appInstanceSummary_metadata,+    appInstanceSummary_name,++    -- ** AppInstanceUser+    appInstanceUser_appInstanceUserArn,+    appInstanceUser_createdTimestamp,+    appInstanceUser_lastUpdatedTimestamp,+    appInstanceUser_metadata,+    appInstanceUser_name,++    -- ** AppInstanceUserEndpoint+    appInstanceUserEndpoint_allowMessages,+    appInstanceUserEndpoint_appInstanceUserArn,+    appInstanceUserEndpoint_createdTimestamp,+    appInstanceUserEndpoint_endpointAttributes,+    appInstanceUserEndpoint_endpointId,+    appInstanceUserEndpoint_endpointState,+    appInstanceUserEndpoint_lastUpdatedTimestamp,+    appInstanceUserEndpoint_name,+    appInstanceUserEndpoint_resourceArn,+    appInstanceUserEndpoint_type,++    -- ** AppInstanceUserEndpointSummary+    appInstanceUserEndpointSummary_allowMessages,+    appInstanceUserEndpointSummary_appInstanceUserArn,+    appInstanceUserEndpointSummary_endpointId,+    appInstanceUserEndpointSummary_endpointState,+    appInstanceUserEndpointSummary_name,+    appInstanceUserEndpointSummary_type,++    -- ** AppInstanceUserSummary+    appInstanceUserSummary_appInstanceUserArn,+    appInstanceUserSummary_metadata,+    appInstanceUserSummary_name,++    -- ** ChannelRetentionSettings+    channelRetentionSettings_retentionDays,++    -- ** EndpointAttributes+    endpointAttributes_voipDeviceToken,+    endpointAttributes_deviceToken,++    -- ** EndpointState+    endpointState_statusReason,+    endpointState_status,++    -- ** Identity+    identity_arn,+    identity_name,++    -- ** Tag+    tag_key,+    tag_value,+  )+where++import Amazonka.ChimeSDKIdentity.CreateAppInstance+import Amazonka.ChimeSDKIdentity.CreateAppInstanceAdmin+import Amazonka.ChimeSDKIdentity.CreateAppInstanceUser+import Amazonka.ChimeSDKIdentity.DeleteAppInstance+import Amazonka.ChimeSDKIdentity.DeleteAppInstanceAdmin+import Amazonka.ChimeSDKIdentity.DeleteAppInstanceUser+import Amazonka.ChimeSDKIdentity.DeregisterAppInstanceUserEndpoint+import Amazonka.ChimeSDKIdentity.DescribeAppInstance+import Amazonka.ChimeSDKIdentity.DescribeAppInstanceAdmin+import Amazonka.ChimeSDKIdentity.DescribeAppInstanceUser+import Amazonka.ChimeSDKIdentity.DescribeAppInstanceUserEndpoint+import Amazonka.ChimeSDKIdentity.GetAppInstanceRetentionSettings+import Amazonka.ChimeSDKIdentity.ListAppInstanceAdmins+import Amazonka.ChimeSDKIdentity.ListAppInstanceUserEndpoints+import Amazonka.ChimeSDKIdentity.ListAppInstanceUsers+import Amazonka.ChimeSDKIdentity.ListAppInstances+import Amazonka.ChimeSDKIdentity.ListTagsForResource+import Amazonka.ChimeSDKIdentity.PutAppInstanceRetentionSettings+import Amazonka.ChimeSDKIdentity.RegisterAppInstanceUserEndpoint+import Amazonka.ChimeSDKIdentity.TagResource+import Amazonka.ChimeSDKIdentity.Types.AppInstance+import Amazonka.ChimeSDKIdentity.Types.AppInstanceAdmin+import Amazonka.ChimeSDKIdentity.Types.AppInstanceAdminSummary+import Amazonka.ChimeSDKIdentity.Types.AppInstanceRetentionSettings+import Amazonka.ChimeSDKIdentity.Types.AppInstanceSummary+import Amazonka.ChimeSDKIdentity.Types.AppInstanceUser+import Amazonka.ChimeSDKIdentity.Types.AppInstanceUserEndpoint+import Amazonka.ChimeSDKIdentity.Types.AppInstanceUserEndpointSummary+import Amazonka.ChimeSDKIdentity.Types.AppInstanceUserSummary+import Amazonka.ChimeSDKIdentity.Types.ChannelRetentionSettings+import Amazonka.ChimeSDKIdentity.Types.EndpointAttributes+import Amazonka.ChimeSDKIdentity.Types.EndpointState+import Amazonka.ChimeSDKIdentity.Types.Identity+import Amazonka.ChimeSDKIdentity.Types.Tag+import Amazonka.ChimeSDKIdentity.UntagResource+import Amazonka.ChimeSDKIdentity.UpdateAppInstance+import Amazonka.ChimeSDKIdentity.UpdateAppInstanceUser+import Amazonka.ChimeSDKIdentity.UpdateAppInstanceUserEndpoint
+ gen/Amazonka/ChimeSDKIdentity/ListAppInstanceAdmins.hs view
@@ -0,0 +1,220 @@+{-# 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.ChimeSDKIdentity.ListAppInstanceAdmins+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of the administrators in the @AppInstance@.+module Amazonka.ChimeSDKIdentity.ListAppInstanceAdmins+  ( -- * Creating a Request+    ListAppInstanceAdmins (..),+    newListAppInstanceAdmins,++    -- * Request Lenses+    listAppInstanceAdmins_maxResults,+    listAppInstanceAdmins_nextToken,+    listAppInstanceAdmins_appInstanceArn,++    -- * Destructuring the Response+    ListAppInstanceAdminsResponse (..),+    newListAppInstanceAdminsResponse,++    -- * Response Lenses+    listAppInstanceAdminsResponse_appInstanceAdmins,+    listAppInstanceAdminsResponse_appInstanceArn,+    listAppInstanceAdminsResponse_nextToken,+    listAppInstanceAdminsResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newListAppInstanceAdmins' smart constructor.+data ListAppInstanceAdmins = ListAppInstanceAdmins'+  { -- | The maximum number of administrators that you want to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token returned from previous API requests until the number of+    -- administrators is reached.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstanceAdmins' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listAppInstanceAdmins_maxResults' - The maximum number of administrators that you want to return.+--+-- 'nextToken', 'listAppInstanceAdmins_nextToken' - The token returned from previous API requests until the number of+-- administrators is reached.+--+-- 'appInstanceArn', 'listAppInstanceAdmins_appInstanceArn' - The ARN of the @AppInstance@.+newListAppInstanceAdmins ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  ListAppInstanceAdmins+newListAppInstanceAdmins pAppInstanceArn_ =+  ListAppInstanceAdmins'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      appInstanceArn = pAppInstanceArn_+    }++-- | The maximum number of administrators that you want to return.+listAppInstanceAdmins_maxResults :: Lens.Lens' ListAppInstanceAdmins (Prelude.Maybe Prelude.Natural)+listAppInstanceAdmins_maxResults = Lens.lens (\ListAppInstanceAdmins' {maxResults} -> maxResults) (\s@ListAppInstanceAdmins' {} a -> s {maxResults = a} :: ListAppInstanceAdmins)++-- | The token returned from previous API requests until the number of+-- administrators is reached.+listAppInstanceAdmins_nextToken :: Lens.Lens' ListAppInstanceAdmins (Prelude.Maybe Prelude.Text)+listAppInstanceAdmins_nextToken = Lens.lens (\ListAppInstanceAdmins' {nextToken} -> nextToken) (\s@ListAppInstanceAdmins' {} a -> s {nextToken = a} :: ListAppInstanceAdmins) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the @AppInstance@.+listAppInstanceAdmins_appInstanceArn :: Lens.Lens' ListAppInstanceAdmins Prelude.Text+listAppInstanceAdmins_appInstanceArn = Lens.lens (\ListAppInstanceAdmins' {appInstanceArn} -> appInstanceArn) (\s@ListAppInstanceAdmins' {} a -> s {appInstanceArn = a} :: ListAppInstanceAdmins)++instance Core.AWSRequest ListAppInstanceAdmins where+  type+    AWSResponse ListAppInstanceAdmins =+      ListAppInstanceAdminsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAppInstanceAdminsResponse'+            Prelude.<$> ( x+                            Data..?> "AppInstanceAdmins"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "AppInstanceArn")+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAppInstanceAdmins where+  hashWithSalt _salt ListAppInstanceAdmins' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData ListAppInstanceAdmins where+  rnf ListAppInstanceAdmins' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf appInstanceArn++instance Data.ToHeaders ListAppInstanceAdmins where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListAppInstanceAdmins where+  toPath ListAppInstanceAdmins' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/admins"+      ]++instance Data.ToQuery ListAppInstanceAdmins where+  toQuery ListAppInstanceAdmins' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListAppInstanceAdminsResponse' smart constructor.+data ListAppInstanceAdminsResponse = ListAppInstanceAdminsResponse'+  { -- | The information for each administrator.+    appInstanceAdmins :: Prelude.Maybe [AppInstanceAdminSummary],+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The token returned from previous API requests until the number of+    -- administrators is reached.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstanceAdminsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceAdmins', 'listAppInstanceAdminsResponse_appInstanceAdmins' - The information for each administrator.+--+-- 'appInstanceArn', 'listAppInstanceAdminsResponse_appInstanceArn' - The ARN of the @AppInstance@.+--+-- 'nextToken', 'listAppInstanceAdminsResponse_nextToken' - The token returned from previous API requests until the number of+-- administrators is reached.+--+-- 'httpStatus', 'listAppInstanceAdminsResponse_httpStatus' - The response's http status code.+newListAppInstanceAdminsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAppInstanceAdminsResponse+newListAppInstanceAdminsResponse pHttpStatus_ =+  ListAppInstanceAdminsResponse'+    { appInstanceAdmins =+        Prelude.Nothing,+      appInstanceArn = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The information for each administrator.+listAppInstanceAdminsResponse_appInstanceAdmins :: Lens.Lens' ListAppInstanceAdminsResponse (Prelude.Maybe [AppInstanceAdminSummary])+listAppInstanceAdminsResponse_appInstanceAdmins = Lens.lens (\ListAppInstanceAdminsResponse' {appInstanceAdmins} -> appInstanceAdmins) (\s@ListAppInstanceAdminsResponse' {} a -> s {appInstanceAdmins = a} :: ListAppInstanceAdminsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the @AppInstance@.+listAppInstanceAdminsResponse_appInstanceArn :: Lens.Lens' ListAppInstanceAdminsResponse (Prelude.Maybe Prelude.Text)+listAppInstanceAdminsResponse_appInstanceArn = Lens.lens (\ListAppInstanceAdminsResponse' {appInstanceArn} -> appInstanceArn) (\s@ListAppInstanceAdminsResponse' {} a -> s {appInstanceArn = a} :: ListAppInstanceAdminsResponse)++-- | The token returned from previous API requests until the number of+-- administrators is reached.+listAppInstanceAdminsResponse_nextToken :: Lens.Lens' ListAppInstanceAdminsResponse (Prelude.Maybe Prelude.Text)+listAppInstanceAdminsResponse_nextToken = Lens.lens (\ListAppInstanceAdminsResponse' {nextToken} -> nextToken) (\s@ListAppInstanceAdminsResponse' {} a -> s {nextToken = a} :: ListAppInstanceAdminsResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listAppInstanceAdminsResponse_httpStatus :: Lens.Lens' ListAppInstanceAdminsResponse Prelude.Int+listAppInstanceAdminsResponse_httpStatus = Lens.lens (\ListAppInstanceAdminsResponse' {httpStatus} -> httpStatus) (\s@ListAppInstanceAdminsResponse' {} a -> s {httpStatus = a} :: ListAppInstanceAdminsResponse)++instance Prelude.NFData ListAppInstanceAdminsResponse where+  rnf ListAppInstanceAdminsResponse' {..} =+    Prelude.rnf appInstanceAdmins+      `Prelude.seq` Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/ListAppInstanceUserEndpoints.hs view
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.ListAppInstanceUserEndpoints+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the @AppInstanceUserEndpoints@ created under a single+-- @AppInstanceUser@.+module Amazonka.ChimeSDKIdentity.ListAppInstanceUserEndpoints+  ( -- * Creating a Request+    ListAppInstanceUserEndpoints (..),+    newListAppInstanceUserEndpoints,++    -- * Request Lenses+    listAppInstanceUserEndpoints_maxResults,+    listAppInstanceUserEndpoints_nextToken,+    listAppInstanceUserEndpoints_appInstanceUserArn,++    -- * Destructuring the Response+    ListAppInstanceUserEndpointsResponse (..),+    newListAppInstanceUserEndpointsResponse,++    -- * Response Lenses+    listAppInstanceUserEndpointsResponse_appInstanceUserEndpoints,+    listAppInstanceUserEndpointsResponse_nextToken,+    listAppInstanceUserEndpointsResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newListAppInstanceUserEndpoints' smart constructor.+data ListAppInstanceUserEndpoints = ListAppInstanceUserEndpoints'+  { -- | The maximum number of endpoints that you want to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token passed by previous API calls until all requested endpoints are+    -- returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstanceUserEndpoints' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listAppInstanceUserEndpoints_maxResults' - The maximum number of endpoints that you want to return.+--+-- 'nextToken', 'listAppInstanceUserEndpoints_nextToken' - The token passed by previous API calls until all requested endpoints are+-- returned.+--+-- 'appInstanceUserArn', 'listAppInstanceUserEndpoints_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+newListAppInstanceUserEndpoints ::+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  ListAppInstanceUserEndpoints+newListAppInstanceUserEndpoints pAppInstanceUserArn_ =+  ListAppInstanceUserEndpoints'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      appInstanceUserArn =+        Data._Sensitive Lens.# pAppInstanceUserArn_+    }++-- | The maximum number of endpoints that you want to return.+listAppInstanceUserEndpoints_maxResults :: Lens.Lens' ListAppInstanceUserEndpoints (Prelude.Maybe Prelude.Natural)+listAppInstanceUserEndpoints_maxResults = Lens.lens (\ListAppInstanceUserEndpoints' {maxResults} -> maxResults) (\s@ListAppInstanceUserEndpoints' {} a -> s {maxResults = a} :: ListAppInstanceUserEndpoints)++-- | The token passed by previous API calls until all requested endpoints are+-- returned.+listAppInstanceUserEndpoints_nextToken :: Lens.Lens' ListAppInstanceUserEndpoints (Prelude.Maybe Prelude.Text)+listAppInstanceUserEndpoints_nextToken = Lens.lens (\ListAppInstanceUserEndpoints' {nextToken} -> nextToken) (\s@ListAppInstanceUserEndpoints' {} a -> s {nextToken = a} :: ListAppInstanceUserEndpoints) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the @AppInstanceUser@.+listAppInstanceUserEndpoints_appInstanceUserArn :: Lens.Lens' ListAppInstanceUserEndpoints Prelude.Text+listAppInstanceUserEndpoints_appInstanceUserArn = Lens.lens (\ListAppInstanceUserEndpoints' {appInstanceUserArn} -> appInstanceUserArn) (\s@ListAppInstanceUserEndpoints' {} a -> s {appInstanceUserArn = a} :: ListAppInstanceUserEndpoints) Prelude.. Data._Sensitive++instance Core.AWSRequest ListAppInstanceUserEndpoints where+  type+    AWSResponse ListAppInstanceUserEndpoints =+      ListAppInstanceUserEndpointsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAppInstanceUserEndpointsResponse'+            Prelude.<$> ( x+                            Data..?> "AppInstanceUserEndpoints"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListAppInstanceUserEndpoints+  where+  hashWithSalt _salt ListAppInstanceUserEndpoints' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` appInstanceUserArn++instance Prelude.NFData ListAppInstanceUserEndpoints where+  rnf ListAppInstanceUserEndpoints' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf appInstanceUserArn++instance Data.ToHeaders ListAppInstanceUserEndpoints where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListAppInstanceUserEndpoints where+  toPath ListAppInstanceUserEndpoints' {..} =+    Prelude.mconcat+      [ "/app-instance-users/",+        Data.toBS appInstanceUserArn,+        "/endpoints"+      ]++instance Data.ToQuery ListAppInstanceUserEndpoints where+  toQuery ListAppInstanceUserEndpoints' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListAppInstanceUserEndpointsResponse' smart constructor.+data ListAppInstanceUserEndpointsResponse = ListAppInstanceUserEndpointsResponse'+  { -- | The information for each requested @AppInstanceUserEndpoint@.+    appInstanceUserEndpoints :: Prelude.Maybe [AppInstanceUserEndpointSummary],+    -- | The token passed by previous API calls until all requested endpoints are+    -- returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstanceUserEndpointsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserEndpoints', 'listAppInstanceUserEndpointsResponse_appInstanceUserEndpoints' - The information for each requested @AppInstanceUserEndpoint@.+--+-- 'nextToken', 'listAppInstanceUserEndpointsResponse_nextToken' - The token passed by previous API calls until all requested endpoints are+-- returned.+--+-- 'httpStatus', 'listAppInstanceUserEndpointsResponse_httpStatus' - The response's http status code.+newListAppInstanceUserEndpointsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAppInstanceUserEndpointsResponse+newListAppInstanceUserEndpointsResponse pHttpStatus_ =+  ListAppInstanceUserEndpointsResponse'+    { appInstanceUserEndpoints =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The information for each requested @AppInstanceUserEndpoint@.+listAppInstanceUserEndpointsResponse_appInstanceUserEndpoints :: Lens.Lens' ListAppInstanceUserEndpointsResponse (Prelude.Maybe [AppInstanceUserEndpointSummary])+listAppInstanceUserEndpointsResponse_appInstanceUserEndpoints = Lens.lens (\ListAppInstanceUserEndpointsResponse' {appInstanceUserEndpoints} -> appInstanceUserEndpoints) (\s@ListAppInstanceUserEndpointsResponse' {} a -> s {appInstanceUserEndpoints = a} :: ListAppInstanceUserEndpointsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token passed by previous API calls until all requested endpoints are+-- returned.+listAppInstanceUserEndpointsResponse_nextToken :: Lens.Lens' ListAppInstanceUserEndpointsResponse (Prelude.Maybe Prelude.Text)+listAppInstanceUserEndpointsResponse_nextToken = Lens.lens (\ListAppInstanceUserEndpointsResponse' {nextToken} -> nextToken) (\s@ListAppInstanceUserEndpointsResponse' {} a -> s {nextToken = a} :: ListAppInstanceUserEndpointsResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listAppInstanceUserEndpointsResponse_httpStatus :: Lens.Lens' ListAppInstanceUserEndpointsResponse Prelude.Int+listAppInstanceUserEndpointsResponse_httpStatus = Lens.lens (\ListAppInstanceUserEndpointsResponse' {httpStatus} -> httpStatus) (\s@ListAppInstanceUserEndpointsResponse' {} a -> s {httpStatus = a} :: ListAppInstanceUserEndpointsResponse)++instance+  Prelude.NFData+    ListAppInstanceUserEndpointsResponse+  where+  rnf ListAppInstanceUserEndpointsResponse' {..} =+    Prelude.rnf appInstanceUserEndpoints+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/ListAppInstanceUsers.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.ListAppInstanceUsers+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all @AppInstanceUsers@ created under a single @AppInstance@.+module Amazonka.ChimeSDKIdentity.ListAppInstanceUsers+  ( -- * Creating a Request+    ListAppInstanceUsers (..),+    newListAppInstanceUsers,++    -- * Request Lenses+    listAppInstanceUsers_maxResults,+    listAppInstanceUsers_nextToken,+    listAppInstanceUsers_appInstanceArn,++    -- * Destructuring the Response+    ListAppInstanceUsersResponse (..),+    newListAppInstanceUsersResponse,++    -- * Response Lenses+    listAppInstanceUsersResponse_appInstanceArn,+    listAppInstanceUsersResponse_appInstanceUsers,+    listAppInstanceUsersResponse_nextToken,+    listAppInstanceUsersResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newListAppInstanceUsers' smart constructor.+data ListAppInstanceUsers = ListAppInstanceUsers'+  { -- | The maximum number of requests that you want returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token passed by previous API calls until all requested users are+    -- returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstanceUsers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listAppInstanceUsers_maxResults' - The maximum number of requests that you want returned.+--+-- 'nextToken', 'listAppInstanceUsers_nextToken' - The token passed by previous API calls until all requested users are+-- returned.+--+-- 'appInstanceArn', 'listAppInstanceUsers_appInstanceArn' - The ARN of the @AppInstance@.+newListAppInstanceUsers ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  ListAppInstanceUsers+newListAppInstanceUsers pAppInstanceArn_ =+  ListAppInstanceUsers'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      appInstanceArn = pAppInstanceArn_+    }++-- | The maximum number of requests that you want returned.+listAppInstanceUsers_maxResults :: Lens.Lens' ListAppInstanceUsers (Prelude.Maybe Prelude.Natural)+listAppInstanceUsers_maxResults = Lens.lens (\ListAppInstanceUsers' {maxResults} -> maxResults) (\s@ListAppInstanceUsers' {} a -> s {maxResults = a} :: ListAppInstanceUsers)++-- | The token passed by previous API calls until all requested users are+-- returned.+listAppInstanceUsers_nextToken :: Lens.Lens' ListAppInstanceUsers (Prelude.Maybe Prelude.Text)+listAppInstanceUsers_nextToken = Lens.lens (\ListAppInstanceUsers' {nextToken} -> nextToken) (\s@ListAppInstanceUsers' {} a -> s {nextToken = a} :: ListAppInstanceUsers) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the @AppInstance@.+listAppInstanceUsers_appInstanceArn :: Lens.Lens' ListAppInstanceUsers Prelude.Text+listAppInstanceUsers_appInstanceArn = Lens.lens (\ListAppInstanceUsers' {appInstanceArn} -> appInstanceArn) (\s@ListAppInstanceUsers' {} a -> s {appInstanceArn = a} :: ListAppInstanceUsers)++instance Core.AWSRequest ListAppInstanceUsers where+  type+    AWSResponse ListAppInstanceUsers =+      ListAppInstanceUsersResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAppInstanceUsersResponse'+            Prelude.<$> (x Data..?> "AppInstanceArn")+            Prelude.<*> ( x+                            Data..?> "AppInstanceUsers"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAppInstanceUsers where+  hashWithSalt _salt ListAppInstanceUsers' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` appInstanceArn++instance Prelude.NFData ListAppInstanceUsers where+  rnf ListAppInstanceUsers' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf appInstanceArn++instance Data.ToHeaders ListAppInstanceUsers where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListAppInstanceUsers where+  toPath = Prelude.const "/app-instance-users"++instance Data.ToQuery ListAppInstanceUsers where+  toQuery ListAppInstanceUsers' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken,+        "app-instance-arn" Data.=: appInstanceArn+      ]++-- | /See:/ 'newListAppInstanceUsersResponse' smart constructor.+data ListAppInstanceUsersResponse = ListAppInstanceUsersResponse'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The information for each requested @AppInstanceUser@.+    appInstanceUsers :: Prelude.Maybe [AppInstanceUserSummary],+    -- | The token passed by previous API calls until all requested users are+    -- returned.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstanceUsersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceArn', 'listAppInstanceUsersResponse_appInstanceArn' - The ARN of the @AppInstance@.+--+-- 'appInstanceUsers', 'listAppInstanceUsersResponse_appInstanceUsers' - The information for each requested @AppInstanceUser@.+--+-- 'nextToken', 'listAppInstanceUsersResponse_nextToken' - The token passed by previous API calls until all requested users are+-- returned.+--+-- 'httpStatus', 'listAppInstanceUsersResponse_httpStatus' - The response's http status code.+newListAppInstanceUsersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAppInstanceUsersResponse+newListAppInstanceUsersResponse pHttpStatus_ =+  ListAppInstanceUsersResponse'+    { appInstanceArn =+        Prelude.Nothing,+      appInstanceUsers = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the @AppInstance@.+listAppInstanceUsersResponse_appInstanceArn :: Lens.Lens' ListAppInstanceUsersResponse (Prelude.Maybe Prelude.Text)+listAppInstanceUsersResponse_appInstanceArn = Lens.lens (\ListAppInstanceUsersResponse' {appInstanceArn} -> appInstanceArn) (\s@ListAppInstanceUsersResponse' {} a -> s {appInstanceArn = a} :: ListAppInstanceUsersResponse)++-- | The information for each requested @AppInstanceUser@.+listAppInstanceUsersResponse_appInstanceUsers :: Lens.Lens' ListAppInstanceUsersResponse (Prelude.Maybe [AppInstanceUserSummary])+listAppInstanceUsersResponse_appInstanceUsers = Lens.lens (\ListAppInstanceUsersResponse' {appInstanceUsers} -> appInstanceUsers) (\s@ListAppInstanceUsersResponse' {} a -> s {appInstanceUsers = a} :: ListAppInstanceUsersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token passed by previous API calls until all requested users are+-- returned.+listAppInstanceUsersResponse_nextToken :: Lens.Lens' ListAppInstanceUsersResponse (Prelude.Maybe Prelude.Text)+listAppInstanceUsersResponse_nextToken = Lens.lens (\ListAppInstanceUsersResponse' {nextToken} -> nextToken) (\s@ListAppInstanceUsersResponse' {} a -> s {nextToken = a} :: ListAppInstanceUsersResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listAppInstanceUsersResponse_httpStatus :: Lens.Lens' ListAppInstanceUsersResponse Prelude.Int+listAppInstanceUsersResponse_httpStatus = Lens.lens (\ListAppInstanceUsersResponse' {httpStatus} -> httpStatus) (\s@ListAppInstanceUsersResponse' {} a -> s {httpStatus = a} :: ListAppInstanceUsersResponse)++instance Prelude.NFData ListAppInstanceUsersResponse where+  rnf ListAppInstanceUsersResponse' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf appInstanceUsers+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/ListAppInstances.hs view
@@ -0,0 +1,186 @@+{-# 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.ChimeSDKIdentity.ListAppInstances+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all Amazon Chime @AppInstance@s created under a single AWS+-- account.+module Amazonka.ChimeSDKIdentity.ListAppInstances+  ( -- * Creating a Request+    ListAppInstances (..),+    newListAppInstances,++    -- * Request Lenses+    listAppInstances_maxResults,+    listAppInstances_nextToken,++    -- * Destructuring the Response+    ListAppInstancesResponse (..),+    newListAppInstancesResponse,++    -- * Response Lenses+    listAppInstancesResponse_appInstances,+    listAppInstancesResponse_nextToken,+    listAppInstancesResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newListAppInstances' smart constructor.+data ListAppInstances = ListAppInstances'+  { -- | The maximum number of @AppInstance@s that you want to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token passed by previous API requests until you reach the maximum+    -- number of @AppInstances@.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstances' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listAppInstances_maxResults' - The maximum number of @AppInstance@s that you want to return.+--+-- 'nextToken', 'listAppInstances_nextToken' - The token passed by previous API requests until you reach the maximum+-- number of @AppInstances@.+newListAppInstances ::+  ListAppInstances+newListAppInstances =+  ListAppInstances'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of @AppInstance@s that you want to return.+listAppInstances_maxResults :: Lens.Lens' ListAppInstances (Prelude.Maybe Prelude.Natural)+listAppInstances_maxResults = Lens.lens (\ListAppInstances' {maxResults} -> maxResults) (\s@ListAppInstances' {} a -> s {maxResults = a} :: ListAppInstances)++-- | The token passed by previous API requests until you reach the maximum+-- number of @AppInstances@.+listAppInstances_nextToken :: Lens.Lens' ListAppInstances (Prelude.Maybe Prelude.Text)+listAppInstances_nextToken = Lens.lens (\ListAppInstances' {nextToken} -> nextToken) (\s@ListAppInstances' {} a -> s {nextToken = a} :: ListAppInstances) Prelude.. Lens.mapping Data._Sensitive++instance Core.AWSRequest ListAppInstances where+  type+    AWSResponse ListAppInstances =+      ListAppInstancesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAppInstancesResponse'+            Prelude.<$> (x Data..?> "AppInstances" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAppInstances where+  hashWithSalt _salt ListAppInstances' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAppInstances where+  rnf ListAppInstances' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAppInstances where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListAppInstances where+  toPath = Prelude.const "/app-instances"++instance Data.ToQuery ListAppInstances where+  toQuery ListAppInstances' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListAppInstancesResponse' smart constructor.+data ListAppInstancesResponse = ListAppInstancesResponse'+  { -- | The information for each @AppInstance@.+    appInstances :: Prelude.Maybe [AppInstanceSummary],+    -- | The token passed by previous API requests until the maximum number of+    -- @AppInstance@s is reached.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAppInstancesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstances', 'listAppInstancesResponse_appInstances' - The information for each @AppInstance@.+--+-- 'nextToken', 'listAppInstancesResponse_nextToken' - The token passed by previous API requests until the maximum number of+-- @AppInstance@s is reached.+--+-- 'httpStatus', 'listAppInstancesResponse_httpStatus' - The response's http status code.+newListAppInstancesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAppInstancesResponse+newListAppInstancesResponse pHttpStatus_ =+  ListAppInstancesResponse'+    { appInstances =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The information for each @AppInstance@.+listAppInstancesResponse_appInstances :: Lens.Lens' ListAppInstancesResponse (Prelude.Maybe [AppInstanceSummary])+listAppInstancesResponse_appInstances = Lens.lens (\ListAppInstancesResponse' {appInstances} -> appInstances) (\s@ListAppInstancesResponse' {} a -> s {appInstances = a} :: ListAppInstancesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token passed by previous API requests until the maximum number of+-- @AppInstance@s is reached.+listAppInstancesResponse_nextToken :: Lens.Lens' ListAppInstancesResponse (Prelude.Maybe Prelude.Text)+listAppInstancesResponse_nextToken = Lens.lens (\ListAppInstancesResponse' {nextToken} -> nextToken) (\s@ListAppInstancesResponse' {} a -> s {nextToken = a} :: ListAppInstancesResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listAppInstancesResponse_httpStatus :: Lens.Lens' ListAppInstancesResponse Prelude.Int+listAppInstancesResponse_httpStatus = Lens.lens (\ListAppInstancesResponse' {httpStatus} -> httpStatus) (\s@ListAppInstancesResponse' {} a -> s {httpStatus = a} :: ListAppInstancesResponse)++instance Prelude.NFData ListAppInstancesResponse where+  rnf ListAppInstancesResponse' {..} =+    Prelude.rnf appInstances+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/ListTagsForResource.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags applied to an Amazon Chime SDK identity resource.+module Amazonka.ChimeSDKIdentity.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceARN,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The ARN of the resource.+    resourceARN :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceARN', 'listTagsForResource_resourceARN' - The ARN of the resource.+newListTagsForResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceARN_ =+  ListTagsForResource' {resourceARN = pResourceARN_}++-- | The ARN of the resource.+listTagsForResource_resourceARN :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceARN = Lens.lens (\ListTagsForResource' {resourceARN} -> resourceARN) (\s@ListTagsForResource' {} a -> s {resourceARN = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "Tags")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceARN++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceARN++instance Data.ToHeaders ListTagsForResource where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListTagsForResource where+  toPath = Prelude.const "/tags"++instance Data.ToQuery ListTagsForResource where+  toQuery ListTagsForResource' {..} =+    Prelude.mconcat ["arn" Data.=: resourceARN]++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The tag key-value pairs.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tag key-value pairs.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The tag key-value pairs.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.NonEmpty Tag))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/PutAppInstanceRetentionSettings.hs view
@@ -0,0 +1,218 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.PutAppInstanceRetentionSettings+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the amount of time in days that a given @AppInstance@ retains data.+module Amazonka.ChimeSDKIdentity.PutAppInstanceRetentionSettings+  ( -- * Creating a Request+    PutAppInstanceRetentionSettings (..),+    newPutAppInstanceRetentionSettings,++    -- * Request Lenses+    putAppInstanceRetentionSettings_appInstanceArn,+    putAppInstanceRetentionSettings_appInstanceRetentionSettings,++    -- * Destructuring the Response+    PutAppInstanceRetentionSettingsResponse (..),+    newPutAppInstanceRetentionSettingsResponse,++    -- * Response Lenses+    putAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings,+    putAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp,+    putAppInstanceRetentionSettingsResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newPutAppInstanceRetentionSettings' smart constructor.+data PutAppInstanceRetentionSettings = PutAppInstanceRetentionSettings'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text,+    -- | The time in days to retain data. Data type: number.+    appInstanceRetentionSettings :: AppInstanceRetentionSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAppInstanceRetentionSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceArn', 'putAppInstanceRetentionSettings_appInstanceArn' - The ARN of the @AppInstance@.+--+-- 'appInstanceRetentionSettings', 'putAppInstanceRetentionSettings_appInstanceRetentionSettings' - The time in days to retain data. Data type: number.+newPutAppInstanceRetentionSettings ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  -- | 'appInstanceRetentionSettings'+  AppInstanceRetentionSettings ->+  PutAppInstanceRetentionSettings+newPutAppInstanceRetentionSettings+  pAppInstanceArn_+  pAppInstanceRetentionSettings_ =+    PutAppInstanceRetentionSettings'+      { appInstanceArn =+          pAppInstanceArn_,+        appInstanceRetentionSettings =+          pAppInstanceRetentionSettings_+      }++-- | The ARN of the @AppInstance@.+putAppInstanceRetentionSettings_appInstanceArn :: Lens.Lens' PutAppInstanceRetentionSettings Prelude.Text+putAppInstanceRetentionSettings_appInstanceArn = Lens.lens (\PutAppInstanceRetentionSettings' {appInstanceArn} -> appInstanceArn) (\s@PutAppInstanceRetentionSettings' {} a -> s {appInstanceArn = a} :: PutAppInstanceRetentionSettings)++-- | The time in days to retain data. Data type: number.+putAppInstanceRetentionSettings_appInstanceRetentionSettings :: Lens.Lens' PutAppInstanceRetentionSettings AppInstanceRetentionSettings+putAppInstanceRetentionSettings_appInstanceRetentionSettings = Lens.lens (\PutAppInstanceRetentionSettings' {appInstanceRetentionSettings} -> appInstanceRetentionSettings) (\s@PutAppInstanceRetentionSettings' {} a -> s {appInstanceRetentionSettings = a} :: PutAppInstanceRetentionSettings)++instance+  Core.AWSRequest+    PutAppInstanceRetentionSettings+  where+  type+    AWSResponse PutAppInstanceRetentionSettings =+      PutAppInstanceRetentionSettingsResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutAppInstanceRetentionSettingsResponse'+            Prelude.<$> (x Data..?> "AppInstanceRetentionSettings")+            Prelude.<*> (x Data..?> "InitiateDeletionTimestamp")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    PutAppInstanceRetentionSettings+  where+  hashWithSalt+    _salt+    PutAppInstanceRetentionSettings' {..} =+      _salt+        `Prelude.hashWithSalt` appInstanceArn+        `Prelude.hashWithSalt` appInstanceRetentionSettings++instance+  Prelude.NFData+    PutAppInstanceRetentionSettings+  where+  rnf PutAppInstanceRetentionSettings' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf appInstanceRetentionSettings++instance+  Data.ToHeaders+    PutAppInstanceRetentionSettings+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON PutAppInstanceRetentionSettings where+  toJSON PutAppInstanceRetentionSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "AppInstanceRetentionSettings"+                  Data..= appInstanceRetentionSettings+              )+          ]+      )++instance Data.ToPath PutAppInstanceRetentionSettings where+  toPath PutAppInstanceRetentionSettings' {..} =+    Prelude.mconcat+      [ "/app-instances/",+        Data.toBS appInstanceArn,+        "/retention-settings"+      ]++instance Data.ToQuery PutAppInstanceRetentionSettings where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutAppInstanceRetentionSettingsResponse' smart constructor.+data PutAppInstanceRetentionSettingsResponse = PutAppInstanceRetentionSettingsResponse'+  { -- | The time in days to retain data. Data type: number.+    appInstanceRetentionSettings :: Prelude.Maybe AppInstanceRetentionSettings,+    -- | The time at which the API deletes data.+    initiateDeletionTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutAppInstanceRetentionSettingsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceRetentionSettings', 'putAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings' - The time in days to retain data. Data type: number.+--+-- 'initiateDeletionTimestamp', 'putAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp' - The time at which the API deletes data.+--+-- 'httpStatus', 'putAppInstanceRetentionSettingsResponse_httpStatus' - The response's http status code.+newPutAppInstanceRetentionSettingsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutAppInstanceRetentionSettingsResponse+newPutAppInstanceRetentionSettingsResponse+  pHttpStatus_ =+    PutAppInstanceRetentionSettingsResponse'+      { appInstanceRetentionSettings =+          Prelude.Nothing,+        initiateDeletionTimestamp =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The time in days to retain data. Data type: number.+putAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings :: Lens.Lens' PutAppInstanceRetentionSettingsResponse (Prelude.Maybe AppInstanceRetentionSettings)+putAppInstanceRetentionSettingsResponse_appInstanceRetentionSettings = Lens.lens (\PutAppInstanceRetentionSettingsResponse' {appInstanceRetentionSettings} -> appInstanceRetentionSettings) (\s@PutAppInstanceRetentionSettingsResponse' {} a -> s {appInstanceRetentionSettings = a} :: PutAppInstanceRetentionSettingsResponse)++-- | The time at which the API deletes data.+putAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp :: Lens.Lens' PutAppInstanceRetentionSettingsResponse (Prelude.Maybe Prelude.UTCTime)+putAppInstanceRetentionSettingsResponse_initiateDeletionTimestamp = Lens.lens (\PutAppInstanceRetentionSettingsResponse' {initiateDeletionTimestamp} -> initiateDeletionTimestamp) (\s@PutAppInstanceRetentionSettingsResponse' {} a -> s {initiateDeletionTimestamp = a} :: PutAppInstanceRetentionSettingsResponse) Prelude.. Lens.mapping Data._Time++-- | The response's http status code.+putAppInstanceRetentionSettingsResponse_httpStatus :: Lens.Lens' PutAppInstanceRetentionSettingsResponse Prelude.Int+putAppInstanceRetentionSettingsResponse_httpStatus = Lens.lens (\PutAppInstanceRetentionSettingsResponse' {httpStatus} -> httpStatus) (\s@PutAppInstanceRetentionSettingsResponse' {} a -> s {httpStatus = a} :: PutAppInstanceRetentionSettingsResponse)++instance+  Prelude.NFData+    PutAppInstanceRetentionSettingsResponse+  where+  rnf PutAppInstanceRetentionSettingsResponse' {..} =+    Prelude.rnf appInstanceRetentionSettings+      `Prelude.seq` Prelude.rnf initiateDeletionTimestamp+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/RegisterAppInstanceUserEndpoint.hs view
@@ -0,0 +1,330 @@+{-# 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.ChimeSDKIdentity.RegisterAppInstanceUserEndpoint+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Registers an endpoint under an Amazon Chime @AppInstanceUser@. The+-- endpoint receives messages for a user. For push notifications, the+-- endpoint is a mobile device used to receive mobile push notifications+-- for a user.+module Amazonka.ChimeSDKIdentity.RegisterAppInstanceUserEndpoint+  ( -- * Creating a Request+    RegisterAppInstanceUserEndpoint (..),+    newRegisterAppInstanceUserEndpoint,++    -- * Request Lenses+    registerAppInstanceUserEndpoint_allowMessages,+    registerAppInstanceUserEndpoint_name,+    registerAppInstanceUserEndpoint_appInstanceUserArn,+    registerAppInstanceUserEndpoint_type,+    registerAppInstanceUserEndpoint_resourceArn,+    registerAppInstanceUserEndpoint_endpointAttributes,+    registerAppInstanceUserEndpoint_clientRequestToken,++    -- * Destructuring the Response+    RegisterAppInstanceUserEndpointResponse (..),+    newRegisterAppInstanceUserEndpointResponse,++    -- * Response Lenses+    registerAppInstanceUserEndpointResponse_appInstanceUserArn,+    registerAppInstanceUserEndpointResponse_endpointId,+    registerAppInstanceUserEndpointResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newRegisterAppInstanceUserEndpoint' smart constructor.+data RegisterAppInstanceUserEndpoint = RegisterAppInstanceUserEndpoint'+  { -- | Boolean that controls whether the AppInstanceUserEndpoint is opted in to+    -- receive messages. @ALL@ indicates the endpoint receives all messages.+    -- @NONE@ indicates the endpoint receives no messages.+    allowMessages :: Prelude.Maybe AllowMessages,+    -- | The name of the @AppInstanceUserEndpoint@.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Data.Sensitive Prelude.Text,+    -- | The type of the @AppInstanceUserEndpoint@. Supported types:+    --+    -- -   @APNS@: The mobile notification service for an Apple device.+    --+    -- -   @APNS_SANDBOX@: The sandbox environment of the mobile notification+    --     service for an Apple device.+    --+    -- -   @GCM@: The mobile notification service for an Android device.+    --+    -- Populate the @ResourceArn@ value of each type as @PinpointAppArn@.+    type' :: AppInstanceUserEndpointType,+    -- | The ARN of the resource to which the endpoint belongs.+    resourceArn :: Data.Sensitive Prelude.Text,+    -- | The attributes of an @Endpoint@.+    endpointAttributes :: EndpointAttributes,+    -- | The idempotency token for each client request.+    clientRequestToken :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterAppInstanceUserEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowMessages', 'registerAppInstanceUserEndpoint_allowMessages' - Boolean that controls whether the AppInstanceUserEndpoint is opted in to+-- receive messages. @ALL@ indicates the endpoint receives all messages.+-- @NONE@ indicates the endpoint receives no messages.+--+-- 'name', 'registerAppInstanceUserEndpoint_name' - The name of the @AppInstanceUserEndpoint@.+--+-- 'appInstanceUserArn', 'registerAppInstanceUserEndpoint_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'type'', 'registerAppInstanceUserEndpoint_type' - The type of the @AppInstanceUserEndpoint@. Supported types:+--+-- -   @APNS@: The mobile notification service for an Apple device.+--+-- -   @APNS_SANDBOX@: The sandbox environment of the mobile notification+--     service for an Apple device.+--+-- -   @GCM@: The mobile notification service for an Android device.+--+-- Populate the @ResourceArn@ value of each type as @PinpointAppArn@.+--+-- 'resourceArn', 'registerAppInstanceUserEndpoint_resourceArn' - The ARN of the resource to which the endpoint belongs.+--+-- 'endpointAttributes', 'registerAppInstanceUserEndpoint_endpointAttributes' - The attributes of an @Endpoint@.+--+-- 'clientRequestToken', 'registerAppInstanceUserEndpoint_clientRequestToken' - The idempotency token for each client request.+newRegisterAppInstanceUserEndpoint ::+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  -- | 'type''+  AppInstanceUserEndpointType ->+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'endpointAttributes'+  EndpointAttributes ->+  -- | 'clientRequestToken'+  Prelude.Text ->+  RegisterAppInstanceUserEndpoint+newRegisterAppInstanceUserEndpoint+  pAppInstanceUserArn_+  pType_+  pResourceArn_+  pEndpointAttributes_+  pClientRequestToken_ =+    RegisterAppInstanceUserEndpoint'+      { allowMessages =+          Prelude.Nothing,+        name = Prelude.Nothing,+        appInstanceUserArn =+          Data._Sensitive+            Lens.# pAppInstanceUserArn_,+        type' = pType_,+        resourceArn =+          Data._Sensitive Lens.# pResourceArn_,+        endpointAttributes = pEndpointAttributes_,+        clientRequestToken =+          Data._Sensitive+            Lens.# pClientRequestToken_+      }++-- | Boolean that controls whether the AppInstanceUserEndpoint is opted in to+-- receive messages. @ALL@ indicates the endpoint receives all messages.+-- @NONE@ indicates the endpoint receives no messages.+registerAppInstanceUserEndpoint_allowMessages :: Lens.Lens' RegisterAppInstanceUserEndpoint (Prelude.Maybe AllowMessages)+registerAppInstanceUserEndpoint_allowMessages = Lens.lens (\RegisterAppInstanceUserEndpoint' {allowMessages} -> allowMessages) (\s@RegisterAppInstanceUserEndpoint' {} a -> s {allowMessages = a} :: RegisterAppInstanceUserEndpoint)++-- | The name of the @AppInstanceUserEndpoint@.+registerAppInstanceUserEndpoint_name :: Lens.Lens' RegisterAppInstanceUserEndpoint (Prelude.Maybe Prelude.Text)+registerAppInstanceUserEndpoint_name = Lens.lens (\RegisterAppInstanceUserEndpoint' {name} -> name) (\s@RegisterAppInstanceUserEndpoint' {} a -> s {name = a} :: RegisterAppInstanceUserEndpoint) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the @AppInstanceUser@.+registerAppInstanceUserEndpoint_appInstanceUserArn :: Lens.Lens' RegisterAppInstanceUserEndpoint Prelude.Text+registerAppInstanceUserEndpoint_appInstanceUserArn = Lens.lens (\RegisterAppInstanceUserEndpoint' {appInstanceUserArn} -> appInstanceUserArn) (\s@RegisterAppInstanceUserEndpoint' {} a -> s {appInstanceUserArn = a} :: RegisterAppInstanceUserEndpoint) Prelude.. Data._Sensitive++-- | The type of the @AppInstanceUserEndpoint@. Supported types:+--+-- -   @APNS@: The mobile notification service for an Apple device.+--+-- -   @APNS_SANDBOX@: The sandbox environment of the mobile notification+--     service for an Apple device.+--+-- -   @GCM@: The mobile notification service for an Android device.+--+-- Populate the @ResourceArn@ value of each type as @PinpointAppArn@.+registerAppInstanceUserEndpoint_type :: Lens.Lens' RegisterAppInstanceUserEndpoint AppInstanceUserEndpointType+registerAppInstanceUserEndpoint_type = Lens.lens (\RegisterAppInstanceUserEndpoint' {type'} -> type') (\s@RegisterAppInstanceUserEndpoint' {} a -> s {type' = a} :: RegisterAppInstanceUserEndpoint)++-- | The ARN of the resource to which the endpoint belongs.+registerAppInstanceUserEndpoint_resourceArn :: Lens.Lens' RegisterAppInstanceUserEndpoint Prelude.Text+registerAppInstanceUserEndpoint_resourceArn = Lens.lens (\RegisterAppInstanceUserEndpoint' {resourceArn} -> resourceArn) (\s@RegisterAppInstanceUserEndpoint' {} a -> s {resourceArn = a} :: RegisterAppInstanceUserEndpoint) Prelude.. Data._Sensitive++-- | The attributes of an @Endpoint@.+registerAppInstanceUserEndpoint_endpointAttributes :: Lens.Lens' RegisterAppInstanceUserEndpoint EndpointAttributes+registerAppInstanceUserEndpoint_endpointAttributes = Lens.lens (\RegisterAppInstanceUserEndpoint' {endpointAttributes} -> endpointAttributes) (\s@RegisterAppInstanceUserEndpoint' {} a -> s {endpointAttributes = a} :: RegisterAppInstanceUserEndpoint)++-- | The idempotency token for each client request.+registerAppInstanceUserEndpoint_clientRequestToken :: Lens.Lens' RegisterAppInstanceUserEndpoint Prelude.Text+registerAppInstanceUserEndpoint_clientRequestToken = Lens.lens (\RegisterAppInstanceUserEndpoint' {clientRequestToken} -> clientRequestToken) (\s@RegisterAppInstanceUserEndpoint' {} a -> s {clientRequestToken = a} :: RegisterAppInstanceUserEndpoint) Prelude.. Data._Sensitive++instance+  Core.AWSRequest+    RegisterAppInstanceUserEndpoint+  where+  type+    AWSResponse RegisterAppInstanceUserEndpoint =+      RegisterAppInstanceUserEndpointResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RegisterAppInstanceUserEndpointResponse'+            Prelude.<$> (x Data..?> "AppInstanceUserArn")+            Prelude.<*> (x Data..?> "EndpointId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    RegisterAppInstanceUserEndpoint+  where+  hashWithSalt+    _salt+    RegisterAppInstanceUserEndpoint' {..} =+      _salt+        `Prelude.hashWithSalt` allowMessages+        `Prelude.hashWithSalt` name+        `Prelude.hashWithSalt` appInstanceUserArn+        `Prelude.hashWithSalt` type'+        `Prelude.hashWithSalt` resourceArn+        `Prelude.hashWithSalt` endpointAttributes+        `Prelude.hashWithSalt` clientRequestToken++instance+  Prelude.NFData+    RegisterAppInstanceUserEndpoint+  where+  rnf RegisterAppInstanceUserEndpoint' {..} =+    Prelude.rnf allowMessages+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf endpointAttributes+      `Prelude.seq` Prelude.rnf clientRequestToken++instance+  Data.ToHeaders+    RegisterAppInstanceUserEndpoint+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON RegisterAppInstanceUserEndpoint where+  toJSON RegisterAppInstanceUserEndpoint' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AllowMessages" Data..=) Prelude.<$> allowMessages,+            ("Name" Data..=) Prelude.<$> name,+            Prelude.Just ("Type" Data..= type'),+            Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just+              ("EndpointAttributes" Data..= endpointAttributes),+            Prelude.Just+              ("ClientRequestToken" Data..= clientRequestToken)+          ]+      )++instance Data.ToPath RegisterAppInstanceUserEndpoint where+  toPath RegisterAppInstanceUserEndpoint' {..} =+    Prelude.mconcat+      [ "/app-instance-users/",+        Data.toBS appInstanceUserArn,+        "/endpoints"+      ]++instance Data.ToQuery RegisterAppInstanceUserEndpoint where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRegisterAppInstanceUserEndpointResponse' smart constructor.+data RegisterAppInstanceUserEndpointResponse = RegisterAppInstanceUserEndpointResponse'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The unique identifier of the @AppInstanceUserEndpoint@.+    endpointId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterAppInstanceUserEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserArn', 'registerAppInstanceUserEndpointResponse_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'endpointId', 'registerAppInstanceUserEndpointResponse_endpointId' - The unique identifier of the @AppInstanceUserEndpoint@.+--+-- 'httpStatus', 'registerAppInstanceUserEndpointResponse_httpStatus' - The response's http status code.+newRegisterAppInstanceUserEndpointResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RegisterAppInstanceUserEndpointResponse+newRegisterAppInstanceUserEndpointResponse+  pHttpStatus_ =+    RegisterAppInstanceUserEndpointResponse'+      { appInstanceUserArn =+          Prelude.Nothing,+        endpointId = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The ARN of the @AppInstanceUser@.+registerAppInstanceUserEndpointResponse_appInstanceUserArn :: Lens.Lens' RegisterAppInstanceUserEndpointResponse (Prelude.Maybe Prelude.Text)+registerAppInstanceUserEndpointResponse_appInstanceUserArn = Lens.lens (\RegisterAppInstanceUserEndpointResponse' {appInstanceUserArn} -> appInstanceUserArn) (\s@RegisterAppInstanceUserEndpointResponse' {} a -> s {appInstanceUserArn = a} :: RegisterAppInstanceUserEndpointResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The unique identifier of the @AppInstanceUserEndpoint@.+registerAppInstanceUserEndpointResponse_endpointId :: Lens.Lens' RegisterAppInstanceUserEndpointResponse (Prelude.Maybe Prelude.Text)+registerAppInstanceUserEndpointResponse_endpointId = Lens.lens (\RegisterAppInstanceUserEndpointResponse' {endpointId} -> endpointId) (\s@RegisterAppInstanceUserEndpointResponse' {} a -> s {endpointId = a} :: RegisterAppInstanceUserEndpointResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+registerAppInstanceUserEndpointResponse_httpStatus :: Lens.Lens' RegisterAppInstanceUserEndpointResponse Prelude.Int+registerAppInstanceUserEndpointResponse_httpStatus = Lens.lens (\RegisterAppInstanceUserEndpointResponse' {httpStatus} -> httpStatus) (\s@RegisterAppInstanceUserEndpointResponse' {} a -> s {httpStatus = a} :: RegisterAppInstanceUserEndpointResponse)++instance+  Prelude.NFData+    RegisterAppInstanceUserEndpointResponse+  where+  rnf RegisterAppInstanceUserEndpointResponse' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf endpointId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/TagResource.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.TagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Applies the specified tags to the specified Amazon Chime SDK identity+-- resource.+module Amazonka.ChimeSDKIdentity.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceARN,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The resource ARN.+    resourceARN :: Prelude.Text,+    -- | The tag key-value pairs.+    tags :: Prelude.NonEmpty Tag+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceARN', 'tagResource_resourceARN' - The resource ARN.+--+-- 'tags', 'tagResource_tags' - The tag key-value pairs.+newTagResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  -- | 'tags'+  Prelude.NonEmpty Tag ->+  TagResource+newTagResource pResourceARN_ pTags_ =+  TagResource'+    { resourceARN = pResourceARN_,+      tags = Lens.coerced Lens.# pTags_+    }++-- | The resource ARN.+tagResource_resourceARN :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceARN = Lens.lens (\TagResource' {resourceARN} -> resourceARN) (\s@TagResource' {} a -> s {resourceARN = a} :: TagResource)++-- | The tag key-value pairs.+tagResource_tags :: Lens.Lens' TagResource (Prelude.NonEmpty Tag)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response = Response.receiveNull TagResourceResponse'++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceARN+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceARN+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceARN" Data..= resourceARN),+            Prelude.Just ("Tags" Data..= tags)+          ]+      )++instance Data.ToPath TagResource where+  toPath = Prelude.const "/tags"++instance Data.ToQuery TagResource where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=tag-resource"])++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newTagResourceResponse ::+  TagResourceResponse+newTagResourceResponse = TagResourceResponse'++instance Prelude.NFData TagResourceResponse where+  rnf _ = ()
+ gen/Amazonka/ChimeSDKIdentity/Types.hs view
@@ -0,0 +1,302 @@+{-# 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.ChimeSDKIdentity.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.ChimeSDKIdentity.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _BadRequestException,+    _ConflictException,+    _ForbiddenException,+    _ResourceLimitExceededException,+    _ServiceFailureException,+    _ServiceUnavailableException,+    _ThrottledClientException,+    _UnauthorizedClientException,++    -- * AllowMessages+    AllowMessages (..),++    -- * AppInstanceUserEndpointType+    AppInstanceUserEndpointType (..),++    -- * EndpointStatus+    EndpointStatus (..),++    -- * EndpointStatusReason+    EndpointStatusReason (..),++    -- * AppInstance+    AppInstance (..),+    newAppInstance,+    appInstance_appInstanceArn,+    appInstance_createdTimestamp,+    appInstance_lastUpdatedTimestamp,+    appInstance_metadata,+    appInstance_name,++    -- * AppInstanceAdmin+    AppInstanceAdmin (..),+    newAppInstanceAdmin,+    appInstanceAdmin_admin,+    appInstanceAdmin_appInstanceArn,+    appInstanceAdmin_createdTimestamp,++    -- * AppInstanceAdminSummary+    AppInstanceAdminSummary (..),+    newAppInstanceAdminSummary,+    appInstanceAdminSummary_admin,++    -- * AppInstanceRetentionSettings+    AppInstanceRetentionSettings (..),+    newAppInstanceRetentionSettings,+    appInstanceRetentionSettings_channelRetentionSettings,++    -- * AppInstanceSummary+    AppInstanceSummary (..),+    newAppInstanceSummary,+    appInstanceSummary_appInstanceArn,+    appInstanceSummary_metadata,+    appInstanceSummary_name,++    -- * AppInstanceUser+    AppInstanceUser (..),+    newAppInstanceUser,+    appInstanceUser_appInstanceUserArn,+    appInstanceUser_createdTimestamp,+    appInstanceUser_lastUpdatedTimestamp,+    appInstanceUser_metadata,+    appInstanceUser_name,++    -- * AppInstanceUserEndpoint+    AppInstanceUserEndpoint (..),+    newAppInstanceUserEndpoint,+    appInstanceUserEndpoint_allowMessages,+    appInstanceUserEndpoint_appInstanceUserArn,+    appInstanceUserEndpoint_createdTimestamp,+    appInstanceUserEndpoint_endpointAttributes,+    appInstanceUserEndpoint_endpointId,+    appInstanceUserEndpoint_endpointState,+    appInstanceUserEndpoint_lastUpdatedTimestamp,+    appInstanceUserEndpoint_name,+    appInstanceUserEndpoint_resourceArn,+    appInstanceUserEndpoint_type,++    -- * AppInstanceUserEndpointSummary+    AppInstanceUserEndpointSummary (..),+    newAppInstanceUserEndpointSummary,+    appInstanceUserEndpointSummary_allowMessages,+    appInstanceUserEndpointSummary_appInstanceUserArn,+    appInstanceUserEndpointSummary_endpointId,+    appInstanceUserEndpointSummary_endpointState,+    appInstanceUserEndpointSummary_name,+    appInstanceUserEndpointSummary_type,++    -- * AppInstanceUserSummary+    AppInstanceUserSummary (..),+    newAppInstanceUserSummary,+    appInstanceUserSummary_appInstanceUserArn,+    appInstanceUserSummary_metadata,+    appInstanceUserSummary_name,++    -- * ChannelRetentionSettings+    ChannelRetentionSettings (..),+    newChannelRetentionSettings,+    channelRetentionSettings_retentionDays,++    -- * EndpointAttributes+    EndpointAttributes (..),+    newEndpointAttributes,+    endpointAttributes_voipDeviceToken,+    endpointAttributes_deviceToken,++    -- * EndpointState+    EndpointState (..),+    newEndpointState,+    endpointState_statusReason,+    endpointState_status,++    -- * Identity+    Identity (..),+    newIdentity,+    identity_arn,+    identity_name,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,+  )+where++import Amazonka.ChimeSDKIdentity.Types.AllowMessages+import Amazonka.ChimeSDKIdentity.Types.AppInstance+import Amazonka.ChimeSDKIdentity.Types.AppInstanceAdmin+import Amazonka.ChimeSDKIdentity.Types.AppInstanceAdminSummary+import Amazonka.ChimeSDKIdentity.Types.AppInstanceRetentionSettings+import Amazonka.ChimeSDKIdentity.Types.AppInstanceSummary+import Amazonka.ChimeSDKIdentity.Types.AppInstanceUser+import Amazonka.ChimeSDKIdentity.Types.AppInstanceUserEndpoint+import Amazonka.ChimeSDKIdentity.Types.AppInstanceUserEndpointSummary+import Amazonka.ChimeSDKIdentity.Types.AppInstanceUserEndpointType+import Amazonka.ChimeSDKIdentity.Types.AppInstanceUserSummary+import Amazonka.ChimeSDKIdentity.Types.ChannelRetentionSettings+import Amazonka.ChimeSDKIdentity.Types.EndpointAttributes+import Amazonka.ChimeSDKIdentity.Types.EndpointState+import Amazonka.ChimeSDKIdentity.Types.EndpointStatus+import Amazonka.ChimeSDKIdentity.Types.EndpointStatusReason+import Amazonka.ChimeSDKIdentity.Types.Identity+import Amazonka.ChimeSDKIdentity.Types.Tag+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 @2021-04-20@ of the Amazon Chime SDK Identity SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "ChimeSDKIdentity",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "identity-chime",+      Core.signingName = "chime",+      Core.version = "2021-04-20",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "ChimeSDKIdentity",+      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++-- | The input parameters don\'t match the service\'s restrictions.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+  Core._MatchServiceError+    defaultService+    "BadRequestException"+    Prelude.. Core.hasStatus 400++-- | The request could not be processed because of conflict in the current+-- state of the resource.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | The client is permanently forbidden from making the request.+_ForbiddenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ForbiddenException =+  Core._MatchServiceError+    defaultService+    "ForbiddenException"+    Prelude.. Core.hasStatus 403++-- | The request exceeds the resource limit.+_ResourceLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceLimitExceededException =+  Core._MatchServiceError+    defaultService+    "ResourceLimitExceededException"+    Prelude.. Core.hasStatus 400++-- | The service encountered an unexpected error.+_ServiceFailureException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceFailureException =+  Core._MatchServiceError+    defaultService+    "ServiceFailureException"+    Prelude.. Core.hasStatus 500++-- | The service is currently unavailable.+_ServiceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceUnavailableException =+  Core._MatchServiceError+    defaultService+    "ServiceUnavailableException"+    Prelude.. Core.hasStatus 503++-- | The client exceeded its request rate limit.+_ThrottledClientException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottledClientException =+  Core._MatchServiceError+    defaultService+    "ThrottledClientException"+    Prelude.. Core.hasStatus 429++-- | The client is not currently authorized to make the request.+_UnauthorizedClientException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnauthorizedClientException =+  Core._MatchServiceError+    defaultService+    "UnauthorizedClientException"+    Prelude.. Core.hasStatus 401
+ gen/Amazonka/ChimeSDKIdentity/Types/AllowMessages.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.ChimeSDKIdentity.Types.AllowMessages+-- 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.ChimeSDKIdentity.Types.AllowMessages+  ( AllowMessages+      ( ..,+        AllowMessages_ALL,+        AllowMessages_NONE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AllowMessages = AllowMessages'+  { fromAllowMessages ::+      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 AllowMessages_ALL :: AllowMessages+pattern AllowMessages_ALL = AllowMessages' "ALL"++pattern AllowMessages_NONE :: AllowMessages+pattern AllowMessages_NONE = AllowMessages' "NONE"++{-# COMPLETE+  AllowMessages_ALL,+  AllowMessages_NONE,+  AllowMessages'+  #-}
+ gen/Amazonka/ChimeSDKIdentity/Types/AppInstance.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.ChimeSDKIdentity.Types.AppInstance+-- 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.ChimeSDKIdentity.Types.AppInstance 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 details of an @AppInstance@, an instance of an Amazon Chime SDK+-- messaging application.+--+-- /See:/ 'newAppInstance' smart constructor.+data AppInstance = AppInstance'+  { -- | The ARN of the messaging instance.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The time at which an @AppInstance@ was created. In epoch milliseconds.+    createdTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The time an @AppInstance@ was last updated. In epoch milliseconds.+    lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The metadata of an @AppInstance@.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The name of an @AppInstance@.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceArn', 'appInstance_appInstanceArn' - The ARN of the messaging instance.+--+-- 'createdTimestamp', 'appInstance_createdTimestamp' - The time at which an @AppInstance@ was created. In epoch milliseconds.+--+-- 'lastUpdatedTimestamp', 'appInstance_lastUpdatedTimestamp' - The time an @AppInstance@ was last updated. In epoch milliseconds.+--+-- 'metadata', 'appInstance_metadata' - The metadata of an @AppInstance@.+--+-- 'name', 'appInstance_name' - The name of an @AppInstance@.+newAppInstance ::+  AppInstance+newAppInstance =+  AppInstance'+    { appInstanceArn = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      lastUpdatedTimestamp = Prelude.Nothing,+      metadata = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The ARN of the messaging instance.+appInstance_appInstanceArn :: Lens.Lens' AppInstance (Prelude.Maybe Prelude.Text)+appInstance_appInstanceArn = Lens.lens (\AppInstance' {appInstanceArn} -> appInstanceArn) (\s@AppInstance' {} a -> s {appInstanceArn = a} :: AppInstance)++-- | The time at which an @AppInstance@ was created. In epoch milliseconds.+appInstance_createdTimestamp :: Lens.Lens' AppInstance (Prelude.Maybe Prelude.UTCTime)+appInstance_createdTimestamp = Lens.lens (\AppInstance' {createdTimestamp} -> createdTimestamp) (\s@AppInstance' {} a -> s {createdTimestamp = a} :: AppInstance) Prelude.. Lens.mapping Data._Time++-- | The time an @AppInstance@ was last updated. In epoch milliseconds.+appInstance_lastUpdatedTimestamp :: Lens.Lens' AppInstance (Prelude.Maybe Prelude.UTCTime)+appInstance_lastUpdatedTimestamp = Lens.lens (\AppInstance' {lastUpdatedTimestamp} -> lastUpdatedTimestamp) (\s@AppInstance' {} a -> s {lastUpdatedTimestamp = a} :: AppInstance) Prelude.. Lens.mapping Data._Time++-- | The metadata of an @AppInstance@.+appInstance_metadata :: Lens.Lens' AppInstance (Prelude.Maybe Prelude.Text)+appInstance_metadata = Lens.lens (\AppInstance' {metadata} -> metadata) (\s@AppInstance' {} a -> s {metadata = a} :: AppInstance) Prelude.. Lens.mapping Data._Sensitive++-- | The name of an @AppInstance@.+appInstance_name :: Lens.Lens' AppInstance (Prelude.Maybe Prelude.Text)+appInstance_name = Lens.lens (\AppInstance' {name} -> name) (\s@AppInstance' {} a -> s {name = a} :: AppInstance) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON AppInstance where+  parseJSON =+    Data.withObject+      "AppInstance"+      ( \x ->+          AppInstance'+            Prelude.<$> (x Data..:? "AppInstanceArn")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "LastUpdatedTimestamp")+            Prelude.<*> (x Data..:? "Metadata")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable AppInstance where+  hashWithSalt _salt AppInstance' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceArn+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` lastUpdatedTimestamp+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` name++instance Prelude.NFData AppInstance where+  rnf AppInstance' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf lastUpdatedTimestamp+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/ChimeSDKIdentity/Types/AppInstanceAdmin.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.Types.AppInstanceAdmin+-- 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.ChimeSDKIdentity.Types.AppInstanceAdmin where++import Amazonka.ChimeSDKIdentity.Types.Identity+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 of an @AppInstanceAdmin@.+--+-- /See:/ 'newAppInstanceAdmin' smart constructor.+data AppInstanceAdmin = AppInstanceAdmin'+  { -- | The @AppInstanceAdmin@ data.+    admin :: Prelude.Maybe Identity,+    -- | The ARN of the @AppInstance@ for which the user is an administrator.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The time at which an administrator was created.+    createdTimestamp :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceAdmin' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'admin', 'appInstanceAdmin_admin' - The @AppInstanceAdmin@ data.+--+-- 'appInstanceArn', 'appInstanceAdmin_appInstanceArn' - The ARN of the @AppInstance@ for which the user is an administrator.+--+-- 'createdTimestamp', 'appInstanceAdmin_createdTimestamp' - The time at which an administrator was created.+newAppInstanceAdmin ::+  AppInstanceAdmin+newAppInstanceAdmin =+  AppInstanceAdmin'+    { admin = Prelude.Nothing,+      appInstanceArn = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing+    }++-- | The @AppInstanceAdmin@ data.+appInstanceAdmin_admin :: Lens.Lens' AppInstanceAdmin (Prelude.Maybe Identity)+appInstanceAdmin_admin = Lens.lens (\AppInstanceAdmin' {admin} -> admin) (\s@AppInstanceAdmin' {} a -> s {admin = a} :: AppInstanceAdmin)++-- | The ARN of the @AppInstance@ for which the user is an administrator.+appInstanceAdmin_appInstanceArn :: Lens.Lens' AppInstanceAdmin (Prelude.Maybe Prelude.Text)+appInstanceAdmin_appInstanceArn = Lens.lens (\AppInstanceAdmin' {appInstanceArn} -> appInstanceArn) (\s@AppInstanceAdmin' {} a -> s {appInstanceArn = a} :: AppInstanceAdmin)++-- | The time at which an administrator was created.+appInstanceAdmin_createdTimestamp :: Lens.Lens' AppInstanceAdmin (Prelude.Maybe Prelude.UTCTime)+appInstanceAdmin_createdTimestamp = Lens.lens (\AppInstanceAdmin' {createdTimestamp} -> createdTimestamp) (\s@AppInstanceAdmin' {} a -> s {createdTimestamp = a} :: AppInstanceAdmin) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON AppInstanceAdmin where+  parseJSON =+    Data.withObject+      "AppInstanceAdmin"+      ( \x ->+          AppInstanceAdmin'+            Prelude.<$> (x Data..:? "Admin")+            Prelude.<*> (x Data..:? "AppInstanceArn")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+      )++instance Prelude.Hashable AppInstanceAdmin where+  hashWithSalt _salt AppInstanceAdmin' {..} =+    _salt+      `Prelude.hashWithSalt` admin+      `Prelude.hashWithSalt` appInstanceArn+      `Prelude.hashWithSalt` createdTimestamp++instance Prelude.NFData AppInstanceAdmin where+  rnf AppInstanceAdmin' {..} =+    Prelude.rnf admin+      `Prelude.seq` Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf createdTimestamp
+ gen/Amazonka/ChimeSDKIdentity/Types/AppInstanceAdminSummary.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.Types.AppInstanceAdminSummary+-- 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.ChimeSDKIdentity.Types.AppInstanceAdminSummary where++import Amazonka.ChimeSDKIdentity.Types.Identity+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++-- | Summary of the details of an @AppInstanceAdmin@.+--+-- /See:/ 'newAppInstanceAdminSummary' smart constructor.+data AppInstanceAdminSummary = AppInstanceAdminSummary'+  { -- | The details of the @AppInstanceAdmin@.+    admin :: Prelude.Maybe Identity+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceAdminSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'admin', 'appInstanceAdminSummary_admin' - The details of the @AppInstanceAdmin@.+newAppInstanceAdminSummary ::+  AppInstanceAdminSummary+newAppInstanceAdminSummary =+  AppInstanceAdminSummary' {admin = Prelude.Nothing}++-- | The details of the @AppInstanceAdmin@.+appInstanceAdminSummary_admin :: Lens.Lens' AppInstanceAdminSummary (Prelude.Maybe Identity)+appInstanceAdminSummary_admin = Lens.lens (\AppInstanceAdminSummary' {admin} -> admin) (\s@AppInstanceAdminSummary' {} a -> s {admin = a} :: AppInstanceAdminSummary)++instance Data.FromJSON AppInstanceAdminSummary where+  parseJSON =+    Data.withObject+      "AppInstanceAdminSummary"+      ( \x ->+          AppInstanceAdminSummary'+            Prelude.<$> (x Data..:? "Admin")+      )++instance Prelude.Hashable AppInstanceAdminSummary where+  hashWithSalt _salt AppInstanceAdminSummary' {..} =+    _salt `Prelude.hashWithSalt` admin++instance Prelude.NFData AppInstanceAdminSummary where+  rnf AppInstanceAdminSummary' {..} = Prelude.rnf admin
+ gen/Amazonka/ChimeSDKIdentity/Types/AppInstanceRetentionSettings.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.ChimeSDKIdentity.Types.AppInstanceRetentionSettings+-- 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.ChimeSDKIdentity.Types.AppInstanceRetentionSettings where++import Amazonka.ChimeSDKIdentity.Types.ChannelRetentionSettings+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 of the data-retention settings for an @AppInstance@.+--+-- /See:/ 'newAppInstanceRetentionSettings' smart constructor.+data AppInstanceRetentionSettings = AppInstanceRetentionSettings'+  { -- | The length of time in days to retain the messages in a channel.+    channelRetentionSettings :: Prelude.Maybe ChannelRetentionSettings+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceRetentionSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelRetentionSettings', 'appInstanceRetentionSettings_channelRetentionSettings' - The length of time in days to retain the messages in a channel.+newAppInstanceRetentionSettings ::+  AppInstanceRetentionSettings+newAppInstanceRetentionSettings =+  AppInstanceRetentionSettings'+    { channelRetentionSettings =+        Prelude.Nothing+    }++-- | The length of time in days to retain the messages in a channel.+appInstanceRetentionSettings_channelRetentionSettings :: Lens.Lens' AppInstanceRetentionSettings (Prelude.Maybe ChannelRetentionSettings)+appInstanceRetentionSettings_channelRetentionSettings = Lens.lens (\AppInstanceRetentionSettings' {channelRetentionSettings} -> channelRetentionSettings) (\s@AppInstanceRetentionSettings' {} a -> s {channelRetentionSettings = a} :: AppInstanceRetentionSettings)++instance Data.FromJSON AppInstanceRetentionSettings where+  parseJSON =+    Data.withObject+      "AppInstanceRetentionSettings"+      ( \x ->+          AppInstanceRetentionSettings'+            Prelude.<$> (x Data..:? "ChannelRetentionSettings")+      )++instance+  Prelude.Hashable+    AppInstanceRetentionSettings+  where+  hashWithSalt _salt AppInstanceRetentionSettings' {..} =+    _salt+      `Prelude.hashWithSalt` channelRetentionSettings++instance Prelude.NFData AppInstanceRetentionSettings where+  rnf AppInstanceRetentionSettings' {..} =+    Prelude.rnf channelRetentionSettings++instance Data.ToJSON AppInstanceRetentionSettings where+  toJSON AppInstanceRetentionSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ChannelRetentionSettings" Data..=)+              Prelude.<$> channelRetentionSettings+          ]+      )
+ gen/Amazonka/ChimeSDKIdentity/Types/AppInstanceSummary.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.Types.AppInstanceSummary+-- 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.ChimeSDKIdentity.Types.AppInstanceSummary 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++-- | Summary of the data for an @AppInstance@.+--+-- /See:/ 'newAppInstanceSummary' smart constructor.+data AppInstanceSummary = AppInstanceSummary'+  { -- | The @AppInstance@ ARN.+    appInstanceArn :: Prelude.Maybe Prelude.Text,+    -- | The metadata of the @AppInstance@.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The name of the @AppInstance@.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceArn', 'appInstanceSummary_appInstanceArn' - The @AppInstance@ ARN.+--+-- 'metadata', 'appInstanceSummary_metadata' - The metadata of the @AppInstance@.+--+-- 'name', 'appInstanceSummary_name' - The name of the @AppInstance@.+newAppInstanceSummary ::+  AppInstanceSummary+newAppInstanceSummary =+  AppInstanceSummary'+    { appInstanceArn =+        Prelude.Nothing,+      metadata = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The @AppInstance@ ARN.+appInstanceSummary_appInstanceArn :: Lens.Lens' AppInstanceSummary (Prelude.Maybe Prelude.Text)+appInstanceSummary_appInstanceArn = Lens.lens (\AppInstanceSummary' {appInstanceArn} -> appInstanceArn) (\s@AppInstanceSummary' {} a -> s {appInstanceArn = a} :: AppInstanceSummary)++-- | The metadata of the @AppInstance@.+appInstanceSummary_metadata :: Lens.Lens' AppInstanceSummary (Prelude.Maybe Prelude.Text)+appInstanceSummary_metadata = Lens.lens (\AppInstanceSummary' {metadata} -> metadata) (\s@AppInstanceSummary' {} a -> s {metadata = a} :: AppInstanceSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the @AppInstance@.+appInstanceSummary_name :: Lens.Lens' AppInstanceSummary (Prelude.Maybe Prelude.Text)+appInstanceSummary_name = Lens.lens (\AppInstanceSummary' {name} -> name) (\s@AppInstanceSummary' {} a -> s {name = a} :: AppInstanceSummary) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON AppInstanceSummary where+  parseJSON =+    Data.withObject+      "AppInstanceSummary"+      ( \x ->+          AppInstanceSummary'+            Prelude.<$> (x Data..:? "AppInstanceArn")+            Prelude.<*> (x Data..:? "Metadata")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable AppInstanceSummary where+  hashWithSalt _salt AppInstanceSummary' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceArn+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` name++instance Prelude.NFData AppInstanceSummary where+  rnf AppInstanceSummary' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/ChimeSDKIdentity/Types/AppInstanceUser.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.ChimeSDKIdentity.Types.AppInstanceUser+-- 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.ChimeSDKIdentity.Types.AppInstanceUser 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 details of an @AppInstanceUser@.+--+-- /See:/ 'newAppInstanceUser' smart constructor.+data AppInstanceUser = AppInstanceUser'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Maybe Prelude.Text,+    -- | The time at which the @AppInstanceUser@ was created.+    createdTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The time at which the @AppInstanceUser@ was last updated.+    lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The metadata of the @AppInstanceUser@.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The name of the @AppInstanceUser@.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserArn', 'appInstanceUser_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'createdTimestamp', 'appInstanceUser_createdTimestamp' - The time at which the @AppInstanceUser@ was created.+--+-- 'lastUpdatedTimestamp', 'appInstanceUser_lastUpdatedTimestamp' - The time at which the @AppInstanceUser@ was last updated.+--+-- 'metadata', 'appInstanceUser_metadata' - The metadata of the @AppInstanceUser@.+--+-- 'name', 'appInstanceUser_name' - The name of the @AppInstanceUser@.+newAppInstanceUser ::+  AppInstanceUser+newAppInstanceUser =+  AppInstanceUser'+    { appInstanceUserArn =+        Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      lastUpdatedTimestamp = Prelude.Nothing,+      metadata = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The ARN of the @AppInstanceUser@.+appInstanceUser_appInstanceUserArn :: Lens.Lens' AppInstanceUser (Prelude.Maybe Prelude.Text)+appInstanceUser_appInstanceUserArn = Lens.lens (\AppInstanceUser' {appInstanceUserArn} -> appInstanceUserArn) (\s@AppInstanceUser' {} a -> s {appInstanceUserArn = a} :: AppInstanceUser)++-- | The time at which the @AppInstanceUser@ was created.+appInstanceUser_createdTimestamp :: Lens.Lens' AppInstanceUser (Prelude.Maybe Prelude.UTCTime)+appInstanceUser_createdTimestamp = Lens.lens (\AppInstanceUser' {createdTimestamp} -> createdTimestamp) (\s@AppInstanceUser' {} a -> s {createdTimestamp = a} :: AppInstanceUser) Prelude.. Lens.mapping Data._Time++-- | The time at which the @AppInstanceUser@ was last updated.+appInstanceUser_lastUpdatedTimestamp :: Lens.Lens' AppInstanceUser (Prelude.Maybe Prelude.UTCTime)+appInstanceUser_lastUpdatedTimestamp = Lens.lens (\AppInstanceUser' {lastUpdatedTimestamp} -> lastUpdatedTimestamp) (\s@AppInstanceUser' {} a -> s {lastUpdatedTimestamp = a} :: AppInstanceUser) Prelude.. Lens.mapping Data._Time++-- | The metadata of the @AppInstanceUser@.+appInstanceUser_metadata :: Lens.Lens' AppInstanceUser (Prelude.Maybe Prelude.Text)+appInstanceUser_metadata = Lens.lens (\AppInstanceUser' {metadata} -> metadata) (\s@AppInstanceUser' {} a -> s {metadata = a} :: AppInstanceUser) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the @AppInstanceUser@.+appInstanceUser_name :: Lens.Lens' AppInstanceUser (Prelude.Maybe Prelude.Text)+appInstanceUser_name = Lens.lens (\AppInstanceUser' {name} -> name) (\s@AppInstanceUser' {} a -> s {name = a} :: AppInstanceUser) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON AppInstanceUser where+  parseJSON =+    Data.withObject+      "AppInstanceUser"+      ( \x ->+          AppInstanceUser'+            Prelude.<$> (x Data..:? "AppInstanceUserArn")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "LastUpdatedTimestamp")+            Prelude.<*> (x Data..:? "Metadata")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable AppInstanceUser where+  hashWithSalt _salt AppInstanceUser' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceUserArn+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` lastUpdatedTimestamp+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` name++instance Prelude.NFData AppInstanceUser where+  rnf AppInstanceUser' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf lastUpdatedTimestamp+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/ChimeSDKIdentity/Types/AppInstanceUserEndpoint.hs view
@@ -0,0 +1,241 @@+{-# 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.ChimeSDKIdentity.Types.AppInstanceUserEndpoint+-- 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.ChimeSDKIdentity.Types.AppInstanceUserEndpoint where++import Amazonka.ChimeSDKIdentity.Types.AllowMessages+import Amazonka.ChimeSDKIdentity.Types.AppInstanceUserEndpointType+import Amazonka.ChimeSDKIdentity.Types.EndpointAttributes+import Amazonka.ChimeSDKIdentity.Types.EndpointState+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An endpoint under an Amazon Chime @AppInstanceUser@ that receives+-- messages for a user. For push notifications, the endpoint is a mobile+-- device used to receive mobile push notifications for a user.+--+-- /See:/ 'newAppInstanceUserEndpoint' smart constructor.+data AppInstanceUserEndpoint = AppInstanceUserEndpoint'+  { -- | Boolean that controls whether the @AppInstanceUserEndpoint@ is opted in+    -- to receive messages. @ALL@ indicates the endpoint will receive all+    -- messages. @NONE@ indicates the endpoint will receive no messages.+    allowMessages :: Prelude.Maybe AllowMessages,+    -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The time at which an @AppInstanceUserEndpoint@ was created.+    createdTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The attributes of an @Endpoint@.+    endpointAttributes :: Prelude.Maybe EndpointAttributes,+    -- | The unique identifier of the @AppInstanceUserEndpoint@.+    endpointId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | A read-only field that represents the state of an+    -- @AppInstanceUserEndpoint@. Supported values:+    --+    -- -   @ACTIVE@: The @AppInstanceUserEndpoint@ is active and able to+    --     receive messages. When @ACTIVE@, the @EndpointStatusReason@ remains+    --     empty.+    --+    -- -   @INACTIVE@: The @AppInstanceUserEndpoint@ is inactive and can\'t+    --     receive message. When @INACTIVE@, the corresponding reason will be+    --     conveyed through @EndpointStatusReason@.+    --+    -- -   @INVALID_DEVICE_TOKEN@ indicates that an @AppInstanceUserEndpoint@+    --     is @INACTIVE@ due to invalid device token+    --+    -- -   @INVALID_PINPOINT_ARN@ indicates that an @AppInstanceUserEndpoint@+    --     is @INACTIVE@ due to an invalid pinpoint ARN that was input through+    --     the @ResourceArn@ field.+    endpointState :: Prelude.Maybe EndpointState,+    -- | The time at which an @AppInstanceUserEndpoint@ was last updated.+    lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The name of the @AppInstanceUserEndpoint@.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the resource to which the endpoint belongs.+    resourceArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The type of the @AppInstanceUserEndpoint@.+    type' :: Prelude.Maybe AppInstanceUserEndpointType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceUserEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowMessages', 'appInstanceUserEndpoint_allowMessages' - Boolean that controls whether the @AppInstanceUserEndpoint@ is opted in+-- to receive messages. @ALL@ indicates the endpoint will receive all+-- messages. @NONE@ indicates the endpoint will receive no messages.+--+-- 'appInstanceUserArn', 'appInstanceUserEndpoint_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'createdTimestamp', 'appInstanceUserEndpoint_createdTimestamp' - The time at which an @AppInstanceUserEndpoint@ was created.+--+-- 'endpointAttributes', 'appInstanceUserEndpoint_endpointAttributes' - The attributes of an @Endpoint@.+--+-- 'endpointId', 'appInstanceUserEndpoint_endpointId' - The unique identifier of the @AppInstanceUserEndpoint@.+--+-- 'endpointState', 'appInstanceUserEndpoint_endpointState' - A read-only field that represents the state of an+-- @AppInstanceUserEndpoint@. Supported values:+--+-- -   @ACTIVE@: The @AppInstanceUserEndpoint@ is active and able to+--     receive messages. When @ACTIVE@, the @EndpointStatusReason@ remains+--     empty.+--+-- -   @INACTIVE@: The @AppInstanceUserEndpoint@ is inactive and can\'t+--     receive message. When @INACTIVE@, the corresponding reason will be+--     conveyed through @EndpointStatusReason@.+--+-- -   @INVALID_DEVICE_TOKEN@ indicates that an @AppInstanceUserEndpoint@+--     is @INACTIVE@ due to invalid device token+--+-- -   @INVALID_PINPOINT_ARN@ indicates that an @AppInstanceUserEndpoint@+--     is @INACTIVE@ due to an invalid pinpoint ARN that was input through+--     the @ResourceArn@ field.+--+-- 'lastUpdatedTimestamp', 'appInstanceUserEndpoint_lastUpdatedTimestamp' - The time at which an @AppInstanceUserEndpoint@ was last updated.+--+-- 'name', 'appInstanceUserEndpoint_name' - The name of the @AppInstanceUserEndpoint@.+--+-- 'resourceArn', 'appInstanceUserEndpoint_resourceArn' - The ARN of the resource to which the endpoint belongs.+--+-- 'type'', 'appInstanceUserEndpoint_type' - The type of the @AppInstanceUserEndpoint@.+newAppInstanceUserEndpoint ::+  AppInstanceUserEndpoint+newAppInstanceUserEndpoint =+  AppInstanceUserEndpoint'+    { allowMessages =+        Prelude.Nothing,+      appInstanceUserArn = Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      endpointAttributes = Prelude.Nothing,+      endpointId = Prelude.Nothing,+      endpointState = Prelude.Nothing,+      lastUpdatedTimestamp = Prelude.Nothing,+      name = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | Boolean that controls whether the @AppInstanceUserEndpoint@ is opted in+-- to receive messages. @ALL@ indicates the endpoint will receive all+-- messages. @NONE@ indicates the endpoint will receive no messages.+appInstanceUserEndpoint_allowMessages :: Lens.Lens' AppInstanceUserEndpoint (Prelude.Maybe AllowMessages)+appInstanceUserEndpoint_allowMessages = Lens.lens (\AppInstanceUserEndpoint' {allowMessages} -> allowMessages) (\s@AppInstanceUserEndpoint' {} a -> s {allowMessages = a} :: AppInstanceUserEndpoint)++-- | The ARN of the @AppInstanceUser@.+appInstanceUserEndpoint_appInstanceUserArn :: Lens.Lens' AppInstanceUserEndpoint (Prelude.Maybe Prelude.Text)+appInstanceUserEndpoint_appInstanceUserArn = Lens.lens (\AppInstanceUserEndpoint' {appInstanceUserArn} -> appInstanceUserArn) (\s@AppInstanceUserEndpoint' {} a -> s {appInstanceUserArn = a} :: AppInstanceUserEndpoint) Prelude.. Lens.mapping Data._Sensitive++-- | The time at which an @AppInstanceUserEndpoint@ was created.+appInstanceUserEndpoint_createdTimestamp :: Lens.Lens' AppInstanceUserEndpoint (Prelude.Maybe Prelude.UTCTime)+appInstanceUserEndpoint_createdTimestamp = Lens.lens (\AppInstanceUserEndpoint' {createdTimestamp} -> createdTimestamp) (\s@AppInstanceUserEndpoint' {} a -> s {createdTimestamp = a} :: AppInstanceUserEndpoint) Prelude.. Lens.mapping Data._Time++-- | The attributes of an @Endpoint@.+appInstanceUserEndpoint_endpointAttributes :: Lens.Lens' AppInstanceUserEndpoint (Prelude.Maybe EndpointAttributes)+appInstanceUserEndpoint_endpointAttributes = Lens.lens (\AppInstanceUserEndpoint' {endpointAttributes} -> endpointAttributes) (\s@AppInstanceUserEndpoint' {} a -> s {endpointAttributes = a} :: AppInstanceUserEndpoint)++-- | The unique identifier of the @AppInstanceUserEndpoint@.+appInstanceUserEndpoint_endpointId :: Lens.Lens' AppInstanceUserEndpoint (Prelude.Maybe Prelude.Text)+appInstanceUserEndpoint_endpointId = Lens.lens (\AppInstanceUserEndpoint' {endpointId} -> endpointId) (\s@AppInstanceUserEndpoint' {} a -> s {endpointId = a} :: AppInstanceUserEndpoint) Prelude.. Lens.mapping Data._Sensitive++-- | A read-only field that represents the state of an+-- @AppInstanceUserEndpoint@. Supported values:+--+-- -   @ACTIVE@: The @AppInstanceUserEndpoint@ is active and able to+--     receive messages. When @ACTIVE@, the @EndpointStatusReason@ remains+--     empty.+--+-- -   @INACTIVE@: The @AppInstanceUserEndpoint@ is inactive and can\'t+--     receive message. When @INACTIVE@, the corresponding reason will be+--     conveyed through @EndpointStatusReason@.+--+-- -   @INVALID_DEVICE_TOKEN@ indicates that an @AppInstanceUserEndpoint@+--     is @INACTIVE@ due to invalid device token+--+-- -   @INVALID_PINPOINT_ARN@ indicates that an @AppInstanceUserEndpoint@+--     is @INACTIVE@ due to an invalid pinpoint ARN that was input through+--     the @ResourceArn@ field.+appInstanceUserEndpoint_endpointState :: Lens.Lens' AppInstanceUserEndpoint (Prelude.Maybe EndpointState)+appInstanceUserEndpoint_endpointState = Lens.lens (\AppInstanceUserEndpoint' {endpointState} -> endpointState) (\s@AppInstanceUserEndpoint' {} a -> s {endpointState = a} :: AppInstanceUserEndpoint)++-- | The time at which an @AppInstanceUserEndpoint@ was last updated.+appInstanceUserEndpoint_lastUpdatedTimestamp :: Lens.Lens' AppInstanceUserEndpoint (Prelude.Maybe Prelude.UTCTime)+appInstanceUserEndpoint_lastUpdatedTimestamp = Lens.lens (\AppInstanceUserEndpoint' {lastUpdatedTimestamp} -> lastUpdatedTimestamp) (\s@AppInstanceUserEndpoint' {} a -> s {lastUpdatedTimestamp = a} :: AppInstanceUserEndpoint) Prelude.. Lens.mapping Data._Time++-- | The name of the @AppInstanceUserEndpoint@.+appInstanceUserEndpoint_name :: Lens.Lens' AppInstanceUserEndpoint (Prelude.Maybe Prelude.Text)+appInstanceUserEndpoint_name = Lens.lens (\AppInstanceUserEndpoint' {name} -> name) (\s@AppInstanceUserEndpoint' {} a -> s {name = a} :: AppInstanceUserEndpoint) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the resource to which the endpoint belongs.+appInstanceUserEndpoint_resourceArn :: Lens.Lens' AppInstanceUserEndpoint (Prelude.Maybe Prelude.Text)+appInstanceUserEndpoint_resourceArn = Lens.lens (\AppInstanceUserEndpoint' {resourceArn} -> resourceArn) (\s@AppInstanceUserEndpoint' {} a -> s {resourceArn = a} :: AppInstanceUserEndpoint) Prelude.. Lens.mapping Data._Sensitive++-- | The type of the @AppInstanceUserEndpoint@.+appInstanceUserEndpoint_type :: Lens.Lens' AppInstanceUserEndpoint (Prelude.Maybe AppInstanceUserEndpointType)+appInstanceUserEndpoint_type = Lens.lens (\AppInstanceUserEndpoint' {type'} -> type') (\s@AppInstanceUserEndpoint' {} a -> s {type' = a} :: AppInstanceUserEndpoint)++instance Data.FromJSON AppInstanceUserEndpoint where+  parseJSON =+    Data.withObject+      "AppInstanceUserEndpoint"+      ( \x ->+          AppInstanceUserEndpoint'+            Prelude.<$> (x Data..:? "AllowMessages")+            Prelude.<*> (x Data..:? "AppInstanceUserArn")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "EndpointAttributes")+            Prelude.<*> (x Data..:? "EndpointId")+            Prelude.<*> (x Data..:? "EndpointState")+            Prelude.<*> (x Data..:? "LastUpdatedTimestamp")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable AppInstanceUserEndpoint where+  hashWithSalt _salt AppInstanceUserEndpoint' {..} =+    _salt+      `Prelude.hashWithSalt` allowMessages+      `Prelude.hashWithSalt` appInstanceUserArn+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` endpointAttributes+      `Prelude.hashWithSalt` endpointId+      `Prelude.hashWithSalt` endpointState+      `Prelude.hashWithSalt` lastUpdatedTimestamp+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` type'++instance Prelude.NFData AppInstanceUserEndpoint where+  rnf AppInstanceUserEndpoint' {..} =+    Prelude.rnf allowMessages+      `Prelude.seq` Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf endpointAttributes+      `Prelude.seq` Prelude.rnf endpointId+      `Prelude.seq` Prelude.rnf endpointState+      `Prelude.seq` Prelude.rnf lastUpdatedTimestamp+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ChimeSDKIdentity/Types/AppInstanceUserEndpointSummary.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.ChimeSDKIdentity.Types.AppInstanceUserEndpointSummary+-- 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.ChimeSDKIdentity.Types.AppInstanceUserEndpointSummary where++import Amazonka.ChimeSDKIdentity.Types.AllowMessages+import Amazonka.ChimeSDKIdentity.Types.AppInstanceUserEndpointType+import Amazonka.ChimeSDKIdentity.Types.EndpointState+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++-- | Summary of the details of an @AppInstanceUserEndpoint@.+--+-- /See:/ 'newAppInstanceUserEndpointSummary' smart constructor.+data AppInstanceUserEndpointSummary = AppInstanceUserEndpointSummary'+  { -- | BBoolean that controls whether the @AppInstanceUserEndpoint@ is opted in+    -- to receive messages. @ALL@ indicates the endpoint will receive all+    -- messages. @NONE@ indicates the endpoint will receive no messages.+    allowMessages :: Prelude.Maybe AllowMessages,+    -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The unique identifier of the @AppInstanceUserEndpoint@.+    endpointId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | A read-only field that represent the state of an+    -- @AppInstanceUserEndpoint@.+    endpointState :: Prelude.Maybe EndpointState,+    -- | The name of the @AppInstanceUserEndpoint@.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The type of the @AppInstanceUserEndpoint@.+    type' :: Prelude.Maybe AppInstanceUserEndpointType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceUserEndpointSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowMessages', 'appInstanceUserEndpointSummary_allowMessages' - BBoolean that controls whether the @AppInstanceUserEndpoint@ is opted in+-- to receive messages. @ALL@ indicates the endpoint will receive all+-- messages. @NONE@ indicates the endpoint will receive no messages.+--+-- 'appInstanceUserArn', 'appInstanceUserEndpointSummary_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'endpointId', 'appInstanceUserEndpointSummary_endpointId' - The unique identifier of the @AppInstanceUserEndpoint@.+--+-- 'endpointState', 'appInstanceUserEndpointSummary_endpointState' - A read-only field that represent the state of an+-- @AppInstanceUserEndpoint@.+--+-- 'name', 'appInstanceUserEndpointSummary_name' - The name of the @AppInstanceUserEndpoint@.+--+-- 'type'', 'appInstanceUserEndpointSummary_type' - The type of the @AppInstanceUserEndpoint@.+newAppInstanceUserEndpointSummary ::+  AppInstanceUserEndpointSummary+newAppInstanceUserEndpointSummary =+  AppInstanceUserEndpointSummary'+    { allowMessages =+        Prelude.Nothing,+      appInstanceUserArn = Prelude.Nothing,+      endpointId = Prelude.Nothing,+      endpointState = Prelude.Nothing,+      name = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | BBoolean that controls whether the @AppInstanceUserEndpoint@ is opted in+-- to receive messages. @ALL@ indicates the endpoint will receive all+-- messages. @NONE@ indicates the endpoint will receive no messages.+appInstanceUserEndpointSummary_allowMessages :: Lens.Lens' AppInstanceUserEndpointSummary (Prelude.Maybe AllowMessages)+appInstanceUserEndpointSummary_allowMessages = Lens.lens (\AppInstanceUserEndpointSummary' {allowMessages} -> allowMessages) (\s@AppInstanceUserEndpointSummary' {} a -> s {allowMessages = a} :: AppInstanceUserEndpointSummary)++-- | The ARN of the @AppInstanceUser@.+appInstanceUserEndpointSummary_appInstanceUserArn :: Lens.Lens' AppInstanceUserEndpointSummary (Prelude.Maybe Prelude.Text)+appInstanceUserEndpointSummary_appInstanceUserArn = Lens.lens (\AppInstanceUserEndpointSummary' {appInstanceUserArn} -> appInstanceUserArn) (\s@AppInstanceUserEndpointSummary' {} a -> s {appInstanceUserArn = a} :: AppInstanceUserEndpointSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The unique identifier of the @AppInstanceUserEndpoint@.+appInstanceUserEndpointSummary_endpointId :: Lens.Lens' AppInstanceUserEndpointSummary (Prelude.Maybe Prelude.Text)+appInstanceUserEndpointSummary_endpointId = Lens.lens (\AppInstanceUserEndpointSummary' {endpointId} -> endpointId) (\s@AppInstanceUserEndpointSummary' {} a -> s {endpointId = a} :: AppInstanceUserEndpointSummary) Prelude.. Lens.mapping Data._Sensitive++-- | A read-only field that represent the state of an+-- @AppInstanceUserEndpoint@.+appInstanceUserEndpointSummary_endpointState :: Lens.Lens' AppInstanceUserEndpointSummary (Prelude.Maybe EndpointState)+appInstanceUserEndpointSummary_endpointState = Lens.lens (\AppInstanceUserEndpointSummary' {endpointState} -> endpointState) (\s@AppInstanceUserEndpointSummary' {} a -> s {endpointState = a} :: AppInstanceUserEndpointSummary)++-- | The name of the @AppInstanceUserEndpoint@.+appInstanceUserEndpointSummary_name :: Lens.Lens' AppInstanceUserEndpointSummary (Prelude.Maybe Prelude.Text)+appInstanceUserEndpointSummary_name = Lens.lens (\AppInstanceUserEndpointSummary' {name} -> name) (\s@AppInstanceUserEndpointSummary' {} a -> s {name = a} :: AppInstanceUserEndpointSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The type of the @AppInstanceUserEndpoint@.+appInstanceUserEndpointSummary_type :: Lens.Lens' AppInstanceUserEndpointSummary (Prelude.Maybe AppInstanceUserEndpointType)+appInstanceUserEndpointSummary_type = Lens.lens (\AppInstanceUserEndpointSummary' {type'} -> type') (\s@AppInstanceUserEndpointSummary' {} a -> s {type' = a} :: AppInstanceUserEndpointSummary)++instance Data.FromJSON AppInstanceUserEndpointSummary where+  parseJSON =+    Data.withObject+      "AppInstanceUserEndpointSummary"+      ( \x ->+          AppInstanceUserEndpointSummary'+            Prelude.<$> (x Data..:? "AllowMessages")+            Prelude.<*> (x Data..:? "AppInstanceUserArn")+            Prelude.<*> (x Data..:? "EndpointId")+            Prelude.<*> (x Data..:? "EndpointState")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Type")+      )++instance+  Prelude.Hashable+    AppInstanceUserEndpointSummary+  where+  hashWithSalt+    _salt+    AppInstanceUserEndpointSummary' {..} =+      _salt+        `Prelude.hashWithSalt` allowMessages+        `Prelude.hashWithSalt` appInstanceUserArn+        `Prelude.hashWithSalt` endpointId+        `Prelude.hashWithSalt` endpointState+        `Prelude.hashWithSalt` name+        `Prelude.hashWithSalt` type'++instance+  Prelude.NFData+    AppInstanceUserEndpointSummary+  where+  rnf AppInstanceUserEndpointSummary' {..} =+    Prelude.rnf allowMessages+      `Prelude.seq` Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf endpointId+      `Prelude.seq` Prelude.rnf endpointState+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ChimeSDKIdentity/Types/AppInstanceUserEndpointType.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.ChimeSDKIdentity.Types.AppInstanceUserEndpointType+-- 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.ChimeSDKIdentity.Types.AppInstanceUserEndpointType+  ( AppInstanceUserEndpointType+      ( ..,+        AppInstanceUserEndpointType_APNS,+        AppInstanceUserEndpointType_APNS_SANDBOX,+        AppInstanceUserEndpointType_GCM+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AppInstanceUserEndpointType = AppInstanceUserEndpointType'+  { fromAppInstanceUserEndpointType ::+      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 AppInstanceUserEndpointType_APNS :: AppInstanceUserEndpointType+pattern AppInstanceUserEndpointType_APNS = AppInstanceUserEndpointType' "APNS"++pattern AppInstanceUserEndpointType_APNS_SANDBOX :: AppInstanceUserEndpointType+pattern AppInstanceUserEndpointType_APNS_SANDBOX = AppInstanceUserEndpointType' "APNS_SANDBOX"++pattern AppInstanceUserEndpointType_GCM :: AppInstanceUserEndpointType+pattern AppInstanceUserEndpointType_GCM = AppInstanceUserEndpointType' "GCM"++{-# COMPLETE+  AppInstanceUserEndpointType_APNS,+  AppInstanceUserEndpointType_APNS_SANDBOX,+  AppInstanceUserEndpointType_GCM,+  AppInstanceUserEndpointType'+  #-}
+ gen/Amazonka/ChimeSDKIdentity/Types/AppInstanceUserSummary.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.Types.AppInstanceUserSummary+-- 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.ChimeSDKIdentity.Types.AppInstanceUserSummary 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++-- | Summary of the details of an @AppInstanceUser@.+--+-- /See:/ 'newAppInstanceUserSummary' smart constructor.+data AppInstanceUserSummary = AppInstanceUserSummary'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Maybe Prelude.Text,+    -- | The metadata of the @AppInstanceUser@.+    metadata :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The name of an @AppInstanceUser@.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppInstanceUserSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserArn', 'appInstanceUserSummary_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'metadata', 'appInstanceUserSummary_metadata' - The metadata of the @AppInstanceUser@.+--+-- 'name', 'appInstanceUserSummary_name' - The name of an @AppInstanceUser@.+newAppInstanceUserSummary ::+  AppInstanceUserSummary+newAppInstanceUserSummary =+  AppInstanceUserSummary'+    { appInstanceUserArn =+        Prelude.Nothing,+      metadata = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The ARN of the @AppInstanceUser@.+appInstanceUserSummary_appInstanceUserArn :: Lens.Lens' AppInstanceUserSummary (Prelude.Maybe Prelude.Text)+appInstanceUserSummary_appInstanceUserArn = Lens.lens (\AppInstanceUserSummary' {appInstanceUserArn} -> appInstanceUserArn) (\s@AppInstanceUserSummary' {} a -> s {appInstanceUserArn = a} :: AppInstanceUserSummary)++-- | The metadata of the @AppInstanceUser@.+appInstanceUserSummary_metadata :: Lens.Lens' AppInstanceUserSummary (Prelude.Maybe Prelude.Text)+appInstanceUserSummary_metadata = Lens.lens (\AppInstanceUserSummary' {metadata} -> metadata) (\s@AppInstanceUserSummary' {} a -> s {metadata = a} :: AppInstanceUserSummary) Prelude.. Lens.mapping Data._Sensitive++-- | The name of an @AppInstanceUser@.+appInstanceUserSummary_name :: Lens.Lens' AppInstanceUserSummary (Prelude.Maybe Prelude.Text)+appInstanceUserSummary_name = Lens.lens (\AppInstanceUserSummary' {name} -> name) (\s@AppInstanceUserSummary' {} a -> s {name = a} :: AppInstanceUserSummary) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON AppInstanceUserSummary where+  parseJSON =+    Data.withObject+      "AppInstanceUserSummary"+      ( \x ->+          AppInstanceUserSummary'+            Prelude.<$> (x Data..:? "AppInstanceUserArn")+            Prelude.<*> (x Data..:? "Metadata")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable AppInstanceUserSummary where+  hashWithSalt _salt AppInstanceUserSummary' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceUserArn+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` name++instance Prelude.NFData AppInstanceUserSummary where+  rnf AppInstanceUserSummary' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/ChimeSDKIdentity/Types/ChannelRetentionSettings.hs view
@@ -0,0 +1,81 @@+{-# 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.ChimeSDKIdentity.Types.ChannelRetentionSettings+-- 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.ChimeSDKIdentity.Types.ChannelRetentionSettings 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 details of the retention settings for a channel.+--+-- /See:/ 'newChannelRetentionSettings' smart constructor.+data ChannelRetentionSettings = ChannelRetentionSettings'+  { -- | The time in days to retain the messages in a channel.+    retentionDays :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChannelRetentionSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'retentionDays', 'channelRetentionSettings_retentionDays' - The time in days to retain the messages in a channel.+newChannelRetentionSettings ::+  ChannelRetentionSettings+newChannelRetentionSettings =+  ChannelRetentionSettings'+    { retentionDays =+        Prelude.Nothing+    }++-- | The time in days to retain the messages in a channel.+channelRetentionSettings_retentionDays :: Lens.Lens' ChannelRetentionSettings (Prelude.Maybe Prelude.Natural)+channelRetentionSettings_retentionDays = Lens.lens (\ChannelRetentionSettings' {retentionDays} -> retentionDays) (\s@ChannelRetentionSettings' {} a -> s {retentionDays = a} :: ChannelRetentionSettings)++instance Data.FromJSON ChannelRetentionSettings where+  parseJSON =+    Data.withObject+      "ChannelRetentionSettings"+      ( \x ->+          ChannelRetentionSettings'+            Prelude.<$> (x Data..:? "RetentionDays")+      )++instance Prelude.Hashable ChannelRetentionSettings where+  hashWithSalt _salt ChannelRetentionSettings' {..} =+    _salt `Prelude.hashWithSalt` retentionDays++instance Prelude.NFData ChannelRetentionSettings where+  rnf ChannelRetentionSettings' {..} =+    Prelude.rnf retentionDays++instance Data.ToJSON ChannelRetentionSettings where+  toJSON ChannelRetentionSettings' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("RetentionDays" Data..=)+              Prelude.<$> retentionDays+          ]+      )
+ gen/Amazonka/ChimeSDKIdentity/Types/EndpointAttributes.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.Types.EndpointAttributes+-- 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.ChimeSDKIdentity.Types.EndpointAttributes 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 attributes of an @Endpoint@.+--+-- /See:/ 'newEndpointAttributes' smart constructor.+data EndpointAttributes = EndpointAttributes'+  { -- | The VOIP device token for the APNS and APNS_SANDBOX endpoint types.+    voipDeviceToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The device token for the GCM, APNS, and APNS_SANDBOX endpoint types.+    deviceToken :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EndpointAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'voipDeviceToken', 'endpointAttributes_voipDeviceToken' - The VOIP device token for the APNS and APNS_SANDBOX endpoint types.+--+-- 'deviceToken', 'endpointAttributes_deviceToken' - The device token for the GCM, APNS, and APNS_SANDBOX endpoint types.+newEndpointAttributes ::+  -- | 'deviceToken'+  Prelude.Text ->+  EndpointAttributes+newEndpointAttributes pDeviceToken_ =+  EndpointAttributes'+    { voipDeviceToken =+        Prelude.Nothing,+      deviceToken = Data._Sensitive Lens.# pDeviceToken_+    }++-- | The VOIP device token for the APNS and APNS_SANDBOX endpoint types.+endpointAttributes_voipDeviceToken :: Lens.Lens' EndpointAttributes (Prelude.Maybe Prelude.Text)+endpointAttributes_voipDeviceToken = Lens.lens (\EndpointAttributes' {voipDeviceToken} -> voipDeviceToken) (\s@EndpointAttributes' {} a -> s {voipDeviceToken = a} :: EndpointAttributes) Prelude.. Lens.mapping Data._Sensitive++-- | The device token for the GCM, APNS, and APNS_SANDBOX endpoint types.+endpointAttributes_deviceToken :: Lens.Lens' EndpointAttributes Prelude.Text+endpointAttributes_deviceToken = Lens.lens (\EndpointAttributes' {deviceToken} -> deviceToken) (\s@EndpointAttributes' {} a -> s {deviceToken = a} :: EndpointAttributes) Prelude.. Data._Sensitive++instance Data.FromJSON EndpointAttributes where+  parseJSON =+    Data.withObject+      "EndpointAttributes"+      ( \x ->+          EndpointAttributes'+            Prelude.<$> (x Data..:? "VoipDeviceToken")+            Prelude.<*> (x Data..: "DeviceToken")+      )++instance Prelude.Hashable EndpointAttributes where+  hashWithSalt _salt EndpointAttributes' {..} =+    _salt+      `Prelude.hashWithSalt` voipDeviceToken+      `Prelude.hashWithSalt` deviceToken++instance Prelude.NFData EndpointAttributes where+  rnf EndpointAttributes' {..} =+    Prelude.rnf voipDeviceToken+      `Prelude.seq` Prelude.rnf deviceToken++instance Data.ToJSON EndpointAttributes where+  toJSON EndpointAttributes' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("VoipDeviceToken" Data..=)+              Prelude.<$> voipDeviceToken,+            Prelude.Just ("DeviceToken" Data..= deviceToken)+          ]+      )
+ gen/Amazonka/ChimeSDKIdentity/Types/EndpointState.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.ChimeSDKIdentity.Types.EndpointState+-- 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.ChimeSDKIdentity.Types.EndpointState where++import Amazonka.ChimeSDKIdentity.Types.EndpointStatus+import Amazonka.ChimeSDKIdentity.Types.EndpointStatusReason+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A read-only field that represents the state of an+-- @AppInstanceUserEndpoint@. Supported values:+--+-- -   @ACTIVE@: The @AppInstanceUserEndpoint@ is active and able to+--     receive messages. When @ACTIVE@, the @EndpointStatusReason@ remains+--     empty.+--+-- -   @INACTIVE@: The @AppInstanceUserEndpoint@ is inactive and can\'t+--     receive message. When INACTIVE, the corresponding reason will be+--     conveyed through EndpointStatusReason.+--+-- -   @INVALID_DEVICE_TOKEN@ indicates that an @AppInstanceUserEndpoint@+--     is @INACTIVE@ due to invalid device token+--+-- -   @INVALID_PINPOINT_ARN@ indicates that an @AppInstanceUserEndpoint@+--     is @INACTIVE@ due to an invalid pinpoint ARN that was input through+--     the @ResourceArn@ field.+--+-- /See:/ 'newEndpointState' smart constructor.+data EndpointState = EndpointState'+  { -- | The reason for the @EndpointStatus@.+    statusReason :: Prelude.Maybe EndpointStatusReason,+    -- | Enum that indicates the Status of an @AppInstanceUserEndpoint@.+    status :: EndpointStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EndpointState' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'statusReason', 'endpointState_statusReason' - The reason for the @EndpointStatus@.+--+-- 'status', 'endpointState_status' - Enum that indicates the Status of an @AppInstanceUserEndpoint@.+newEndpointState ::+  -- | 'status'+  EndpointStatus ->+  EndpointState+newEndpointState pStatus_ =+  EndpointState'+    { statusReason = Prelude.Nothing,+      status = pStatus_+    }++-- | The reason for the @EndpointStatus@.+endpointState_statusReason :: Lens.Lens' EndpointState (Prelude.Maybe EndpointStatusReason)+endpointState_statusReason = Lens.lens (\EndpointState' {statusReason} -> statusReason) (\s@EndpointState' {} a -> s {statusReason = a} :: EndpointState)++-- | Enum that indicates the Status of an @AppInstanceUserEndpoint@.+endpointState_status :: Lens.Lens' EndpointState EndpointStatus+endpointState_status = Lens.lens (\EndpointState' {status} -> status) (\s@EndpointState' {} a -> s {status = a} :: EndpointState)++instance Data.FromJSON EndpointState where+  parseJSON =+    Data.withObject+      "EndpointState"+      ( \x ->+          EndpointState'+            Prelude.<$> (x Data..:? "StatusReason")+            Prelude.<*> (x Data..: "Status")+      )++instance Prelude.Hashable EndpointState where+  hashWithSalt _salt EndpointState' {..} =+    _salt+      `Prelude.hashWithSalt` statusReason+      `Prelude.hashWithSalt` status++instance Prelude.NFData EndpointState where+  rnf EndpointState' {..} =+    Prelude.rnf statusReason+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/ChimeSDKIdentity/Types/EndpointStatus.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.ChimeSDKIdentity.Types.EndpointStatus+-- 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.ChimeSDKIdentity.Types.EndpointStatus+  ( EndpointStatus+      ( ..,+        EndpointStatus_ACTIVE,+        EndpointStatus_INACTIVE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EndpointStatus = EndpointStatus'+  { fromEndpointStatus ::+      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 EndpointStatus_ACTIVE :: EndpointStatus+pattern EndpointStatus_ACTIVE = EndpointStatus' "ACTIVE"++pattern EndpointStatus_INACTIVE :: EndpointStatus+pattern EndpointStatus_INACTIVE = EndpointStatus' "INACTIVE"++{-# COMPLETE+  EndpointStatus_ACTIVE,+  EndpointStatus_INACTIVE,+  EndpointStatus'+  #-}
+ gen/Amazonka/ChimeSDKIdentity/Types/EndpointStatusReason.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.ChimeSDKIdentity.Types.EndpointStatusReason+-- 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.ChimeSDKIdentity.Types.EndpointStatusReason+  ( EndpointStatusReason+      ( ..,+        EndpointStatusReason_INVALID_DEVICE_TOKEN,+        EndpointStatusReason_INVALID_PINPOINT_ARN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EndpointStatusReason = EndpointStatusReason'+  { fromEndpointStatusReason ::+      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 EndpointStatusReason_INVALID_DEVICE_TOKEN :: EndpointStatusReason+pattern EndpointStatusReason_INVALID_DEVICE_TOKEN = EndpointStatusReason' "INVALID_DEVICE_TOKEN"++pattern EndpointStatusReason_INVALID_PINPOINT_ARN :: EndpointStatusReason+pattern EndpointStatusReason_INVALID_PINPOINT_ARN = EndpointStatusReason' "INVALID_PINPOINT_ARN"++{-# COMPLETE+  EndpointStatusReason_INVALID_DEVICE_TOKEN,+  EndpointStatusReason_INVALID_PINPOINT_ARN,+  EndpointStatusReason'+  #-}
+ gen/Amazonka/ChimeSDKIdentity/Types/Identity.hs view
@@ -0,0 +1,83 @@+{-# 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.ChimeSDKIdentity.Types.Identity+-- 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.ChimeSDKIdentity.Types.Identity 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 details of a user.+--+-- /See:/ 'newIdentity' smart constructor.+data Identity = Identity'+  { -- | The ARN in an Identity.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The name in an Identity.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Identity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'identity_arn' - The ARN in an Identity.+--+-- 'name', 'identity_name' - The name in an Identity.+newIdentity ::+  Identity+newIdentity =+  Identity'+    { arn = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The ARN in an Identity.+identity_arn :: Lens.Lens' Identity (Prelude.Maybe Prelude.Text)+identity_arn = Lens.lens (\Identity' {arn} -> arn) (\s@Identity' {} a -> s {arn = a} :: Identity)++-- | The name in an Identity.+identity_name :: Lens.Lens' Identity (Prelude.Maybe Prelude.Text)+identity_name = Lens.lens (\Identity' {name} -> name) (\s@Identity' {} a -> s {name = a} :: Identity) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON Identity where+  parseJSON =+    Data.withObject+      "Identity"+      ( \x ->+          Identity'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable Identity where+  hashWithSalt _salt Identity' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` name++instance Prelude.NFData Identity where+  rnf Identity' {..} =+    Prelude.rnf arn `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/ChimeSDKIdentity/Types/Tag.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.Types.Tag+-- 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.ChimeSDKIdentity.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A tag object containing a key-value pair.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | The key in a tag.+    key :: Data.Sensitive Prelude.Text,+    -- | The value in a tag.+    value :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - The key in a tag.+--+-- 'value', 'tag_value' - The value in a tag.+newTag ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Tag+newTag pKey_ pValue_ =+  Tag'+    { key = Data._Sensitive Lens.# pKey_,+      value = Data._Sensitive Lens.# pValue_+    }++-- | The key in a tag.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag) Prelude.. Data._Sensitive++-- | The value in a tag.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag) Prelude.. Data._Sensitive++instance Data.FromJSON Tag where+  parseJSON =+    Data.withObject+      "Tag"+      ( \x ->+          Tag'+            Prelude.<$> (x Data..: "Key")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+  toJSON Tag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Key" Data..= key),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/ChimeSDKIdentity/UntagResource.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the specified tags from the specified Amazon Chime SDK identity+-- resource.+module Amazonka.ChimeSDKIdentity.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceARN,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The resource ARN.+    resourceARN :: Prelude.Text,+    -- | The tag keys.+    tagKeys :: Prelude.NonEmpty (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceARN', 'untagResource_resourceARN' - The resource ARN.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys.+newUntagResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceARN_ pTagKeys_ =+  UntagResource'+    { resourceARN = pResourceARN_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The resource ARN.+untagResource_resourceARN :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceARN = Lens.lens (\UntagResource' {resourceARN} -> resourceARN) (\s@UntagResource' {} a -> s {resourceARN = a} :: UntagResource)++-- | The tag keys.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull UntagResourceResponse'++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceARN+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceARN+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UntagResource where+  toJSON UntagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceARN" Data..= resourceARN),+            Prelude.Just ("TagKeys" Data..= tagKeys)+          ]+      )++instance Data.ToPath UntagResource where+  toPath = Prelude.const "/tags"++instance Data.ToQuery UntagResource where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=untag-resource"])++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newUntagResourceResponse ::+  UntagResourceResponse+newUntagResourceResponse = UntagResourceResponse'++instance Prelude.NFData UntagResourceResponse where+  rnf _ = ()
+ gen/Amazonka/ChimeSDKIdentity/UpdateAppInstance.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.ChimeSDKIdentity.UpdateAppInstance+-- 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 @AppInstance@ metadata.+module Amazonka.ChimeSDKIdentity.UpdateAppInstance+  ( -- * Creating a Request+    UpdateAppInstance (..),+    newUpdateAppInstance,++    -- * Request Lenses+    updateAppInstance_appInstanceArn,+    updateAppInstance_name,+    updateAppInstance_metadata,++    -- * Destructuring the Response+    UpdateAppInstanceResponse (..),+    newUpdateAppInstanceResponse,++    -- * Response Lenses+    updateAppInstanceResponse_appInstanceArn,+    updateAppInstanceResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newUpdateAppInstance' smart constructor.+data UpdateAppInstance = UpdateAppInstance'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: Prelude.Text,+    -- | The name that you want to change.+    name :: Data.Sensitive Prelude.Text,+    -- | The metadata that you want to change.+    metadata :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAppInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceArn', 'updateAppInstance_appInstanceArn' - The ARN of the @AppInstance@.+--+-- 'name', 'updateAppInstance_name' - The name that you want to change.+--+-- 'metadata', 'updateAppInstance_metadata' - The metadata that you want to change.+newUpdateAppInstance ::+  -- | 'appInstanceArn'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'metadata'+  Prelude.Text ->+  UpdateAppInstance+newUpdateAppInstance+  pAppInstanceArn_+  pName_+  pMetadata_ =+    UpdateAppInstance'+      { appInstanceArn =+          pAppInstanceArn_,+        name = Data._Sensitive Lens.# pName_,+        metadata = Data._Sensitive Lens.# pMetadata_+      }++-- | The ARN of the @AppInstance@.+updateAppInstance_appInstanceArn :: Lens.Lens' UpdateAppInstance Prelude.Text+updateAppInstance_appInstanceArn = Lens.lens (\UpdateAppInstance' {appInstanceArn} -> appInstanceArn) (\s@UpdateAppInstance' {} a -> s {appInstanceArn = a} :: UpdateAppInstance)++-- | The name that you want to change.+updateAppInstance_name :: Lens.Lens' UpdateAppInstance Prelude.Text+updateAppInstance_name = Lens.lens (\UpdateAppInstance' {name} -> name) (\s@UpdateAppInstance' {} a -> s {name = a} :: UpdateAppInstance) Prelude.. Data._Sensitive++-- | The metadata that you want to change.+updateAppInstance_metadata :: Lens.Lens' UpdateAppInstance Prelude.Text+updateAppInstance_metadata = Lens.lens (\UpdateAppInstance' {metadata} -> metadata) (\s@UpdateAppInstance' {} a -> s {metadata = a} :: UpdateAppInstance) Prelude.. Data._Sensitive++instance Core.AWSRequest UpdateAppInstance where+  type+    AWSResponse UpdateAppInstance =+      UpdateAppInstanceResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAppInstanceResponse'+            Prelude.<$> (x Data..?> "AppInstanceArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAppInstance where+  hashWithSalt _salt UpdateAppInstance' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceArn+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` metadata++instance Prelude.NFData UpdateAppInstance where+  rnf UpdateAppInstance' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf metadata++instance Data.ToHeaders UpdateAppInstance where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateAppInstance where+  toJSON UpdateAppInstance' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Metadata" Data..= metadata)+          ]+      )++instance Data.ToPath UpdateAppInstance where+  toPath UpdateAppInstance' {..} =+    Prelude.mconcat+      ["/app-instances/", Data.toBS appInstanceArn]++instance Data.ToQuery UpdateAppInstance where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAppInstanceResponse' smart constructor.+data UpdateAppInstanceResponse = UpdateAppInstanceResponse'+  { -- | The ARN of the @AppInstance@.+    appInstanceArn :: 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 'UpdateAppInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceArn', 'updateAppInstanceResponse_appInstanceArn' - The ARN of the @AppInstance@.+--+-- 'httpStatus', 'updateAppInstanceResponse_httpStatus' - The response's http status code.+newUpdateAppInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateAppInstanceResponse+newUpdateAppInstanceResponse pHttpStatus_ =+  UpdateAppInstanceResponse'+    { appInstanceArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the @AppInstance@.+updateAppInstanceResponse_appInstanceArn :: Lens.Lens' UpdateAppInstanceResponse (Prelude.Maybe Prelude.Text)+updateAppInstanceResponse_appInstanceArn = Lens.lens (\UpdateAppInstanceResponse' {appInstanceArn} -> appInstanceArn) (\s@UpdateAppInstanceResponse' {} a -> s {appInstanceArn = a} :: UpdateAppInstanceResponse)++-- | The response's http status code.+updateAppInstanceResponse_httpStatus :: Lens.Lens' UpdateAppInstanceResponse Prelude.Int+updateAppInstanceResponse_httpStatus = Lens.lens (\UpdateAppInstanceResponse' {httpStatus} -> httpStatus) (\s@UpdateAppInstanceResponse' {} a -> s {httpStatus = a} :: UpdateAppInstanceResponse)++instance Prelude.NFData UpdateAppInstanceResponse where+  rnf UpdateAppInstanceResponse' {..} =+    Prelude.rnf appInstanceArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/UpdateAppInstanceUser.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.UpdateAppInstanceUser+-- 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 details of an @AppInstanceUser@. You can update names and+-- metadata.+module Amazonka.ChimeSDKIdentity.UpdateAppInstanceUser+  ( -- * Creating a Request+    UpdateAppInstanceUser (..),+    newUpdateAppInstanceUser,++    -- * Request Lenses+    updateAppInstanceUser_appInstanceUserArn,+    updateAppInstanceUser_name,+    updateAppInstanceUser_metadata,++    -- * Destructuring the Response+    UpdateAppInstanceUserResponse (..),+    newUpdateAppInstanceUserResponse,++    -- * Response Lenses+    updateAppInstanceUserResponse_appInstanceUserArn,+    updateAppInstanceUserResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newUpdateAppInstanceUser' smart constructor.+data UpdateAppInstanceUser = UpdateAppInstanceUser'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Text,+    -- | The name of the @AppInstanceUser@.+    name :: Data.Sensitive Prelude.Text,+    -- | The metadata of the @AppInstanceUser@.+    metadata :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAppInstanceUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserArn', 'updateAppInstanceUser_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'name', 'updateAppInstanceUser_name' - The name of the @AppInstanceUser@.+--+-- 'metadata', 'updateAppInstanceUser_metadata' - The metadata of the @AppInstanceUser@.+newUpdateAppInstanceUser ::+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'metadata'+  Prelude.Text ->+  UpdateAppInstanceUser+newUpdateAppInstanceUser+  pAppInstanceUserArn_+  pName_+  pMetadata_ =+    UpdateAppInstanceUser'+      { appInstanceUserArn =+          pAppInstanceUserArn_,+        name = Data._Sensitive Lens.# pName_,+        metadata = Data._Sensitive Lens.# pMetadata_+      }++-- | The ARN of the @AppInstanceUser@.+updateAppInstanceUser_appInstanceUserArn :: Lens.Lens' UpdateAppInstanceUser Prelude.Text+updateAppInstanceUser_appInstanceUserArn = Lens.lens (\UpdateAppInstanceUser' {appInstanceUserArn} -> appInstanceUserArn) (\s@UpdateAppInstanceUser' {} a -> s {appInstanceUserArn = a} :: UpdateAppInstanceUser)++-- | The name of the @AppInstanceUser@.+updateAppInstanceUser_name :: Lens.Lens' UpdateAppInstanceUser Prelude.Text+updateAppInstanceUser_name = Lens.lens (\UpdateAppInstanceUser' {name} -> name) (\s@UpdateAppInstanceUser' {} a -> s {name = a} :: UpdateAppInstanceUser) Prelude.. Data._Sensitive++-- | The metadata of the @AppInstanceUser@.+updateAppInstanceUser_metadata :: Lens.Lens' UpdateAppInstanceUser Prelude.Text+updateAppInstanceUser_metadata = Lens.lens (\UpdateAppInstanceUser' {metadata} -> metadata) (\s@UpdateAppInstanceUser' {} a -> s {metadata = a} :: UpdateAppInstanceUser) Prelude.. Data._Sensitive++instance Core.AWSRequest UpdateAppInstanceUser where+  type+    AWSResponse UpdateAppInstanceUser =+      UpdateAppInstanceUserResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAppInstanceUserResponse'+            Prelude.<$> (x Data..?> "AppInstanceUserArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateAppInstanceUser where+  hashWithSalt _salt UpdateAppInstanceUser' {..} =+    _salt+      `Prelude.hashWithSalt` appInstanceUserArn+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` metadata++instance Prelude.NFData UpdateAppInstanceUser where+  rnf UpdateAppInstanceUser' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf metadata++instance Data.ToHeaders UpdateAppInstanceUser where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateAppInstanceUser where+  toJSON UpdateAppInstanceUser' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Metadata" Data..= metadata)+          ]+      )++instance Data.ToPath UpdateAppInstanceUser where+  toPath UpdateAppInstanceUser' {..} =+    Prelude.mconcat+      [ "/app-instance-users/",+        Data.toBS appInstanceUserArn+      ]++instance Data.ToQuery UpdateAppInstanceUser where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAppInstanceUserResponse' smart constructor.+data UpdateAppInstanceUserResponse = UpdateAppInstanceUserResponse'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: 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 'UpdateAppInstanceUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserArn', 'updateAppInstanceUserResponse_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'httpStatus', 'updateAppInstanceUserResponse_httpStatus' - The response's http status code.+newUpdateAppInstanceUserResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateAppInstanceUserResponse+newUpdateAppInstanceUserResponse pHttpStatus_ =+  UpdateAppInstanceUserResponse'+    { appInstanceUserArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the @AppInstanceUser@.+updateAppInstanceUserResponse_appInstanceUserArn :: Lens.Lens' UpdateAppInstanceUserResponse (Prelude.Maybe Prelude.Text)+updateAppInstanceUserResponse_appInstanceUserArn = Lens.lens (\UpdateAppInstanceUserResponse' {appInstanceUserArn} -> appInstanceUserArn) (\s@UpdateAppInstanceUserResponse' {} a -> s {appInstanceUserArn = a} :: UpdateAppInstanceUserResponse)++-- | The response's http status code.+updateAppInstanceUserResponse_httpStatus :: Lens.Lens' UpdateAppInstanceUserResponse Prelude.Int+updateAppInstanceUserResponse_httpStatus = Lens.lens (\UpdateAppInstanceUserResponse' {httpStatus} -> httpStatus) (\s@UpdateAppInstanceUserResponse' {} a -> s {httpStatus = a} :: UpdateAppInstanceUserResponse)++instance Prelude.NFData UpdateAppInstanceUserResponse where+  rnf UpdateAppInstanceUserResponse' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/UpdateAppInstanceUserEndpoint.hs view
@@ -0,0 +1,240 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSDKIdentity.UpdateAppInstanceUserEndpoint+-- 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 details of an @AppInstanceUserEndpoint@. You can update the+-- name and @AllowMessage@ values.+module Amazonka.ChimeSDKIdentity.UpdateAppInstanceUserEndpoint+  ( -- * Creating a Request+    UpdateAppInstanceUserEndpoint (..),+    newUpdateAppInstanceUserEndpoint,++    -- * Request Lenses+    updateAppInstanceUserEndpoint_allowMessages,+    updateAppInstanceUserEndpoint_name,+    updateAppInstanceUserEndpoint_appInstanceUserArn,+    updateAppInstanceUserEndpoint_endpointId,++    -- * Destructuring the Response+    UpdateAppInstanceUserEndpointResponse (..),+    newUpdateAppInstanceUserEndpointResponse,++    -- * Response Lenses+    updateAppInstanceUserEndpointResponse_appInstanceUserArn,+    updateAppInstanceUserEndpointResponse_endpointId,+    updateAppInstanceUserEndpointResponse_httpStatus,+  )+where++import Amazonka.ChimeSDKIdentity.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:/ 'newUpdateAppInstanceUserEndpoint' smart constructor.+data UpdateAppInstanceUserEndpoint = UpdateAppInstanceUserEndpoint'+  { -- | Boolean that controls whether the @AppInstanceUserEndpoint@ is opted in+    -- to receive messages. @ALL@ indicates the endpoint will receive all+    -- messages. @NONE@ indicates the endpoint will receive no messages.+    allowMessages :: Prelude.Maybe AllowMessages,+    -- | The name of the @AppInstanceUserEndpoint@.+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Data.Sensitive Prelude.Text,+    -- | The unique identifier of the @AppInstanceUserEndpoint@.+    endpointId :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAppInstanceUserEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowMessages', 'updateAppInstanceUserEndpoint_allowMessages' - Boolean that controls whether the @AppInstanceUserEndpoint@ is opted in+-- to receive messages. @ALL@ indicates the endpoint will receive all+-- messages. @NONE@ indicates the endpoint will receive no messages.+--+-- 'name', 'updateAppInstanceUserEndpoint_name' - The name of the @AppInstanceUserEndpoint@.+--+-- 'appInstanceUserArn', 'updateAppInstanceUserEndpoint_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'endpointId', 'updateAppInstanceUserEndpoint_endpointId' - The unique identifier of the @AppInstanceUserEndpoint@.+newUpdateAppInstanceUserEndpoint ::+  -- | 'appInstanceUserArn'+  Prelude.Text ->+  -- | 'endpointId'+  Prelude.Text ->+  UpdateAppInstanceUserEndpoint+newUpdateAppInstanceUserEndpoint+  pAppInstanceUserArn_+  pEndpointId_ =+    UpdateAppInstanceUserEndpoint'+      { allowMessages =+          Prelude.Nothing,+        name = Prelude.Nothing,+        appInstanceUserArn =+          Data._Sensitive+            Lens.# pAppInstanceUserArn_,+        endpointId =+          Data._Sensitive Lens.# pEndpointId_+      }++-- | Boolean that controls whether the @AppInstanceUserEndpoint@ is opted in+-- to receive messages. @ALL@ indicates the endpoint will receive all+-- messages. @NONE@ indicates the endpoint will receive no messages.+updateAppInstanceUserEndpoint_allowMessages :: Lens.Lens' UpdateAppInstanceUserEndpoint (Prelude.Maybe AllowMessages)+updateAppInstanceUserEndpoint_allowMessages = Lens.lens (\UpdateAppInstanceUserEndpoint' {allowMessages} -> allowMessages) (\s@UpdateAppInstanceUserEndpoint' {} a -> s {allowMessages = a} :: UpdateAppInstanceUserEndpoint)++-- | The name of the @AppInstanceUserEndpoint@.+updateAppInstanceUserEndpoint_name :: Lens.Lens' UpdateAppInstanceUserEndpoint (Prelude.Maybe Prelude.Text)+updateAppInstanceUserEndpoint_name = Lens.lens (\UpdateAppInstanceUserEndpoint' {name} -> name) (\s@UpdateAppInstanceUserEndpoint' {} a -> s {name = a} :: UpdateAppInstanceUserEndpoint) Prelude.. Lens.mapping Data._Sensitive++-- | The ARN of the @AppInstanceUser@.+updateAppInstanceUserEndpoint_appInstanceUserArn :: Lens.Lens' UpdateAppInstanceUserEndpoint Prelude.Text+updateAppInstanceUserEndpoint_appInstanceUserArn = Lens.lens (\UpdateAppInstanceUserEndpoint' {appInstanceUserArn} -> appInstanceUserArn) (\s@UpdateAppInstanceUserEndpoint' {} a -> s {appInstanceUserArn = a} :: UpdateAppInstanceUserEndpoint) Prelude.. Data._Sensitive++-- | The unique identifier of the @AppInstanceUserEndpoint@.+updateAppInstanceUserEndpoint_endpointId :: Lens.Lens' UpdateAppInstanceUserEndpoint Prelude.Text+updateAppInstanceUserEndpoint_endpointId = Lens.lens (\UpdateAppInstanceUserEndpoint' {endpointId} -> endpointId) (\s@UpdateAppInstanceUserEndpoint' {} a -> s {endpointId = a} :: UpdateAppInstanceUserEndpoint) Prelude.. Data._Sensitive++instance+  Core.AWSRequest+    UpdateAppInstanceUserEndpoint+  where+  type+    AWSResponse UpdateAppInstanceUserEndpoint =+      UpdateAppInstanceUserEndpointResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateAppInstanceUserEndpointResponse'+            Prelude.<$> (x Data..?> "AppInstanceUserArn")+            Prelude.<*> (x Data..?> "EndpointId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateAppInstanceUserEndpoint+  where+  hashWithSalt _salt UpdateAppInstanceUserEndpoint' {..} =+    _salt+      `Prelude.hashWithSalt` allowMessages+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` appInstanceUserArn+      `Prelude.hashWithSalt` endpointId++instance Prelude.NFData UpdateAppInstanceUserEndpoint where+  rnf UpdateAppInstanceUserEndpoint' {..} =+    Prelude.rnf allowMessages+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf endpointId++instance Data.ToHeaders UpdateAppInstanceUserEndpoint where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateAppInstanceUserEndpoint where+  toJSON UpdateAppInstanceUserEndpoint' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AllowMessages" Data..=) Prelude.<$> allowMessages,+            ("Name" Data..=) Prelude.<$> name+          ]+      )++instance Data.ToPath UpdateAppInstanceUserEndpoint where+  toPath UpdateAppInstanceUserEndpoint' {..} =+    Prelude.mconcat+      [ "/app-instance-users/",+        Data.toBS appInstanceUserArn,+        "/endpoints/",+        Data.toBS endpointId+      ]++instance Data.ToQuery UpdateAppInstanceUserEndpoint where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAppInstanceUserEndpointResponse' smart constructor.+data UpdateAppInstanceUserEndpointResponse = UpdateAppInstanceUserEndpointResponse'+  { -- | The ARN of the @AppInstanceUser@.+    appInstanceUserArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The unique identifier of the @AppInstanceUserEndpoint@.+    endpointId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAppInstanceUserEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appInstanceUserArn', 'updateAppInstanceUserEndpointResponse_appInstanceUserArn' - The ARN of the @AppInstanceUser@.+--+-- 'endpointId', 'updateAppInstanceUserEndpointResponse_endpointId' - The unique identifier of the @AppInstanceUserEndpoint@.+--+-- 'httpStatus', 'updateAppInstanceUserEndpointResponse_httpStatus' - The response's http status code.+newUpdateAppInstanceUserEndpointResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateAppInstanceUserEndpointResponse+newUpdateAppInstanceUserEndpointResponse pHttpStatus_ =+  UpdateAppInstanceUserEndpointResponse'+    { appInstanceUserArn =+        Prelude.Nothing,+      endpointId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ARN of the @AppInstanceUser@.+updateAppInstanceUserEndpointResponse_appInstanceUserArn :: Lens.Lens' UpdateAppInstanceUserEndpointResponse (Prelude.Maybe Prelude.Text)+updateAppInstanceUserEndpointResponse_appInstanceUserArn = Lens.lens (\UpdateAppInstanceUserEndpointResponse' {appInstanceUserArn} -> appInstanceUserArn) (\s@UpdateAppInstanceUserEndpointResponse' {} a -> s {appInstanceUserArn = a} :: UpdateAppInstanceUserEndpointResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The unique identifier of the @AppInstanceUserEndpoint@.+updateAppInstanceUserEndpointResponse_endpointId :: Lens.Lens' UpdateAppInstanceUserEndpointResponse (Prelude.Maybe Prelude.Text)+updateAppInstanceUserEndpointResponse_endpointId = Lens.lens (\UpdateAppInstanceUserEndpointResponse' {endpointId} -> endpointId) (\s@UpdateAppInstanceUserEndpointResponse' {} a -> s {endpointId = a} :: UpdateAppInstanceUserEndpointResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+updateAppInstanceUserEndpointResponse_httpStatus :: Lens.Lens' UpdateAppInstanceUserEndpointResponse Prelude.Int+updateAppInstanceUserEndpointResponse_httpStatus = Lens.lens (\UpdateAppInstanceUserEndpointResponse' {httpStatus} -> httpStatus) (\s@UpdateAppInstanceUserEndpointResponse' {} a -> s {httpStatus = a} :: UpdateAppInstanceUserEndpointResponse)++instance+  Prelude.NFData+    UpdateAppInstanceUserEndpointResponse+  where+  rnf UpdateAppInstanceUserEndpointResponse' {..} =+    Prelude.rnf appInstanceUserArn+      `Prelude.seq` Prelude.rnf endpointId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSDKIdentity/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.ChimeSDKIdentity.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.ChimeSDKIdentity.Waiters where++import Amazonka.ChimeSDKIdentity.Lens+import Amazonka.ChimeSDKIdentity.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.ChimeSDKIdentity+import Test.Amazonka.ChimeSDKIdentity.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "ChimeSDKIdentity"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/ChimeSDKIdentity.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.ChimeSDKIdentity+-- 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.ChimeSDKIdentity+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/ChimeSDKIdentity/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.ChimeSDKIdentity.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.ChimeSDKIdentity.Internal where
+ test/Test/Amazonka/Gen/ChimeSDKIdentity.hs view
@@ -0,0 +1,518 @@+{-# 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.ChimeSDKIdentity+-- 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.ChimeSDKIdentity where++import Amazonka.ChimeSDKIdentity+import qualified Data.Proxy as Proxy+import Test.Amazonka.ChimeSDKIdentity.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"+--         [ requestCreateAppInstance $+--             newCreateAppInstance+--+--         , requestCreateAppInstanceAdmin $+--             newCreateAppInstanceAdmin+--+--         , requestCreateAppInstanceUser $+--             newCreateAppInstanceUser+--+--         , requestDeleteAppInstance $+--             newDeleteAppInstance+--+--         , requestDeleteAppInstanceAdmin $+--             newDeleteAppInstanceAdmin+--+--         , requestDeleteAppInstanceUser $+--             newDeleteAppInstanceUser+--+--         , requestDeregisterAppInstanceUserEndpoint $+--             newDeregisterAppInstanceUserEndpoint+--+--         , requestDescribeAppInstance $+--             newDescribeAppInstance+--+--         , requestDescribeAppInstanceAdmin $+--             newDescribeAppInstanceAdmin+--+--         , requestDescribeAppInstanceUser $+--             newDescribeAppInstanceUser+--+--         , requestDescribeAppInstanceUserEndpoint $+--             newDescribeAppInstanceUserEndpoint+--+--         , requestGetAppInstanceRetentionSettings $+--             newGetAppInstanceRetentionSettings+--+--         , requestListAppInstanceAdmins $+--             newListAppInstanceAdmins+--+--         , requestListAppInstanceUserEndpoints $+--             newListAppInstanceUserEndpoints+--+--         , requestListAppInstanceUsers $+--             newListAppInstanceUsers+--+--         , requestListAppInstances $+--             newListAppInstances+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestPutAppInstanceRetentionSettings $+--             newPutAppInstanceRetentionSettings+--+--         , requestRegisterAppInstanceUserEndpoint $+--             newRegisterAppInstanceUserEndpoint+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateAppInstance $+--             newUpdateAppInstance+--+--         , requestUpdateAppInstanceUser $+--             newUpdateAppInstanceUser+--+--         , requestUpdateAppInstanceUserEndpoint $+--             newUpdateAppInstanceUserEndpoint+--+--           ]++--     , testGroup "response"+--         [ responseCreateAppInstance $+--             newCreateAppInstanceResponse+--+--         , responseCreateAppInstanceAdmin $+--             newCreateAppInstanceAdminResponse+--+--         , responseCreateAppInstanceUser $+--             newCreateAppInstanceUserResponse+--+--         , responseDeleteAppInstance $+--             newDeleteAppInstanceResponse+--+--         , responseDeleteAppInstanceAdmin $+--             newDeleteAppInstanceAdminResponse+--+--         , responseDeleteAppInstanceUser $+--             newDeleteAppInstanceUserResponse+--+--         , responseDeregisterAppInstanceUserEndpoint $+--             newDeregisterAppInstanceUserEndpointResponse+--+--         , responseDescribeAppInstance $+--             newDescribeAppInstanceResponse+--+--         , responseDescribeAppInstanceAdmin $+--             newDescribeAppInstanceAdminResponse+--+--         , responseDescribeAppInstanceUser $+--             newDescribeAppInstanceUserResponse+--+--         , responseDescribeAppInstanceUserEndpoint $+--             newDescribeAppInstanceUserEndpointResponse+--+--         , responseGetAppInstanceRetentionSettings $+--             newGetAppInstanceRetentionSettingsResponse+--+--         , responseListAppInstanceAdmins $+--             newListAppInstanceAdminsResponse+--+--         , responseListAppInstanceUserEndpoints $+--             newListAppInstanceUserEndpointsResponse+--+--         , responseListAppInstanceUsers $+--             newListAppInstanceUsersResponse+--+--         , responseListAppInstances $+--             newListAppInstancesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responsePutAppInstanceRetentionSettings $+--             newPutAppInstanceRetentionSettingsResponse+--+--         , responseRegisterAppInstanceUserEndpoint $+--             newRegisterAppInstanceUserEndpointResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateAppInstance $+--             newUpdateAppInstanceResponse+--+--         , responseUpdateAppInstanceUser $+--             newUpdateAppInstanceUserResponse+--+--         , responseUpdateAppInstanceUserEndpoint $+--             newUpdateAppInstanceUserEndpointResponse+--+--           ]+--     ]++-- Requests++requestCreateAppInstance :: CreateAppInstance -> TestTree+requestCreateAppInstance =+  req+    "CreateAppInstance"+    "fixture/CreateAppInstance.yaml"++requestCreateAppInstanceAdmin :: CreateAppInstanceAdmin -> TestTree+requestCreateAppInstanceAdmin =+  req+    "CreateAppInstanceAdmin"+    "fixture/CreateAppInstanceAdmin.yaml"++requestCreateAppInstanceUser :: CreateAppInstanceUser -> TestTree+requestCreateAppInstanceUser =+  req+    "CreateAppInstanceUser"+    "fixture/CreateAppInstanceUser.yaml"++requestDeleteAppInstance :: DeleteAppInstance -> TestTree+requestDeleteAppInstance =+  req+    "DeleteAppInstance"+    "fixture/DeleteAppInstance.yaml"++requestDeleteAppInstanceAdmin :: DeleteAppInstanceAdmin -> TestTree+requestDeleteAppInstanceAdmin =+  req+    "DeleteAppInstanceAdmin"+    "fixture/DeleteAppInstanceAdmin.yaml"++requestDeleteAppInstanceUser :: DeleteAppInstanceUser -> TestTree+requestDeleteAppInstanceUser =+  req+    "DeleteAppInstanceUser"+    "fixture/DeleteAppInstanceUser.yaml"++requestDeregisterAppInstanceUserEndpoint :: DeregisterAppInstanceUserEndpoint -> TestTree+requestDeregisterAppInstanceUserEndpoint =+  req+    "DeregisterAppInstanceUserEndpoint"+    "fixture/DeregisterAppInstanceUserEndpoint.yaml"++requestDescribeAppInstance :: DescribeAppInstance -> TestTree+requestDescribeAppInstance =+  req+    "DescribeAppInstance"+    "fixture/DescribeAppInstance.yaml"++requestDescribeAppInstanceAdmin :: DescribeAppInstanceAdmin -> TestTree+requestDescribeAppInstanceAdmin =+  req+    "DescribeAppInstanceAdmin"+    "fixture/DescribeAppInstanceAdmin.yaml"++requestDescribeAppInstanceUser :: DescribeAppInstanceUser -> TestTree+requestDescribeAppInstanceUser =+  req+    "DescribeAppInstanceUser"+    "fixture/DescribeAppInstanceUser.yaml"++requestDescribeAppInstanceUserEndpoint :: DescribeAppInstanceUserEndpoint -> TestTree+requestDescribeAppInstanceUserEndpoint =+  req+    "DescribeAppInstanceUserEndpoint"+    "fixture/DescribeAppInstanceUserEndpoint.yaml"++requestGetAppInstanceRetentionSettings :: GetAppInstanceRetentionSettings -> TestTree+requestGetAppInstanceRetentionSettings =+  req+    "GetAppInstanceRetentionSettings"+    "fixture/GetAppInstanceRetentionSettings.yaml"++requestListAppInstanceAdmins :: ListAppInstanceAdmins -> TestTree+requestListAppInstanceAdmins =+  req+    "ListAppInstanceAdmins"+    "fixture/ListAppInstanceAdmins.yaml"++requestListAppInstanceUserEndpoints :: ListAppInstanceUserEndpoints -> TestTree+requestListAppInstanceUserEndpoints =+  req+    "ListAppInstanceUserEndpoints"+    "fixture/ListAppInstanceUserEndpoints.yaml"++requestListAppInstanceUsers :: ListAppInstanceUsers -> TestTree+requestListAppInstanceUsers =+  req+    "ListAppInstanceUsers"+    "fixture/ListAppInstanceUsers.yaml"++requestListAppInstances :: ListAppInstances -> TestTree+requestListAppInstances =+  req+    "ListAppInstances"+    "fixture/ListAppInstances.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestPutAppInstanceRetentionSettings :: PutAppInstanceRetentionSettings -> TestTree+requestPutAppInstanceRetentionSettings =+  req+    "PutAppInstanceRetentionSettings"+    "fixture/PutAppInstanceRetentionSettings.yaml"++requestRegisterAppInstanceUserEndpoint :: RegisterAppInstanceUserEndpoint -> TestTree+requestRegisterAppInstanceUserEndpoint =+  req+    "RegisterAppInstanceUserEndpoint"+    "fixture/RegisterAppInstanceUserEndpoint.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateAppInstance :: UpdateAppInstance -> TestTree+requestUpdateAppInstance =+  req+    "UpdateAppInstance"+    "fixture/UpdateAppInstance.yaml"++requestUpdateAppInstanceUser :: UpdateAppInstanceUser -> TestTree+requestUpdateAppInstanceUser =+  req+    "UpdateAppInstanceUser"+    "fixture/UpdateAppInstanceUser.yaml"++requestUpdateAppInstanceUserEndpoint :: UpdateAppInstanceUserEndpoint -> TestTree+requestUpdateAppInstanceUserEndpoint =+  req+    "UpdateAppInstanceUserEndpoint"+    "fixture/UpdateAppInstanceUserEndpoint.yaml"++-- Responses++responseCreateAppInstance :: CreateAppInstanceResponse -> TestTree+responseCreateAppInstance =+  res+    "CreateAppInstanceResponse"+    "fixture/CreateAppInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAppInstance)++responseCreateAppInstanceAdmin :: CreateAppInstanceAdminResponse -> TestTree+responseCreateAppInstanceAdmin =+  res+    "CreateAppInstanceAdminResponse"+    "fixture/CreateAppInstanceAdminResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAppInstanceAdmin)++responseCreateAppInstanceUser :: CreateAppInstanceUserResponse -> TestTree+responseCreateAppInstanceUser =+  res+    "CreateAppInstanceUserResponse"+    "fixture/CreateAppInstanceUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAppInstanceUser)++responseDeleteAppInstance :: DeleteAppInstanceResponse -> TestTree+responseDeleteAppInstance =+  res+    "DeleteAppInstanceResponse"+    "fixture/DeleteAppInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAppInstance)++responseDeleteAppInstanceAdmin :: DeleteAppInstanceAdminResponse -> TestTree+responseDeleteAppInstanceAdmin =+  res+    "DeleteAppInstanceAdminResponse"+    "fixture/DeleteAppInstanceAdminResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAppInstanceAdmin)++responseDeleteAppInstanceUser :: DeleteAppInstanceUserResponse -> TestTree+responseDeleteAppInstanceUser =+  res+    "DeleteAppInstanceUserResponse"+    "fixture/DeleteAppInstanceUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAppInstanceUser)++responseDeregisterAppInstanceUserEndpoint :: DeregisterAppInstanceUserEndpointResponse -> TestTree+responseDeregisterAppInstanceUserEndpoint =+  res+    "DeregisterAppInstanceUserEndpointResponse"+    "fixture/DeregisterAppInstanceUserEndpointResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeregisterAppInstanceUserEndpoint)++responseDescribeAppInstance :: DescribeAppInstanceResponse -> TestTree+responseDescribeAppInstance =+  res+    "DescribeAppInstanceResponse"+    "fixture/DescribeAppInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAppInstance)++responseDescribeAppInstanceAdmin :: DescribeAppInstanceAdminResponse -> TestTree+responseDescribeAppInstanceAdmin =+  res+    "DescribeAppInstanceAdminResponse"+    "fixture/DescribeAppInstanceAdminResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAppInstanceAdmin)++responseDescribeAppInstanceUser :: DescribeAppInstanceUserResponse -> TestTree+responseDescribeAppInstanceUser =+  res+    "DescribeAppInstanceUserResponse"+    "fixture/DescribeAppInstanceUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAppInstanceUser)++responseDescribeAppInstanceUserEndpoint :: DescribeAppInstanceUserEndpointResponse -> TestTree+responseDescribeAppInstanceUserEndpoint =+  res+    "DescribeAppInstanceUserEndpointResponse"+    "fixture/DescribeAppInstanceUserEndpointResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAppInstanceUserEndpoint)++responseGetAppInstanceRetentionSettings :: GetAppInstanceRetentionSettingsResponse -> TestTree+responseGetAppInstanceRetentionSettings =+  res+    "GetAppInstanceRetentionSettingsResponse"+    "fixture/GetAppInstanceRetentionSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAppInstanceRetentionSettings)++responseListAppInstanceAdmins :: ListAppInstanceAdminsResponse -> TestTree+responseListAppInstanceAdmins =+  res+    "ListAppInstanceAdminsResponse"+    "fixture/ListAppInstanceAdminsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAppInstanceAdmins)++responseListAppInstanceUserEndpoints :: ListAppInstanceUserEndpointsResponse -> TestTree+responseListAppInstanceUserEndpoints =+  res+    "ListAppInstanceUserEndpointsResponse"+    "fixture/ListAppInstanceUserEndpointsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAppInstanceUserEndpoints)++responseListAppInstanceUsers :: ListAppInstanceUsersResponse -> TestTree+responseListAppInstanceUsers =+  res+    "ListAppInstanceUsersResponse"+    "fixture/ListAppInstanceUsersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAppInstanceUsers)++responseListAppInstances :: ListAppInstancesResponse -> TestTree+responseListAppInstances =+  res+    "ListAppInstancesResponse"+    "fixture/ListAppInstancesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAppInstances)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePutAppInstanceRetentionSettings :: PutAppInstanceRetentionSettingsResponse -> TestTree+responsePutAppInstanceRetentionSettings =+  res+    "PutAppInstanceRetentionSettingsResponse"+    "fixture/PutAppInstanceRetentionSettingsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutAppInstanceRetentionSettings)++responseRegisterAppInstanceUserEndpoint :: RegisterAppInstanceUserEndpointResponse -> TestTree+responseRegisterAppInstanceUserEndpoint =+  res+    "RegisterAppInstanceUserEndpointResponse"+    "fixture/RegisterAppInstanceUserEndpointResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RegisterAppInstanceUserEndpoint)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateAppInstance :: UpdateAppInstanceResponse -> TestTree+responseUpdateAppInstance =+  res+    "UpdateAppInstanceResponse"+    "fixture/UpdateAppInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAppInstance)++responseUpdateAppInstanceUser :: UpdateAppInstanceUserResponse -> TestTree+responseUpdateAppInstanceUser =+  res+    "UpdateAppInstanceUserResponse"+    "fixture/UpdateAppInstanceUserResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAppInstanceUser)++responseUpdateAppInstanceUserEndpoint :: UpdateAppInstanceUserEndpointResponse -> TestTree+responseUpdateAppInstanceUserEndpoint =+  res+    "UpdateAppInstanceUserEndpointResponse"+    "fixture/UpdateAppInstanceUserEndpointResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateAppInstanceUserEndpoint)