amazonka-identitystore (empty) → 2.0
raw patch · 84 files changed
+8632/−0 lines, 84 filesdep +amazonka-coredep +amazonka-identitystoredep +amazonka-test
Dependencies added: amazonka-core, amazonka-identitystore, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-identitystore.cabal +117/−0
- fixture/CreateGroup.yaml +10/−0
- fixture/CreateGroupMembership.yaml +10/−0
- fixture/CreateGroupMembershipResponse.proto +0/−0
- fixture/CreateGroupResponse.proto +0/−0
- fixture/CreateUser.yaml +10/−0
- fixture/CreateUserResponse.proto +0/−0
- fixture/DeleteGroup.yaml +10/−0
- fixture/DeleteGroupMembership.yaml +10/−0
- fixture/DeleteGroupMembershipResponse.proto +0/−0
- fixture/DeleteGroupResponse.proto +0/−0
- fixture/DeleteUser.yaml +10/−0
- fixture/DeleteUserResponse.proto +0/−0
- fixture/DescribeGroup.yaml +10/−0
- fixture/DescribeGroupMembership.yaml +10/−0
- fixture/DescribeGroupMembershipResponse.proto +0/−0
- fixture/DescribeGroupResponse.proto +0/−0
- fixture/DescribeUser.yaml +10/−0
- fixture/DescribeUserResponse.proto +0/−0
- fixture/GetGroupId.yaml +10/−0
- fixture/GetGroupIdResponse.proto +0/−0
- fixture/GetGroupMembershipId.yaml +10/−0
- fixture/GetGroupMembershipIdResponse.proto +0/−0
- fixture/GetUserId.yaml +10/−0
- fixture/GetUserIdResponse.proto +0/−0
- fixture/IsMemberInGroups.yaml +10/−0
- fixture/IsMemberInGroupsResponse.proto +0/−0
- fixture/ListGroupMemberships.yaml +10/−0
- fixture/ListGroupMembershipsForMember.yaml +10/−0
- fixture/ListGroupMembershipsForMemberResponse.proto +0/−0
- fixture/ListGroupMembershipsResponse.proto +0/−0
- fixture/ListGroups.yaml +10/−0
- fixture/ListGroupsResponse.proto +0/−0
- fixture/ListUsers.yaml +10/−0
- fixture/ListUsersResponse.proto +0/−0
- fixture/UpdateGroup.yaml +10/−0
- fixture/UpdateGroupResponse.proto +0/−0
- fixture/UpdateUser.yaml +10/−0
- fixture/UpdateUserResponse.proto +0/−0
- gen/Amazonka/IdentityStore.hs +280/−0
- gen/Amazonka/IdentityStore/CreateGroup.hs +219/−0
- gen/Amazonka/IdentityStore/CreateGroupMembership.hs +238/−0
- gen/Amazonka/IdentityStore/CreateUser.hs +393/−0
- gen/Amazonka/IdentityStore/DeleteGroup.hs +171/−0
- gen/Amazonka/IdentityStore/DeleteGroupMembership.hs +180/−0
- gen/Amazonka/IdentityStore/DeleteUser.hs +171/−0
- gen/Amazonka/IdentityStore/DescribeGroup.hs +275/−0
- gen/Amazonka/IdentityStore/DescribeGroupMembership.hs +244/−0
- gen/Amazonka/IdentityStore/DescribeUser.hs +401/−0
- gen/Amazonka/IdentityStore/GetGroupId.hs +215/−0
- gen/Amazonka/IdentityStore/GetGroupMembershipId.hs +233/−0
- gen/Amazonka/IdentityStore/GetUserId.hs +213/−0
- gen/Amazonka/IdentityStore/IsMemberInGroups.hs +209/−0
- gen/Amazonka/IdentityStore/Lens.hs +310/−0
- gen/Amazonka/IdentityStore/ListGroupMemberships.hs +285/−0
- gen/Amazonka/IdentityStore/ListGroupMembershipsForMember.hs +303/−0
- gen/Amazonka/IdentityStore/ListGroups.hs +289/−0
- gen/Amazonka/IdentityStore/ListUsers.hs +287/−0
- gen/Amazonka/IdentityStore/Types.hs +297/−0
- gen/Amazonka/IdentityStore/Types/Address.hs +174/−0
- gen/Amazonka/IdentityStore/Types/AlternateIdentifier.hs +89/−0
- gen/Amazonka/IdentityStore/Types/AttributeOperation.hs +96/−0
- gen/Amazonka/IdentityStore/Types/AttributeValue.hs +52/−0
- gen/Amazonka/IdentityStore/Types/Email.hs +112/−0
- gen/Amazonka/IdentityStore/Types/ExternalId.hs +97/−0
- gen/Amazonka/IdentityStore/Types/Filter.hs +104/−0
- gen/Amazonka/IdentityStore/Types/Group.hs +144/−0
- gen/Amazonka/IdentityStore/Types/GroupMembership.hs +118/−0
- gen/Amazonka/IdentityStore/Types/GroupMembershipExistenceResult.hs +113/−0
- gen/Amazonka/IdentityStore/Types/MemberId.hs +71/−0
- gen/Amazonka/IdentityStore/Types/Name.hs +147/−0
- gen/Amazonka/IdentityStore/Types/PhoneNumber.hs +115/−0
- gen/Amazonka/IdentityStore/Types/UniqueAttribute.hs +96/−0
- gen/Amazonka/IdentityStore/Types/User.hs +297/−0
- gen/Amazonka/IdentityStore/UpdateGroup.hs +193/−0
- gen/Amazonka/IdentityStore/UpdateUser.hs +190/−0
- gen/Amazonka/IdentityStore/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/IdentityStore.hs +418/−0
- test/Test/Amazonka/IdentityStore.hs +20/−0
- test/Test/Amazonka/IdentityStore/Internal.hs +8/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon SSO Identity Store SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-06-15@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-identitystore)+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.IdentityStore](http://hackage.haskell.org/package/amazonka-identitystore/docs/Amazonka-IdentityStore.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-identitystore` 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-identitystore.cabal view
@@ -0,0 +1,117 @@+cabal-version: 2.2+name: amazonka-identitystore+version: 2.0+synopsis: Amazon SSO Identity Store SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2020-06-15@ 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.IdentityStore.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.IdentityStore" 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-identitystore++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.IdentityStore+ Amazonka.IdentityStore.CreateGroup+ Amazonka.IdentityStore.CreateGroupMembership+ Amazonka.IdentityStore.CreateUser+ Amazonka.IdentityStore.DeleteGroup+ Amazonka.IdentityStore.DeleteGroupMembership+ Amazonka.IdentityStore.DeleteUser+ Amazonka.IdentityStore.DescribeGroup+ Amazonka.IdentityStore.DescribeGroupMembership+ Amazonka.IdentityStore.DescribeUser+ Amazonka.IdentityStore.GetGroupId+ Amazonka.IdentityStore.GetGroupMembershipId+ Amazonka.IdentityStore.GetUserId+ Amazonka.IdentityStore.IsMemberInGroups+ Amazonka.IdentityStore.Lens+ Amazonka.IdentityStore.ListGroupMemberships+ Amazonka.IdentityStore.ListGroupMembershipsForMember+ Amazonka.IdentityStore.ListGroups+ Amazonka.IdentityStore.ListUsers+ Amazonka.IdentityStore.Types+ Amazonka.IdentityStore.Types.Address+ Amazonka.IdentityStore.Types.AlternateIdentifier+ Amazonka.IdentityStore.Types.AttributeOperation+ Amazonka.IdentityStore.Types.AttributeValue+ Amazonka.IdentityStore.Types.Email+ Amazonka.IdentityStore.Types.ExternalId+ Amazonka.IdentityStore.Types.Filter+ Amazonka.IdentityStore.Types.Group+ Amazonka.IdentityStore.Types.GroupMembership+ Amazonka.IdentityStore.Types.GroupMembershipExistenceResult+ Amazonka.IdentityStore.Types.MemberId+ Amazonka.IdentityStore.Types.Name+ Amazonka.IdentityStore.Types.PhoneNumber+ Amazonka.IdentityStore.Types.UniqueAttribute+ Amazonka.IdentityStore.Types.User+ Amazonka.IdentityStore.UpdateGroup+ Amazonka.IdentityStore.UpdateUser+ Amazonka.IdentityStore.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-identitystore-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded++ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.Gen.IdentityStore+ Test.Amazonka.IdentityStore+ Test.Amazonka.IdentityStore.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-identitystore+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/CreateGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/CreateGroupMembership.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/CreateGroupMembershipResponse.proto view
+ fixture/CreateGroupResponse.proto view
+ fixture/CreateUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/CreateUserResponse.proto view
+ fixture/DeleteGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/DeleteGroupMembership.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/DeleteGroupMembershipResponse.proto view
+ fixture/DeleteGroupResponse.proto view
+ fixture/DeleteUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/DeleteUserResponse.proto view
+ fixture/DescribeGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/DescribeGroupMembership.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/DescribeGroupMembershipResponse.proto view
+ fixture/DescribeGroupResponse.proto view
+ fixture/DescribeUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/DescribeUserResponse.proto view
+ fixture/GetGroupId.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/GetGroupIdResponse.proto view
+ fixture/GetGroupMembershipId.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/GetGroupMembershipIdResponse.proto view
+ fixture/GetUserId.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/GetUserIdResponse.proto view
+ fixture/IsMemberInGroups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/IsMemberInGroupsResponse.proto view
+ fixture/ListGroupMemberships.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/ListGroupMembershipsForMember.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/ListGroupMembershipsForMemberResponse.proto view
+ fixture/ListGroupMembershipsResponse.proto view
+ fixture/ListGroups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/ListGroupsResponse.proto view
+ fixture/ListUsers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/ListUsersResponse.proto view
+ fixture/UpdateGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/UpdateGroupResponse.proto view
+ fixture/UpdateUser.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/identitystore/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: identitystore.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/UpdateUserResponse.proto view
+ gen/Amazonka/IdentityStore.hs view
@@ -0,0 +1,280 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.IdentityStore+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2020-06-15@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- The Identity Store service used by AWS IAM Identity Center (successor to+-- AWS Single Sign-On) provides a single place to retrieve all of your+-- identities (users and groups). For more information, see the+-- <https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html IAM Identity Center User Guide>.+--+-- > <note> <p>Although AWS Single Sign-On was renamed, the <code>sso</code> and <code>identitystore</code> API namespaces will continue to retain their original name for backward compatibility purposes. For more information, see <a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed">IAM Identity Center rename</a>.</p> </note> <p>This reference guide describes the identity store operations that you can call programatically and includes detailed information on data types and errors.</p>+module Amazonka.IdentityStore+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CreateGroup+ CreateGroup (CreateGroup'),+ newCreateGroup,+ CreateGroupResponse (CreateGroupResponse'),+ newCreateGroupResponse,++ -- ** CreateGroupMembership+ CreateGroupMembership (CreateGroupMembership'),+ newCreateGroupMembership,+ CreateGroupMembershipResponse (CreateGroupMembershipResponse'),+ newCreateGroupMembershipResponse,++ -- ** CreateUser+ CreateUser (CreateUser'),+ newCreateUser,+ CreateUserResponse (CreateUserResponse'),+ newCreateUserResponse,++ -- ** DeleteGroup+ DeleteGroup (DeleteGroup'),+ newDeleteGroup,+ DeleteGroupResponse (DeleteGroupResponse'),+ newDeleteGroupResponse,++ -- ** DeleteGroupMembership+ DeleteGroupMembership (DeleteGroupMembership'),+ newDeleteGroupMembership,+ DeleteGroupMembershipResponse (DeleteGroupMembershipResponse'),+ newDeleteGroupMembershipResponse,++ -- ** DeleteUser+ DeleteUser (DeleteUser'),+ newDeleteUser,+ DeleteUserResponse (DeleteUserResponse'),+ newDeleteUserResponse,++ -- ** DescribeGroup+ DescribeGroup (DescribeGroup'),+ newDescribeGroup,+ DescribeGroupResponse (DescribeGroupResponse'),+ newDescribeGroupResponse,++ -- ** DescribeGroupMembership+ DescribeGroupMembership (DescribeGroupMembership'),+ newDescribeGroupMembership,+ DescribeGroupMembershipResponse (DescribeGroupMembershipResponse'),+ newDescribeGroupMembershipResponse,++ -- ** DescribeUser+ DescribeUser (DescribeUser'),+ newDescribeUser,+ DescribeUserResponse (DescribeUserResponse'),+ newDescribeUserResponse,++ -- ** GetGroupId+ GetGroupId (GetGroupId'),+ newGetGroupId,+ GetGroupIdResponse (GetGroupIdResponse'),+ newGetGroupIdResponse,++ -- ** GetGroupMembershipId+ GetGroupMembershipId (GetGroupMembershipId'),+ newGetGroupMembershipId,+ GetGroupMembershipIdResponse (GetGroupMembershipIdResponse'),+ newGetGroupMembershipIdResponse,++ -- ** GetUserId+ GetUserId (GetUserId'),+ newGetUserId,+ GetUserIdResponse (GetUserIdResponse'),+ newGetUserIdResponse,++ -- ** IsMemberInGroups+ IsMemberInGroups (IsMemberInGroups'),+ newIsMemberInGroups,+ IsMemberInGroupsResponse (IsMemberInGroupsResponse'),+ newIsMemberInGroupsResponse,++ -- ** ListGroupMemberships (Paginated)+ ListGroupMemberships (ListGroupMemberships'),+ newListGroupMemberships,+ ListGroupMembershipsResponse (ListGroupMembershipsResponse'),+ newListGroupMembershipsResponse,++ -- ** ListGroupMembershipsForMember (Paginated)+ ListGroupMembershipsForMember (ListGroupMembershipsForMember'),+ newListGroupMembershipsForMember,+ ListGroupMembershipsForMemberResponse (ListGroupMembershipsForMemberResponse'),+ newListGroupMembershipsForMemberResponse,++ -- ** ListGroups (Paginated)+ ListGroups (ListGroups'),+ newListGroups,+ ListGroupsResponse (ListGroupsResponse'),+ newListGroupsResponse,++ -- ** ListUsers (Paginated)+ ListUsers (ListUsers'),+ newListUsers,+ ListUsersResponse (ListUsersResponse'),+ newListUsersResponse,++ -- ** UpdateGroup+ UpdateGroup (UpdateGroup'),+ newUpdateGroup,+ UpdateGroupResponse (UpdateGroupResponse'),+ newUpdateGroupResponse,++ -- ** UpdateUser+ UpdateUser (UpdateUser'),+ newUpdateUser,+ UpdateUserResponse (UpdateUserResponse'),+ newUpdateUserResponse,++ -- * Types++ -- ** Address+ Address (Address'),+ newAddress,++ -- ** AlternateIdentifier+ AlternateIdentifier (AlternateIdentifier'),+ newAlternateIdentifier,++ -- ** AttributeOperation+ AttributeOperation (AttributeOperation'),+ newAttributeOperation,++ -- ** AttributeValue+ AttributeValue (AttributeValue'),+ newAttributeValue,++ -- ** Email+ Email (Email'),+ newEmail,++ -- ** ExternalId+ ExternalId (ExternalId'),+ newExternalId,++ -- ** Filter+ Filter (Filter'),+ newFilter,++ -- ** Group+ Group (Group'),+ newGroup,++ -- ** GroupMembership+ GroupMembership (GroupMembership'),+ newGroupMembership,++ -- ** GroupMembershipExistenceResult+ GroupMembershipExistenceResult (GroupMembershipExistenceResult'),+ newGroupMembershipExistenceResult,++ -- ** MemberId+ MemberId (MemberId'),+ newMemberId,++ -- ** Name+ Name (Name'),+ newName,++ -- ** PhoneNumber+ PhoneNumber (PhoneNumber'),+ newPhoneNumber,++ -- ** UniqueAttribute+ UniqueAttribute (UniqueAttribute'),+ newUniqueAttribute,++ -- ** User+ User (User'),+ newUser,+ )+where++import Amazonka.IdentityStore.CreateGroup+import Amazonka.IdentityStore.CreateGroupMembership+import Amazonka.IdentityStore.CreateUser+import Amazonka.IdentityStore.DeleteGroup+import Amazonka.IdentityStore.DeleteGroupMembership+import Amazonka.IdentityStore.DeleteUser+import Amazonka.IdentityStore.DescribeGroup+import Amazonka.IdentityStore.DescribeGroupMembership+import Amazonka.IdentityStore.DescribeUser+import Amazonka.IdentityStore.GetGroupId+import Amazonka.IdentityStore.GetGroupMembershipId+import Amazonka.IdentityStore.GetUserId+import Amazonka.IdentityStore.IsMemberInGroups+import Amazonka.IdentityStore.Lens+import Amazonka.IdentityStore.ListGroupMemberships+import Amazonka.IdentityStore.ListGroupMembershipsForMember+import Amazonka.IdentityStore.ListGroups+import Amazonka.IdentityStore.ListUsers+import Amazonka.IdentityStore.Types+import Amazonka.IdentityStore.UpdateGroup+import Amazonka.IdentityStore.UpdateUser+import Amazonka.IdentityStore.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 'IdentityStore'.++-- $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/IdentityStore/CreateGroup.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.CreateGroup+-- 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 group within the specified identity store.+module Amazonka.IdentityStore.CreateGroup+ ( -- * Creating a Request+ CreateGroup (..),+ newCreateGroup,++ -- * Request Lenses+ createGroup_description,+ createGroup_displayName,+ createGroup_identityStoreId,++ -- * Destructuring the Response+ CreateGroupResponse (..),+ newCreateGroupResponse,++ -- * Response Lenses+ createGroupResponse_httpStatus,+ createGroupResponse_groupId,+ createGroupResponse_identityStoreId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateGroup' smart constructor.+data CreateGroup = CreateGroup'+ { -- | A string containing the description of the group.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string containing the name of the group. This value is commonly+ -- displayed when the group is referenced.+ displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createGroup_description' - A string containing the description of the group.+--+-- 'displayName', 'createGroup_displayName' - A string containing the name of the group. This value is commonly+-- displayed when the group is referenced.+--+-- 'identityStoreId', 'createGroup_identityStoreId' - The globally unique identifier for the identity store.+newCreateGroup ::+ -- | 'identityStoreId'+ Prelude.Text ->+ CreateGroup+newCreateGroup pIdentityStoreId_ =+ CreateGroup'+ { description = Prelude.Nothing,+ displayName = Prelude.Nothing,+ identityStoreId = pIdentityStoreId_+ }++-- | A string containing the description of the group.+createGroup_description :: Lens.Lens' CreateGroup (Prelude.Maybe Prelude.Text)+createGroup_description = Lens.lens (\CreateGroup' {description} -> description) (\s@CreateGroup' {} a -> s {description = a} :: CreateGroup) Prelude.. Lens.mapping Data._Sensitive++-- | A string containing the name of the group. This value is commonly+-- displayed when the group is referenced.+createGroup_displayName :: Lens.Lens' CreateGroup (Prelude.Maybe Prelude.Text)+createGroup_displayName = Lens.lens (\CreateGroup' {displayName} -> displayName) (\s@CreateGroup' {} a -> s {displayName = a} :: CreateGroup) Prelude.. Lens.mapping Data._Sensitive++-- | The globally unique identifier for the identity store.+createGroup_identityStoreId :: Lens.Lens' CreateGroup Prelude.Text+createGroup_identityStoreId = Lens.lens (\CreateGroup' {identityStoreId} -> identityStoreId) (\s@CreateGroup' {} a -> s {identityStoreId = a} :: CreateGroup)++instance Core.AWSRequest CreateGroup where+ type AWSResponse CreateGroup = CreateGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateGroupResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "GroupId")+ Prelude.<*> (x Data..:> "IdentityStoreId")+ )++instance Prelude.Hashable CreateGroup where+ hashWithSalt _salt CreateGroup' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` displayName+ `Prelude.hashWithSalt` identityStoreId++instance Prelude.NFData CreateGroup where+ rnf CreateGroup' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf displayName+ `Prelude.seq` Prelude.rnf identityStoreId++instance Data.ToHeaders CreateGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.CreateGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateGroup where+ toJSON CreateGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("DisplayName" Data..=) Prelude.<$> displayName,+ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId)+ ]+ )++instance Data.ToPath CreateGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateGroupResponse' smart constructor.+data CreateGroupResponse = CreateGroupResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The identifier of the newly created group in the identity store.+ groupId :: Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createGroupResponse_httpStatus' - The response's http status code.+--+-- 'groupId', 'createGroupResponse_groupId' - The identifier of the newly created group in the identity store.+--+-- 'identityStoreId', 'createGroupResponse_identityStoreId' - The globally unique identifier for the identity store.+newCreateGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'groupId'+ Prelude.Text ->+ -- | 'identityStoreId'+ Prelude.Text ->+ CreateGroupResponse+newCreateGroupResponse+ pHttpStatus_+ pGroupId_+ pIdentityStoreId_ =+ CreateGroupResponse'+ { httpStatus = pHttpStatus_,+ groupId = pGroupId_,+ identityStoreId = pIdentityStoreId_+ }++-- | The response's http status code.+createGroupResponse_httpStatus :: Lens.Lens' CreateGroupResponse Prelude.Int+createGroupResponse_httpStatus = Lens.lens (\CreateGroupResponse' {httpStatus} -> httpStatus) (\s@CreateGroupResponse' {} a -> s {httpStatus = a} :: CreateGroupResponse)++-- | The identifier of the newly created group in the identity store.+createGroupResponse_groupId :: Lens.Lens' CreateGroupResponse Prelude.Text+createGroupResponse_groupId = Lens.lens (\CreateGroupResponse' {groupId} -> groupId) (\s@CreateGroupResponse' {} a -> s {groupId = a} :: CreateGroupResponse)++-- | The globally unique identifier for the identity store.+createGroupResponse_identityStoreId :: Lens.Lens' CreateGroupResponse Prelude.Text+createGroupResponse_identityStoreId = Lens.lens (\CreateGroupResponse' {identityStoreId} -> identityStoreId) (\s@CreateGroupResponse' {} a -> s {identityStoreId = a} :: CreateGroupResponse)++instance Prelude.NFData CreateGroupResponse where+ rnf CreateGroupResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf groupId+ `Prelude.seq` Prelude.rnf identityStoreId
+ gen/Amazonka/IdentityStore/CreateGroupMembership.hs view
@@ -0,0 +1,238 @@+{-# 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.IdentityStore.CreateGroupMembership+-- 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 relationship between a member and a group. The following+-- identifiers must be specified: @GroupId@, @IdentityStoreId@, and+-- @MemberId@.+module Amazonka.IdentityStore.CreateGroupMembership+ ( -- * Creating a Request+ CreateGroupMembership (..),+ newCreateGroupMembership,++ -- * Request Lenses+ createGroupMembership_identityStoreId,+ createGroupMembership_groupId,+ createGroupMembership_memberId,++ -- * Destructuring the Response+ CreateGroupMembershipResponse (..),+ newCreateGroupMembershipResponse,++ -- * Response Lenses+ createGroupMembershipResponse_httpStatus,+ createGroupMembershipResponse_membershipId,+ createGroupMembershipResponse_identityStoreId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateGroupMembership' smart constructor.+data CreateGroupMembership = CreateGroupMembership'+ { -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | The identifier for a group in the identity store.+ groupId :: Prelude.Text,+ -- | An object that contains the identifier of a group member. Setting the+ -- @UserID@ field to the specific identifier for a user indicates that the+ -- user is a member of the group.+ memberId :: MemberId+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGroupMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'createGroupMembership_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'groupId', 'createGroupMembership_groupId' - The identifier for a group in the identity store.+--+-- 'memberId', 'createGroupMembership_memberId' - An object that contains the identifier of a group member. Setting the+-- @UserID@ field to the specific identifier for a user indicates that the+-- user is a member of the group.+newCreateGroupMembership ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'groupId'+ Prelude.Text ->+ -- | 'memberId'+ MemberId ->+ CreateGroupMembership+newCreateGroupMembership+ pIdentityStoreId_+ pGroupId_+ pMemberId_ =+ CreateGroupMembership'+ { identityStoreId =+ pIdentityStoreId_,+ groupId = pGroupId_,+ memberId = pMemberId_+ }++-- | The globally unique identifier for the identity store.+createGroupMembership_identityStoreId :: Lens.Lens' CreateGroupMembership Prelude.Text+createGroupMembership_identityStoreId = Lens.lens (\CreateGroupMembership' {identityStoreId} -> identityStoreId) (\s@CreateGroupMembership' {} a -> s {identityStoreId = a} :: CreateGroupMembership)++-- | The identifier for a group in the identity store.+createGroupMembership_groupId :: Lens.Lens' CreateGroupMembership Prelude.Text+createGroupMembership_groupId = Lens.lens (\CreateGroupMembership' {groupId} -> groupId) (\s@CreateGroupMembership' {} a -> s {groupId = a} :: CreateGroupMembership)++-- | An object that contains the identifier of a group member. Setting the+-- @UserID@ field to the specific identifier for a user indicates that the+-- user is a member of the group.+createGroupMembership_memberId :: Lens.Lens' CreateGroupMembership MemberId+createGroupMembership_memberId = Lens.lens (\CreateGroupMembership' {memberId} -> memberId) (\s@CreateGroupMembership' {} a -> s {memberId = a} :: CreateGroupMembership)++instance Core.AWSRequest CreateGroupMembership where+ type+ AWSResponse CreateGroupMembership =+ CreateGroupMembershipResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateGroupMembershipResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "MembershipId")+ Prelude.<*> (x Data..:> "IdentityStoreId")+ )++instance Prelude.Hashable CreateGroupMembership where+ hashWithSalt _salt CreateGroupMembership' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` groupId+ `Prelude.hashWithSalt` memberId++instance Prelude.NFData CreateGroupMembership where+ rnf CreateGroupMembership' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf groupId+ `Prelude.seq` Prelude.rnf memberId++instance Data.ToHeaders CreateGroupMembership where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.CreateGroupMembership" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateGroupMembership where+ toJSON CreateGroupMembership' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("GroupId" Data..= groupId),+ Prelude.Just ("MemberId" Data..= memberId)+ ]+ )++instance Data.ToPath CreateGroupMembership where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateGroupMembership where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateGroupMembershipResponse' smart constructor.+data CreateGroupMembershipResponse = CreateGroupMembershipResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The identifier for a newly created @GroupMembership@ in an identity+ -- store.+ membershipId :: Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGroupMembershipResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createGroupMembershipResponse_httpStatus' - The response's http status code.+--+-- 'membershipId', 'createGroupMembershipResponse_membershipId' - The identifier for a newly created @GroupMembership@ in an identity+-- store.+--+-- 'identityStoreId', 'createGroupMembershipResponse_identityStoreId' - The globally unique identifier for the identity store.+newCreateGroupMembershipResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'membershipId'+ Prelude.Text ->+ -- | 'identityStoreId'+ Prelude.Text ->+ CreateGroupMembershipResponse+newCreateGroupMembershipResponse+ pHttpStatus_+ pMembershipId_+ pIdentityStoreId_ =+ CreateGroupMembershipResponse'+ { httpStatus =+ pHttpStatus_,+ membershipId = pMembershipId_,+ identityStoreId = pIdentityStoreId_+ }++-- | The response's http status code.+createGroupMembershipResponse_httpStatus :: Lens.Lens' CreateGroupMembershipResponse Prelude.Int+createGroupMembershipResponse_httpStatus = Lens.lens (\CreateGroupMembershipResponse' {httpStatus} -> httpStatus) (\s@CreateGroupMembershipResponse' {} a -> s {httpStatus = a} :: CreateGroupMembershipResponse)++-- | The identifier for a newly created @GroupMembership@ in an identity+-- store.+createGroupMembershipResponse_membershipId :: Lens.Lens' CreateGroupMembershipResponse Prelude.Text+createGroupMembershipResponse_membershipId = Lens.lens (\CreateGroupMembershipResponse' {membershipId} -> membershipId) (\s@CreateGroupMembershipResponse' {} a -> s {membershipId = a} :: CreateGroupMembershipResponse)++-- | The globally unique identifier for the identity store.+createGroupMembershipResponse_identityStoreId :: Lens.Lens' CreateGroupMembershipResponse Prelude.Text+createGroupMembershipResponse_identityStoreId = Lens.lens (\CreateGroupMembershipResponse' {identityStoreId} -> identityStoreId) (\s@CreateGroupMembershipResponse' {} a -> s {identityStoreId = a} :: CreateGroupMembershipResponse)++instance Prelude.NFData CreateGroupMembershipResponse where+ rnf CreateGroupMembershipResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf membershipId+ `Prelude.seq` Prelude.rnf identityStoreId
+ gen/Amazonka/IdentityStore/CreateUser.hs view
@@ -0,0 +1,393 @@+{-# 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.IdentityStore.CreateUser+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new user within the specified identity store.+module Amazonka.IdentityStore.CreateUser+ ( -- * Creating a Request+ CreateUser (..),+ newCreateUser,++ -- * Request Lenses+ createUser_addresses,+ createUser_displayName,+ createUser_emails,+ createUser_locale,+ createUser_name,+ createUser_nickName,+ createUser_phoneNumbers,+ createUser_preferredLanguage,+ createUser_profileUrl,+ createUser_timezone,+ createUser_title,+ createUser_userName,+ createUser_userType,+ createUser_identityStoreId,++ -- * Destructuring the Response+ CreateUserResponse (..),+ newCreateUserResponse,++ -- * Response Lenses+ createUserResponse_httpStatus,+ createUserResponse_userId,+ createUserResponse_identityStoreId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateUser' smart constructor.+data CreateUser = CreateUser'+ { -- | A list of @Address@ objects containing addresses associated with the+ -- user.+ addresses :: Prelude.Maybe (Prelude.NonEmpty Address),+ -- | A string containing the user\'s name. This value is typically formatted+ -- for display when the user is referenced. For example, \"John Doe.\"+ displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A list of @Email@ objects containing email addresses associated with the+ -- user.+ emails :: Prelude.Maybe (Prelude.NonEmpty Email),+ -- | A string containing the user\'s geographical region or location.+ locale :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | An object containing the user\'s name.+ name :: Prelude.Maybe Name,+ -- | A string containing an alternate name for the user.+ nickName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A list of @PhoneNumber@ objects containing phone numbers associated with+ -- the user.+ phoneNumbers :: Prelude.Maybe (Prelude.NonEmpty PhoneNumber),+ -- | A string containing the preferred language of the user. For example,+ -- \"American English\" or \"en-us.\"+ preferredLanguage :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string containing a URL that may be associated with the user.+ profileUrl :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string containing the user\'s time zone.+ timezone :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string containing the user\'s title. Possible values are left+ -- unspecified given that they depend on each customer\'s specific needs.+ title :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A unique string used to identify the user. The length limit is 128+ -- characters. This value can consist of letters, accented characters,+ -- symbols, numbers, and punctuation. This value is specified at the time+ -- the user is created and stored as an attribute of the user object in the+ -- identity store.+ userName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string indicating the user\'s type. Possible values depend on each+ -- customer\'s specific needs, so they are left unspecified.+ userType :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'addresses', 'createUser_addresses' - A list of @Address@ objects containing addresses associated with the+-- user.+--+-- 'displayName', 'createUser_displayName' - A string containing the user\'s name. This value is typically formatted+-- for display when the user is referenced. For example, \"John Doe.\"+--+-- 'emails', 'createUser_emails' - A list of @Email@ objects containing email addresses associated with the+-- user.+--+-- 'locale', 'createUser_locale' - A string containing the user\'s geographical region or location.+--+-- 'name', 'createUser_name' - An object containing the user\'s name.+--+-- 'nickName', 'createUser_nickName' - A string containing an alternate name for the user.+--+-- 'phoneNumbers', 'createUser_phoneNumbers' - A list of @PhoneNumber@ objects containing phone numbers associated with+-- the user.+--+-- 'preferredLanguage', 'createUser_preferredLanguage' - A string containing the preferred language of the user. For example,+-- \"American English\" or \"en-us.\"+--+-- 'profileUrl', 'createUser_profileUrl' - A string containing a URL that may be associated with the user.+--+-- 'timezone', 'createUser_timezone' - A string containing the user\'s time zone.+--+-- 'title', 'createUser_title' - A string containing the user\'s title. Possible values are left+-- unspecified given that they depend on each customer\'s specific needs.+--+-- 'userName', 'createUser_userName' - A unique string used to identify the user. The length limit is 128+-- characters. This value can consist of letters, accented characters,+-- symbols, numbers, and punctuation. This value is specified at the time+-- the user is created and stored as an attribute of the user object in the+-- identity store.+--+-- 'userType', 'createUser_userType' - A string indicating the user\'s type. Possible values depend on each+-- customer\'s specific needs, so they are left unspecified.+--+-- 'identityStoreId', 'createUser_identityStoreId' - The globally unique identifier for the identity store.+newCreateUser ::+ -- | 'identityStoreId'+ Prelude.Text ->+ CreateUser+newCreateUser pIdentityStoreId_ =+ CreateUser'+ { addresses = Prelude.Nothing,+ displayName = Prelude.Nothing,+ emails = Prelude.Nothing,+ locale = Prelude.Nothing,+ name = Prelude.Nothing,+ nickName = Prelude.Nothing,+ phoneNumbers = Prelude.Nothing,+ preferredLanguage = Prelude.Nothing,+ profileUrl = Prelude.Nothing,+ timezone = Prelude.Nothing,+ title = Prelude.Nothing,+ userName = Prelude.Nothing,+ userType = Prelude.Nothing,+ identityStoreId = pIdentityStoreId_+ }++-- | A list of @Address@ objects containing addresses associated with the+-- user.+createUser_addresses :: Lens.Lens' CreateUser (Prelude.Maybe (Prelude.NonEmpty Address))+createUser_addresses = Lens.lens (\CreateUser' {addresses} -> addresses) (\s@CreateUser' {} a -> s {addresses = a} :: CreateUser) Prelude.. Lens.mapping Lens.coerced++-- | A string containing the user\'s name. This value is typically formatted+-- for display when the user is referenced. For example, \"John Doe.\"+createUser_displayName :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_displayName = Lens.lens (\CreateUser' {displayName} -> displayName) (\s@CreateUser' {} a -> s {displayName = a} :: CreateUser) Prelude.. Lens.mapping Data._Sensitive++-- | A list of @Email@ objects containing email addresses associated with the+-- user.+createUser_emails :: Lens.Lens' CreateUser (Prelude.Maybe (Prelude.NonEmpty Email))+createUser_emails = Lens.lens (\CreateUser' {emails} -> emails) (\s@CreateUser' {} a -> s {emails = a} :: CreateUser) Prelude.. Lens.mapping Lens.coerced++-- | A string containing the user\'s geographical region or location.+createUser_locale :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_locale = Lens.lens (\CreateUser' {locale} -> locale) (\s@CreateUser' {} a -> s {locale = a} :: CreateUser) Prelude.. Lens.mapping Data._Sensitive++-- | An object containing the user\'s name.+createUser_name :: Lens.Lens' CreateUser (Prelude.Maybe Name)+createUser_name = Lens.lens (\CreateUser' {name} -> name) (\s@CreateUser' {} a -> s {name = a} :: CreateUser)++-- | A string containing an alternate name for the user.+createUser_nickName :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_nickName = Lens.lens (\CreateUser' {nickName} -> nickName) (\s@CreateUser' {} a -> s {nickName = a} :: CreateUser) Prelude.. Lens.mapping Data._Sensitive++-- | A list of @PhoneNumber@ objects containing phone numbers associated with+-- the user.+createUser_phoneNumbers :: Lens.Lens' CreateUser (Prelude.Maybe (Prelude.NonEmpty PhoneNumber))+createUser_phoneNumbers = Lens.lens (\CreateUser' {phoneNumbers} -> phoneNumbers) (\s@CreateUser' {} a -> s {phoneNumbers = a} :: CreateUser) Prelude.. Lens.mapping Lens.coerced++-- | A string containing the preferred language of the user. For example,+-- \"American English\" or \"en-us.\"+createUser_preferredLanguage :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_preferredLanguage = Lens.lens (\CreateUser' {preferredLanguage} -> preferredLanguage) (\s@CreateUser' {} a -> s {preferredLanguage = a} :: CreateUser) Prelude.. Lens.mapping Data._Sensitive++-- | A string containing a URL that may be associated with the user.+createUser_profileUrl :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_profileUrl = Lens.lens (\CreateUser' {profileUrl} -> profileUrl) (\s@CreateUser' {} a -> s {profileUrl = a} :: CreateUser) Prelude.. Lens.mapping Data._Sensitive++-- | A string containing the user\'s time zone.+createUser_timezone :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_timezone = Lens.lens (\CreateUser' {timezone} -> timezone) (\s@CreateUser' {} a -> s {timezone = a} :: CreateUser) Prelude.. Lens.mapping Data._Sensitive++-- | A string containing the user\'s title. Possible values are left+-- unspecified given that they depend on each customer\'s specific needs.+createUser_title :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_title = Lens.lens (\CreateUser' {title} -> title) (\s@CreateUser' {} a -> s {title = a} :: CreateUser) Prelude.. Lens.mapping Data._Sensitive++-- | A unique string used to identify the user. The length limit is 128+-- characters. This value can consist of letters, accented characters,+-- symbols, numbers, and punctuation. This value is specified at the time+-- the user is created and stored as an attribute of the user object in the+-- identity store.+createUser_userName :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_userName = Lens.lens (\CreateUser' {userName} -> userName) (\s@CreateUser' {} a -> s {userName = a} :: CreateUser) Prelude.. Lens.mapping Data._Sensitive++-- | A string indicating the user\'s type. Possible values depend on each+-- customer\'s specific needs, so they are left unspecified.+createUser_userType :: Lens.Lens' CreateUser (Prelude.Maybe Prelude.Text)+createUser_userType = Lens.lens (\CreateUser' {userType} -> userType) (\s@CreateUser' {} a -> s {userType = a} :: CreateUser) Prelude.. Lens.mapping Data._Sensitive++-- | The globally unique identifier for the identity store.+createUser_identityStoreId :: Lens.Lens' CreateUser Prelude.Text+createUser_identityStoreId = Lens.lens (\CreateUser' {identityStoreId} -> identityStoreId) (\s@CreateUser' {} a -> s {identityStoreId = a} :: CreateUser)++instance Core.AWSRequest CreateUser where+ type AWSResponse CreateUser = CreateUserResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateUserResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "UserId")+ Prelude.<*> (x Data..:> "IdentityStoreId")+ )++instance Prelude.Hashable CreateUser where+ hashWithSalt _salt CreateUser' {..} =+ _salt+ `Prelude.hashWithSalt` addresses+ `Prelude.hashWithSalt` displayName+ `Prelude.hashWithSalt` emails+ `Prelude.hashWithSalt` locale+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` nickName+ `Prelude.hashWithSalt` phoneNumbers+ `Prelude.hashWithSalt` preferredLanguage+ `Prelude.hashWithSalt` profileUrl+ `Prelude.hashWithSalt` timezone+ `Prelude.hashWithSalt` title+ `Prelude.hashWithSalt` userName+ `Prelude.hashWithSalt` userType+ `Prelude.hashWithSalt` identityStoreId++instance Prelude.NFData CreateUser where+ rnf CreateUser' {..} =+ Prelude.rnf addresses+ `Prelude.seq` Prelude.rnf displayName+ `Prelude.seq` Prelude.rnf emails+ `Prelude.seq` Prelude.rnf locale+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf nickName+ `Prelude.seq` Prelude.rnf phoneNumbers+ `Prelude.seq` Prelude.rnf preferredLanguage+ `Prelude.seq` Prelude.rnf profileUrl+ `Prelude.seq` Prelude.rnf timezone+ `Prelude.seq` Prelude.rnf title+ `Prelude.seq` Prelude.rnf userName+ `Prelude.seq` Prelude.rnf userType+ `Prelude.seq` Prelude.rnf identityStoreId++instance Data.ToHeaders CreateUser where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.CreateUser" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateUser where+ toJSON CreateUser' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Addresses" Data..=) Prelude.<$> addresses,+ ("DisplayName" Data..=) Prelude.<$> displayName,+ ("Emails" Data..=) Prelude.<$> emails,+ ("Locale" Data..=) Prelude.<$> locale,+ ("Name" Data..=) Prelude.<$> name,+ ("NickName" Data..=) Prelude.<$> nickName,+ ("PhoneNumbers" Data..=) Prelude.<$> phoneNumbers,+ ("PreferredLanguage" Data..=)+ Prelude.<$> preferredLanguage,+ ("ProfileUrl" Data..=) Prelude.<$> profileUrl,+ ("Timezone" Data..=) Prelude.<$> timezone,+ ("Title" Data..=) Prelude.<$> title,+ ("UserName" Data..=) Prelude.<$> userName,+ ("UserType" Data..=) Prelude.<$> userType,+ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId)+ ]+ )++instance Data.ToPath CreateUser where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateUser where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateUserResponse' smart constructor.+data CreateUserResponse = CreateUserResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The identifier of the newly created user in the identity store.+ userId :: Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createUserResponse_httpStatus' - The response's http status code.+--+-- 'userId', 'createUserResponse_userId' - The identifier of the newly created user in the identity store.+--+-- 'identityStoreId', 'createUserResponse_identityStoreId' - The globally unique identifier for the identity store.+newCreateUserResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'userId'+ Prelude.Text ->+ -- | 'identityStoreId'+ Prelude.Text ->+ CreateUserResponse+newCreateUserResponse+ pHttpStatus_+ pUserId_+ pIdentityStoreId_ =+ CreateUserResponse'+ { httpStatus = pHttpStatus_,+ userId = pUserId_,+ identityStoreId = pIdentityStoreId_+ }++-- | The response's http status code.+createUserResponse_httpStatus :: Lens.Lens' CreateUserResponse Prelude.Int+createUserResponse_httpStatus = Lens.lens (\CreateUserResponse' {httpStatus} -> httpStatus) (\s@CreateUserResponse' {} a -> s {httpStatus = a} :: CreateUserResponse)++-- | The identifier of the newly created user in the identity store.+createUserResponse_userId :: Lens.Lens' CreateUserResponse Prelude.Text+createUserResponse_userId = Lens.lens (\CreateUserResponse' {userId} -> userId) (\s@CreateUserResponse' {} a -> s {userId = a} :: CreateUserResponse)++-- | The globally unique identifier for the identity store.+createUserResponse_identityStoreId :: Lens.Lens' CreateUserResponse Prelude.Text+createUserResponse_identityStoreId = Lens.lens (\CreateUserResponse' {identityStoreId} -> identityStoreId) (\s@CreateUserResponse' {} a -> s {identityStoreId = a} :: CreateUserResponse)++instance Prelude.NFData CreateUserResponse where+ rnf CreateUserResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf userId+ `Prelude.seq` Prelude.rnf identityStoreId
+ gen/Amazonka/IdentityStore/DeleteGroup.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.DeleteGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete a group within an identity store given @GroupId@.+module Amazonka.IdentityStore.DeleteGroup+ ( -- * Creating a Request+ DeleteGroup (..),+ newDeleteGroup,++ -- * Request Lenses+ deleteGroup_identityStoreId,+ deleteGroup_groupId,++ -- * Destructuring the Response+ DeleteGroupResponse (..),+ newDeleteGroupResponse,++ -- * Response Lenses+ deleteGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteGroup' smart constructor.+data DeleteGroup = DeleteGroup'+ { -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | The identifier for a group in the identity store.+ groupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'deleteGroup_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'groupId', 'deleteGroup_groupId' - The identifier for a group in the identity store.+newDeleteGroup ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'groupId'+ Prelude.Text ->+ DeleteGroup+newDeleteGroup pIdentityStoreId_ pGroupId_ =+ DeleteGroup'+ { identityStoreId = pIdentityStoreId_,+ groupId = pGroupId_+ }++-- | The globally unique identifier for the identity store.+deleteGroup_identityStoreId :: Lens.Lens' DeleteGroup Prelude.Text+deleteGroup_identityStoreId = Lens.lens (\DeleteGroup' {identityStoreId} -> identityStoreId) (\s@DeleteGroup' {} a -> s {identityStoreId = a} :: DeleteGroup)++-- | The identifier for a group in the identity store.+deleteGroup_groupId :: Lens.Lens' DeleteGroup Prelude.Text+deleteGroup_groupId = Lens.lens (\DeleteGroup' {groupId} -> groupId) (\s@DeleteGroup' {} a -> s {groupId = a} :: DeleteGroup)++instance Core.AWSRequest DeleteGroup where+ type AWSResponse DeleteGroup = DeleteGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteGroupResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteGroup where+ hashWithSalt _salt DeleteGroup' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` groupId++instance Prelude.NFData DeleteGroup where+ rnf DeleteGroup' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf groupId++instance Data.ToHeaders DeleteGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.DeleteGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteGroup where+ toJSON DeleteGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("GroupId" Data..= groupId)+ ]+ )++instance Data.ToPath DeleteGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteGroupResponse' smart constructor.+data DeleteGroupResponse = DeleteGroupResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteGroupResponse_httpStatus' - The response's http status code.+newDeleteGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteGroupResponse+newDeleteGroupResponse pHttpStatus_ =+ DeleteGroupResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteGroupResponse_httpStatus :: Lens.Lens' DeleteGroupResponse Prelude.Int+deleteGroupResponse_httpStatus = Lens.lens (\DeleteGroupResponse' {httpStatus} -> httpStatus) (\s@DeleteGroupResponse' {} a -> s {httpStatus = a} :: DeleteGroupResponse)++instance Prelude.NFData DeleteGroupResponse where+ rnf DeleteGroupResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/IdentityStore/DeleteGroupMembership.hs view
@@ -0,0 +1,180 @@+{-# 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.IdentityStore.DeleteGroupMembership+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete a membership within a group given @MembershipId@.+module Amazonka.IdentityStore.DeleteGroupMembership+ ( -- * Creating a Request+ DeleteGroupMembership (..),+ newDeleteGroupMembership,++ -- * Request Lenses+ deleteGroupMembership_identityStoreId,+ deleteGroupMembership_membershipId,++ -- * Destructuring the Response+ DeleteGroupMembershipResponse (..),+ newDeleteGroupMembershipResponse,++ -- * Response Lenses+ deleteGroupMembershipResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteGroupMembership' smart constructor.+data DeleteGroupMembership = DeleteGroupMembership'+ { -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | The identifier for a @GroupMembership@ in an identity store.+ membershipId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGroupMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'deleteGroupMembership_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'membershipId', 'deleteGroupMembership_membershipId' - The identifier for a @GroupMembership@ in an identity store.+newDeleteGroupMembership ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'membershipId'+ Prelude.Text ->+ DeleteGroupMembership+newDeleteGroupMembership+ pIdentityStoreId_+ pMembershipId_ =+ DeleteGroupMembership'+ { identityStoreId =+ pIdentityStoreId_,+ membershipId = pMembershipId_+ }++-- | The globally unique identifier for the identity store.+deleteGroupMembership_identityStoreId :: Lens.Lens' DeleteGroupMembership Prelude.Text+deleteGroupMembership_identityStoreId = Lens.lens (\DeleteGroupMembership' {identityStoreId} -> identityStoreId) (\s@DeleteGroupMembership' {} a -> s {identityStoreId = a} :: DeleteGroupMembership)++-- | The identifier for a @GroupMembership@ in an identity store.+deleteGroupMembership_membershipId :: Lens.Lens' DeleteGroupMembership Prelude.Text+deleteGroupMembership_membershipId = Lens.lens (\DeleteGroupMembership' {membershipId} -> membershipId) (\s@DeleteGroupMembership' {} a -> s {membershipId = a} :: DeleteGroupMembership)++instance Core.AWSRequest DeleteGroupMembership where+ type+ AWSResponse DeleteGroupMembership =+ DeleteGroupMembershipResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteGroupMembershipResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteGroupMembership where+ hashWithSalt _salt DeleteGroupMembership' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` membershipId++instance Prelude.NFData DeleteGroupMembership where+ rnf DeleteGroupMembership' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf membershipId++instance Data.ToHeaders DeleteGroupMembership where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.DeleteGroupMembership" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteGroupMembership where+ toJSON DeleteGroupMembership' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("MembershipId" Data..= membershipId)+ ]+ )++instance Data.ToPath DeleteGroupMembership where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteGroupMembership where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteGroupMembershipResponse' smart constructor.+data DeleteGroupMembershipResponse = DeleteGroupMembershipResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGroupMembershipResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteGroupMembershipResponse_httpStatus' - The response's http status code.+newDeleteGroupMembershipResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteGroupMembershipResponse+newDeleteGroupMembershipResponse pHttpStatus_ =+ DeleteGroupMembershipResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteGroupMembershipResponse_httpStatus :: Lens.Lens' DeleteGroupMembershipResponse Prelude.Int+deleteGroupMembershipResponse_httpStatus = Lens.lens (\DeleteGroupMembershipResponse' {httpStatus} -> httpStatus) (\s@DeleteGroupMembershipResponse' {} a -> s {httpStatus = a} :: DeleteGroupMembershipResponse)++instance Prelude.NFData DeleteGroupMembershipResponse where+ rnf DeleteGroupMembershipResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IdentityStore/DeleteUser.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.DeleteUser+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a user within an identity store given @UserId@.+module Amazonka.IdentityStore.DeleteUser+ ( -- * Creating a Request+ DeleteUser (..),+ newDeleteUser,++ -- * Request Lenses+ deleteUser_identityStoreId,+ deleteUser_userId,++ -- * Destructuring the Response+ DeleteUserResponse (..),+ newDeleteUserResponse,++ -- * Response Lenses+ deleteUserResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteUser' smart constructor.+data DeleteUser = DeleteUser'+ { -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | The identifier for a user in the identity store.+ userId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'deleteUser_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'userId', 'deleteUser_userId' - The identifier for a user in the identity store.+newDeleteUser ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'userId'+ Prelude.Text ->+ DeleteUser+newDeleteUser pIdentityStoreId_ pUserId_ =+ DeleteUser'+ { identityStoreId = pIdentityStoreId_,+ userId = pUserId_+ }++-- | The globally unique identifier for the identity store.+deleteUser_identityStoreId :: Lens.Lens' DeleteUser Prelude.Text+deleteUser_identityStoreId = Lens.lens (\DeleteUser' {identityStoreId} -> identityStoreId) (\s@DeleteUser' {} a -> s {identityStoreId = a} :: DeleteUser)++-- | The identifier for a user in the identity store.+deleteUser_userId :: Lens.Lens' DeleteUser Prelude.Text+deleteUser_userId = Lens.lens (\DeleteUser' {userId} -> userId) (\s@DeleteUser' {} a -> s {userId = a} :: DeleteUser)++instance Core.AWSRequest DeleteUser where+ type AWSResponse DeleteUser = DeleteUserResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteUserResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteUser where+ hashWithSalt _salt DeleteUser' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` userId++instance Prelude.NFData DeleteUser where+ rnf DeleteUser' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders DeleteUser where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.DeleteUser" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteUser where+ toJSON DeleteUser' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("UserId" Data..= userId)+ ]+ )++instance Data.ToPath DeleteUser where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteUser where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteUserResponse' smart constructor.+data DeleteUserResponse = DeleteUserResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteUserResponse_httpStatus' - The response's http status code.+newDeleteUserResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteUserResponse+newDeleteUserResponse pHttpStatus_ =+ DeleteUserResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteUserResponse_httpStatus :: Lens.Lens' DeleteUserResponse Prelude.Int+deleteUserResponse_httpStatus = Lens.lens (\DeleteUserResponse' {httpStatus} -> httpStatus) (\s@DeleteUserResponse' {} a -> s {httpStatus = a} :: DeleteUserResponse)++instance Prelude.NFData DeleteUserResponse where+ rnf DeleteUserResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/IdentityStore/DescribeGroup.hs view
@@ -0,0 +1,275 @@+{-# 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.IdentityStore.DescribeGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the group metadata and attributes from @GroupId@ in an+-- identity store.+module Amazonka.IdentityStore.DescribeGroup+ ( -- * Creating a Request+ DescribeGroup (..),+ newDescribeGroup,++ -- * Request Lenses+ describeGroup_identityStoreId,+ describeGroup_groupId,++ -- * Destructuring the Response+ DescribeGroupResponse (..),+ newDescribeGroupResponse,++ -- * Response Lenses+ describeGroupResponse_description,+ describeGroupResponse_displayName,+ describeGroupResponse_externalIds,+ describeGroupResponse_httpStatus,+ describeGroupResponse_groupId,+ describeGroupResponse_identityStoreId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeGroup' smart constructor.+data DescribeGroup = DescribeGroup'+ { -- | The globally unique identifier for the identity store, such as+ -- @d-1234567890@. In this example, @d-@ is a fixed prefix, and+ -- @1234567890@ is a randomly generated string that contains numbers and+ -- lower case letters. This value is generated at the time that a new+ -- identity store is created.+ identityStoreId :: Prelude.Text,+ -- | The identifier for a group in the identity store.+ groupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'describeGroup_identityStoreId' - The globally unique identifier for the identity store, such as+-- @d-1234567890@. In this example, @d-@ is a fixed prefix, and+-- @1234567890@ is a randomly generated string that contains numbers and+-- lower case letters. This value is generated at the time that a new+-- identity store is created.+--+-- 'groupId', 'describeGroup_groupId' - The identifier for a group in the identity store.+newDescribeGroup ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'groupId'+ Prelude.Text ->+ DescribeGroup+newDescribeGroup pIdentityStoreId_ pGroupId_ =+ DescribeGroup'+ { identityStoreId = pIdentityStoreId_,+ groupId = pGroupId_+ }++-- | The globally unique identifier for the identity store, such as+-- @d-1234567890@. In this example, @d-@ is a fixed prefix, and+-- @1234567890@ is a randomly generated string that contains numbers and+-- lower case letters. This value is generated at the time that a new+-- identity store is created.+describeGroup_identityStoreId :: Lens.Lens' DescribeGroup Prelude.Text+describeGroup_identityStoreId = Lens.lens (\DescribeGroup' {identityStoreId} -> identityStoreId) (\s@DescribeGroup' {} a -> s {identityStoreId = a} :: DescribeGroup)++-- | The identifier for a group in the identity store.+describeGroup_groupId :: Lens.Lens' DescribeGroup Prelude.Text+describeGroup_groupId = Lens.lens (\DescribeGroup' {groupId} -> groupId) (\s@DescribeGroup' {} a -> s {groupId = a} :: DescribeGroup)++instance Core.AWSRequest DescribeGroup where+ type+ AWSResponse DescribeGroup =+ DescribeGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeGroupResponse'+ Prelude.<$> (x Data..?> "Description")+ Prelude.<*> (x Data..?> "DisplayName")+ Prelude.<*> (x Data..?> "ExternalIds")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "GroupId")+ Prelude.<*> (x Data..:> "IdentityStoreId")+ )++instance Prelude.Hashable DescribeGroup where+ hashWithSalt _salt DescribeGroup' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` groupId++instance Prelude.NFData DescribeGroup where+ rnf DescribeGroup' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf groupId++instance Data.ToHeaders DescribeGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.DescribeGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeGroup where+ toJSON DescribeGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("GroupId" Data..= groupId)+ ]+ )++instance Data.ToPath DescribeGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeGroupResponse' smart constructor.+data DescribeGroupResponse = DescribeGroupResponse'+ { -- | A string containing a description of the group.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The group’s display name value. The length limit is 1,024 characters.+ -- This value can consist of letters, accented characters, symbols,+ -- numbers, punctuation, tab, new line, carriage return, space, and+ -- nonbreaking space in this attribute. This value is specified at the time+ -- that the group is created and stored as an attribute of the group object+ -- in the identity store.+ displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A list of @ExternalId@ objects that contains the identifiers issued to+ -- this resource by an external identity provider.+ externalIds :: Prelude.Maybe (Prelude.NonEmpty ExternalId),+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The identifier for a group in the identity store.+ groupId :: Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'describeGroupResponse_description' - A string containing a description of the group.+--+-- 'displayName', 'describeGroupResponse_displayName' - The group’s display name value. The length limit is 1,024 characters.+-- This value can consist of letters, accented characters, symbols,+-- numbers, punctuation, tab, new line, carriage return, space, and+-- nonbreaking space in this attribute. This value is specified at the time+-- that the group is created and stored as an attribute of the group object+-- in the identity store.+--+-- 'externalIds', 'describeGroupResponse_externalIds' - A list of @ExternalId@ objects that contains the identifiers issued to+-- this resource by an external identity provider.+--+-- 'httpStatus', 'describeGroupResponse_httpStatus' - The response's http status code.+--+-- 'groupId', 'describeGroupResponse_groupId' - The identifier for a group in the identity store.+--+-- 'identityStoreId', 'describeGroupResponse_identityStoreId' - The globally unique identifier for the identity store.+newDescribeGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'groupId'+ Prelude.Text ->+ -- | 'identityStoreId'+ Prelude.Text ->+ DescribeGroupResponse+newDescribeGroupResponse+ pHttpStatus_+ pGroupId_+ pIdentityStoreId_ =+ DescribeGroupResponse'+ { description =+ Prelude.Nothing,+ displayName = Prelude.Nothing,+ externalIds = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ groupId = pGroupId_,+ identityStoreId = pIdentityStoreId_+ }++-- | A string containing a description of the group.+describeGroupResponse_description :: Lens.Lens' DescribeGroupResponse (Prelude.Maybe Prelude.Text)+describeGroupResponse_description = Lens.lens (\DescribeGroupResponse' {description} -> description) (\s@DescribeGroupResponse' {} a -> s {description = a} :: DescribeGroupResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The group’s display name value. The length limit is 1,024 characters.+-- This value can consist of letters, accented characters, symbols,+-- numbers, punctuation, tab, new line, carriage return, space, and+-- nonbreaking space in this attribute. This value is specified at the time+-- that the group is created and stored as an attribute of the group object+-- in the identity store.+describeGroupResponse_displayName :: Lens.Lens' DescribeGroupResponse (Prelude.Maybe Prelude.Text)+describeGroupResponse_displayName = Lens.lens (\DescribeGroupResponse' {displayName} -> displayName) (\s@DescribeGroupResponse' {} a -> s {displayName = a} :: DescribeGroupResponse) Prelude.. Lens.mapping Data._Sensitive++-- | A list of @ExternalId@ objects that contains the identifiers issued to+-- this resource by an external identity provider.+describeGroupResponse_externalIds :: Lens.Lens' DescribeGroupResponse (Prelude.Maybe (Prelude.NonEmpty ExternalId))+describeGroupResponse_externalIds = Lens.lens (\DescribeGroupResponse' {externalIds} -> externalIds) (\s@DescribeGroupResponse' {} a -> s {externalIds = a} :: DescribeGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeGroupResponse_httpStatus :: Lens.Lens' DescribeGroupResponse Prelude.Int+describeGroupResponse_httpStatus = Lens.lens (\DescribeGroupResponse' {httpStatus} -> httpStatus) (\s@DescribeGroupResponse' {} a -> s {httpStatus = a} :: DescribeGroupResponse)++-- | The identifier for a group in the identity store.+describeGroupResponse_groupId :: Lens.Lens' DescribeGroupResponse Prelude.Text+describeGroupResponse_groupId = Lens.lens (\DescribeGroupResponse' {groupId} -> groupId) (\s@DescribeGroupResponse' {} a -> s {groupId = a} :: DescribeGroupResponse)++-- | The globally unique identifier for the identity store.+describeGroupResponse_identityStoreId :: Lens.Lens' DescribeGroupResponse Prelude.Text+describeGroupResponse_identityStoreId = Lens.lens (\DescribeGroupResponse' {identityStoreId} -> identityStoreId) (\s@DescribeGroupResponse' {} a -> s {identityStoreId = a} :: DescribeGroupResponse)++instance Prelude.NFData DescribeGroupResponse where+ rnf DescribeGroupResponse' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf displayName+ `Prelude.seq` Prelude.rnf externalIds+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf groupId+ `Prelude.seq` Prelude.rnf identityStoreId
+ gen/Amazonka/IdentityStore/DescribeGroupMembership.hs view
@@ -0,0 +1,244 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.DescribeGroupMembership+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves membership metadata and attributes from @MembershipId@ in an+-- identity store.+module Amazonka.IdentityStore.DescribeGroupMembership+ ( -- * Creating a Request+ DescribeGroupMembership (..),+ newDescribeGroupMembership,++ -- * Request Lenses+ describeGroupMembership_identityStoreId,+ describeGroupMembership_membershipId,++ -- * Destructuring the Response+ DescribeGroupMembershipResponse (..),+ newDescribeGroupMembershipResponse,++ -- * Response Lenses+ describeGroupMembershipResponse_httpStatus,+ describeGroupMembershipResponse_identityStoreId,+ describeGroupMembershipResponse_membershipId,+ describeGroupMembershipResponse_groupId,+ describeGroupMembershipResponse_memberId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeGroupMembership' smart constructor.+data DescribeGroupMembership = DescribeGroupMembership'+ { -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | The identifier for a @GroupMembership@ in an identity store.+ membershipId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGroupMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'describeGroupMembership_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'membershipId', 'describeGroupMembership_membershipId' - The identifier for a @GroupMembership@ in an identity store.+newDescribeGroupMembership ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'membershipId'+ Prelude.Text ->+ DescribeGroupMembership+newDescribeGroupMembership+ pIdentityStoreId_+ pMembershipId_ =+ DescribeGroupMembership'+ { identityStoreId =+ pIdentityStoreId_,+ membershipId = pMembershipId_+ }++-- | The globally unique identifier for the identity store.+describeGroupMembership_identityStoreId :: Lens.Lens' DescribeGroupMembership Prelude.Text+describeGroupMembership_identityStoreId = Lens.lens (\DescribeGroupMembership' {identityStoreId} -> identityStoreId) (\s@DescribeGroupMembership' {} a -> s {identityStoreId = a} :: DescribeGroupMembership)++-- | The identifier for a @GroupMembership@ in an identity store.+describeGroupMembership_membershipId :: Lens.Lens' DescribeGroupMembership Prelude.Text+describeGroupMembership_membershipId = Lens.lens (\DescribeGroupMembership' {membershipId} -> membershipId) (\s@DescribeGroupMembership' {} a -> s {membershipId = a} :: DescribeGroupMembership)++instance Core.AWSRequest DescribeGroupMembership where+ type+ AWSResponse DescribeGroupMembership =+ DescribeGroupMembershipResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeGroupMembershipResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "IdentityStoreId")+ Prelude.<*> (x Data..:> "MembershipId")+ Prelude.<*> (x Data..:> "GroupId")+ Prelude.<*> (x Data..:> "MemberId")+ )++instance Prelude.Hashable DescribeGroupMembership where+ hashWithSalt _salt DescribeGroupMembership' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` membershipId++instance Prelude.NFData DescribeGroupMembership where+ rnf DescribeGroupMembership' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf membershipId++instance Data.ToHeaders DescribeGroupMembership where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.DescribeGroupMembership" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeGroupMembership where+ toJSON DescribeGroupMembership' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("MembershipId" Data..= membershipId)+ ]+ )++instance Data.ToPath DescribeGroupMembership where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeGroupMembership where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeGroupMembershipResponse' smart constructor.+data DescribeGroupMembershipResponse = DescribeGroupMembershipResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | The identifier for a @GroupMembership@ in an identity store.+ membershipId :: Prelude.Text,+ -- | The identifier for a group in the identity store.+ groupId :: Prelude.Text,+ memberId :: MemberId+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGroupMembershipResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'describeGroupMembershipResponse_httpStatus' - The response's http status code.+--+-- 'identityStoreId', 'describeGroupMembershipResponse_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'membershipId', 'describeGroupMembershipResponse_membershipId' - The identifier for a @GroupMembership@ in an identity store.+--+-- 'groupId', 'describeGroupMembershipResponse_groupId' - The identifier for a group in the identity store.+--+-- 'memberId', 'describeGroupMembershipResponse_memberId' - Undocumented member.+newDescribeGroupMembershipResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'membershipId'+ Prelude.Text ->+ -- | 'groupId'+ Prelude.Text ->+ -- | 'memberId'+ MemberId ->+ DescribeGroupMembershipResponse+newDescribeGroupMembershipResponse+ pHttpStatus_+ pIdentityStoreId_+ pMembershipId_+ pGroupId_+ pMemberId_ =+ DescribeGroupMembershipResponse'+ { httpStatus =+ pHttpStatus_,+ identityStoreId = pIdentityStoreId_,+ membershipId = pMembershipId_,+ groupId = pGroupId_,+ memberId = pMemberId_+ }++-- | The response's http status code.+describeGroupMembershipResponse_httpStatus :: Lens.Lens' DescribeGroupMembershipResponse Prelude.Int+describeGroupMembershipResponse_httpStatus = Lens.lens (\DescribeGroupMembershipResponse' {httpStatus} -> httpStatus) (\s@DescribeGroupMembershipResponse' {} a -> s {httpStatus = a} :: DescribeGroupMembershipResponse)++-- | The globally unique identifier for the identity store.+describeGroupMembershipResponse_identityStoreId :: Lens.Lens' DescribeGroupMembershipResponse Prelude.Text+describeGroupMembershipResponse_identityStoreId = Lens.lens (\DescribeGroupMembershipResponse' {identityStoreId} -> identityStoreId) (\s@DescribeGroupMembershipResponse' {} a -> s {identityStoreId = a} :: DescribeGroupMembershipResponse)++-- | The identifier for a @GroupMembership@ in an identity store.+describeGroupMembershipResponse_membershipId :: Lens.Lens' DescribeGroupMembershipResponse Prelude.Text+describeGroupMembershipResponse_membershipId = Lens.lens (\DescribeGroupMembershipResponse' {membershipId} -> membershipId) (\s@DescribeGroupMembershipResponse' {} a -> s {membershipId = a} :: DescribeGroupMembershipResponse)++-- | The identifier for a group in the identity store.+describeGroupMembershipResponse_groupId :: Lens.Lens' DescribeGroupMembershipResponse Prelude.Text+describeGroupMembershipResponse_groupId = Lens.lens (\DescribeGroupMembershipResponse' {groupId} -> groupId) (\s@DescribeGroupMembershipResponse' {} a -> s {groupId = a} :: DescribeGroupMembershipResponse)++-- | Undocumented member.+describeGroupMembershipResponse_memberId :: Lens.Lens' DescribeGroupMembershipResponse MemberId+describeGroupMembershipResponse_memberId = Lens.lens (\DescribeGroupMembershipResponse' {memberId} -> memberId) (\s@DescribeGroupMembershipResponse' {} a -> s {memberId = a} :: DescribeGroupMembershipResponse)++instance+ Prelude.NFData+ DescribeGroupMembershipResponse+ where+ rnf DescribeGroupMembershipResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf membershipId+ `Prelude.seq` Prelude.rnf groupId+ `Prelude.seq` Prelude.rnf memberId
+ gen/Amazonka/IdentityStore/DescribeUser.hs view
@@ -0,0 +1,401 @@+{-# 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.IdentityStore.DescribeUser+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the user metadata and attributes from the @UserId@ in an+-- identity store.+module Amazonka.IdentityStore.DescribeUser+ ( -- * Creating a Request+ DescribeUser (..),+ newDescribeUser,++ -- * Request Lenses+ describeUser_identityStoreId,+ describeUser_userId,++ -- * Destructuring the Response+ DescribeUserResponse (..),+ newDescribeUserResponse,++ -- * Response Lenses+ describeUserResponse_addresses,+ describeUserResponse_displayName,+ describeUserResponse_emails,+ describeUserResponse_externalIds,+ describeUserResponse_locale,+ describeUserResponse_name,+ describeUserResponse_nickName,+ describeUserResponse_phoneNumbers,+ describeUserResponse_preferredLanguage,+ describeUserResponse_profileUrl,+ describeUserResponse_timezone,+ describeUserResponse_title,+ describeUserResponse_userName,+ describeUserResponse_userType,+ describeUserResponse_httpStatus,+ describeUserResponse_userId,+ describeUserResponse_identityStoreId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeUser' smart constructor.+data DescribeUser = DescribeUser'+ { -- | The globally unique identifier for the identity store, such as+ -- @d-1234567890@. In this example, @d-@ is a fixed prefix, and+ -- @1234567890@ is a randomly generated string that contains numbers and+ -- lower case letters. This value is generated at the time that a new+ -- identity store is created.+ identityStoreId :: Prelude.Text,+ -- | The identifier for a user in the identity store.+ userId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'describeUser_identityStoreId' - The globally unique identifier for the identity store, such as+-- @d-1234567890@. In this example, @d-@ is a fixed prefix, and+-- @1234567890@ is a randomly generated string that contains numbers and+-- lower case letters. This value is generated at the time that a new+-- identity store is created.+--+-- 'userId', 'describeUser_userId' - The identifier for a user in the identity store.+newDescribeUser ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'userId'+ Prelude.Text ->+ DescribeUser+newDescribeUser pIdentityStoreId_ pUserId_ =+ DescribeUser'+ { identityStoreId = pIdentityStoreId_,+ userId = pUserId_+ }++-- | The globally unique identifier for the identity store, such as+-- @d-1234567890@. In this example, @d-@ is a fixed prefix, and+-- @1234567890@ is a randomly generated string that contains numbers and+-- lower case letters. This value is generated at the time that a new+-- identity store is created.+describeUser_identityStoreId :: Lens.Lens' DescribeUser Prelude.Text+describeUser_identityStoreId = Lens.lens (\DescribeUser' {identityStoreId} -> identityStoreId) (\s@DescribeUser' {} a -> s {identityStoreId = a} :: DescribeUser)++-- | The identifier for a user in the identity store.+describeUser_userId :: Lens.Lens' DescribeUser Prelude.Text+describeUser_userId = Lens.lens (\DescribeUser' {userId} -> userId) (\s@DescribeUser' {} a -> s {userId = a} :: DescribeUser)++instance Core.AWSRequest DescribeUser where+ type AWSResponse DescribeUser = DescribeUserResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeUserResponse'+ Prelude.<$> (x Data..?> "Addresses")+ Prelude.<*> (x Data..?> "DisplayName")+ Prelude.<*> (x Data..?> "Emails")+ Prelude.<*> (x Data..?> "ExternalIds")+ Prelude.<*> (x Data..?> "Locale")+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (x Data..?> "NickName")+ Prelude.<*> (x Data..?> "PhoneNumbers")+ Prelude.<*> (x Data..?> "PreferredLanguage")+ Prelude.<*> (x Data..?> "ProfileUrl")+ Prelude.<*> (x Data..?> "Timezone")+ Prelude.<*> (x Data..?> "Title")+ Prelude.<*> (x Data..?> "UserName")+ Prelude.<*> (x Data..?> "UserType")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "UserId")+ Prelude.<*> (x Data..:> "IdentityStoreId")+ )++instance Prelude.Hashable DescribeUser where+ hashWithSalt _salt DescribeUser' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` userId++instance Prelude.NFData DescribeUser where+ rnf DescribeUser' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf userId++instance Data.ToHeaders DescribeUser where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.DescribeUser" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeUser where+ toJSON DescribeUser' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("UserId" Data..= userId)+ ]+ )++instance Data.ToPath DescribeUser where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeUser where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeUserResponse' smart constructor.+data DescribeUserResponse = DescribeUserResponse'+ { -- | The user\'s physical address.+ addresses :: Prelude.Maybe (Prelude.NonEmpty Address),+ -- | The user\'s name value for display.+ displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The user\'s email value.+ emails :: Prelude.Maybe (Prelude.NonEmpty Email),+ -- | A list of @ExternalId@ objects that contains the identifiers issued to+ -- this resource by an external identity provider.+ externalIds :: Prelude.Maybe (Prelude.NonEmpty ExternalId),+ -- | A string containing the user\'s geographical region or location.+ locale :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The name of the user.+ name :: Prelude.Maybe Name,+ -- | An alternative descriptive name for the user.+ nickName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A list of @PhoneNumber@ objects associated with a user.+ phoneNumbers :: Prelude.Maybe (Prelude.NonEmpty PhoneNumber),+ -- | The preferred language of the user.+ preferredLanguage :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A URL link for the user\'s profile.+ profileUrl :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The time zone for a user.+ timezone :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string containing the user\'s title.+ title :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A unique string used to identify the user. The length limit is 128+ -- characters. This value can consist of letters, accented characters,+ -- symbols, numbers, and punctuation. This value is specified at the time+ -- the user is created and stored as an attribute of the user object in the+ -- identity store.+ userName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string indicating the user\'s type.+ userType :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The identifier for a user in the identity store.+ userId :: Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'addresses', 'describeUserResponse_addresses' - The user\'s physical address.+--+-- 'displayName', 'describeUserResponse_displayName' - The user\'s name value for display.+--+-- 'emails', 'describeUserResponse_emails' - The user\'s email value.+--+-- 'externalIds', 'describeUserResponse_externalIds' - A list of @ExternalId@ objects that contains the identifiers issued to+-- this resource by an external identity provider.+--+-- 'locale', 'describeUserResponse_locale' - A string containing the user\'s geographical region or location.+--+-- 'name', 'describeUserResponse_name' - The name of the user.+--+-- 'nickName', 'describeUserResponse_nickName' - An alternative descriptive name for the user.+--+-- 'phoneNumbers', 'describeUserResponse_phoneNumbers' - A list of @PhoneNumber@ objects associated with a user.+--+-- 'preferredLanguage', 'describeUserResponse_preferredLanguage' - The preferred language of the user.+--+-- 'profileUrl', 'describeUserResponse_profileUrl' - A URL link for the user\'s profile.+--+-- 'timezone', 'describeUserResponse_timezone' - The time zone for a user.+--+-- 'title', 'describeUserResponse_title' - A string containing the user\'s title.+--+-- 'userName', 'describeUserResponse_userName' - A unique string used to identify the user. The length limit is 128+-- characters. This value can consist of letters, accented characters,+-- symbols, numbers, and punctuation. This value is specified at the time+-- the user is created and stored as an attribute of the user object in the+-- identity store.+--+-- 'userType', 'describeUserResponse_userType' - A string indicating the user\'s type.+--+-- 'httpStatus', 'describeUserResponse_httpStatus' - The response's http status code.+--+-- 'userId', 'describeUserResponse_userId' - The identifier for a user in the identity store.+--+-- 'identityStoreId', 'describeUserResponse_identityStoreId' - The globally unique identifier for the identity store.+newDescribeUserResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'userId'+ Prelude.Text ->+ -- | 'identityStoreId'+ Prelude.Text ->+ DescribeUserResponse+newDescribeUserResponse+ pHttpStatus_+ pUserId_+ pIdentityStoreId_ =+ DescribeUserResponse'+ { addresses = Prelude.Nothing,+ displayName = Prelude.Nothing,+ emails = Prelude.Nothing,+ externalIds = Prelude.Nothing,+ locale = Prelude.Nothing,+ name = Prelude.Nothing,+ nickName = Prelude.Nothing,+ phoneNumbers = Prelude.Nothing,+ preferredLanguage = Prelude.Nothing,+ profileUrl = Prelude.Nothing,+ timezone = Prelude.Nothing,+ title = Prelude.Nothing,+ userName = Prelude.Nothing,+ userType = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ userId = pUserId_,+ identityStoreId = pIdentityStoreId_+ }++-- | The user\'s physical address.+describeUserResponse_addresses :: Lens.Lens' DescribeUserResponse (Prelude.Maybe (Prelude.NonEmpty Address))+describeUserResponse_addresses = Lens.lens (\DescribeUserResponse' {addresses} -> addresses) (\s@DescribeUserResponse' {} a -> s {addresses = a} :: DescribeUserResponse) Prelude.. Lens.mapping Lens.coerced++-- | The user\'s name value for display.+describeUserResponse_displayName :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)+describeUserResponse_displayName = Lens.lens (\DescribeUserResponse' {displayName} -> displayName) (\s@DescribeUserResponse' {} a -> s {displayName = a} :: DescribeUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The user\'s email value.+describeUserResponse_emails :: Lens.Lens' DescribeUserResponse (Prelude.Maybe (Prelude.NonEmpty Email))+describeUserResponse_emails = Lens.lens (\DescribeUserResponse' {emails} -> emails) (\s@DescribeUserResponse' {} a -> s {emails = a} :: DescribeUserResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of @ExternalId@ objects that contains the identifiers issued to+-- this resource by an external identity provider.+describeUserResponse_externalIds :: Lens.Lens' DescribeUserResponse (Prelude.Maybe (Prelude.NonEmpty ExternalId))+describeUserResponse_externalIds = Lens.lens (\DescribeUserResponse' {externalIds} -> externalIds) (\s@DescribeUserResponse' {} a -> s {externalIds = a} :: DescribeUserResponse) Prelude.. Lens.mapping Lens.coerced++-- | A string containing the user\'s geographical region or location.+describeUserResponse_locale :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)+describeUserResponse_locale = Lens.lens (\DescribeUserResponse' {locale} -> locale) (\s@DescribeUserResponse' {} a -> s {locale = a} :: DescribeUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The name of the user.+describeUserResponse_name :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Name)+describeUserResponse_name = Lens.lens (\DescribeUserResponse' {name} -> name) (\s@DescribeUserResponse' {} a -> s {name = a} :: DescribeUserResponse)++-- | An alternative descriptive name for the user.+describeUserResponse_nickName :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)+describeUserResponse_nickName = Lens.lens (\DescribeUserResponse' {nickName} -> nickName) (\s@DescribeUserResponse' {} a -> s {nickName = a} :: DescribeUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | A list of @PhoneNumber@ objects associated with a user.+describeUserResponse_phoneNumbers :: Lens.Lens' DescribeUserResponse (Prelude.Maybe (Prelude.NonEmpty PhoneNumber))+describeUserResponse_phoneNumbers = Lens.lens (\DescribeUserResponse' {phoneNumbers} -> phoneNumbers) (\s@DescribeUserResponse' {} a -> s {phoneNumbers = a} :: DescribeUserResponse) Prelude.. Lens.mapping Lens.coerced++-- | The preferred language of the user.+describeUserResponse_preferredLanguage :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)+describeUserResponse_preferredLanguage = Lens.lens (\DescribeUserResponse' {preferredLanguage} -> preferredLanguage) (\s@DescribeUserResponse' {} a -> s {preferredLanguage = a} :: DescribeUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | A URL link for the user\'s profile.+describeUserResponse_profileUrl :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)+describeUserResponse_profileUrl = Lens.lens (\DescribeUserResponse' {profileUrl} -> profileUrl) (\s@DescribeUserResponse' {} a -> s {profileUrl = a} :: DescribeUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The time zone for a user.+describeUserResponse_timezone :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)+describeUserResponse_timezone = Lens.lens (\DescribeUserResponse' {timezone} -> timezone) (\s@DescribeUserResponse' {} a -> s {timezone = a} :: DescribeUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | A string containing the user\'s title.+describeUserResponse_title :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)+describeUserResponse_title = Lens.lens (\DescribeUserResponse' {title} -> title) (\s@DescribeUserResponse' {} a -> s {title = a} :: DescribeUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | A unique string used to identify the user. The length limit is 128+-- characters. This value can consist of letters, accented characters,+-- symbols, numbers, and punctuation. This value is specified at the time+-- the user is created and stored as an attribute of the user object in the+-- identity store.+describeUserResponse_userName :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)+describeUserResponse_userName = Lens.lens (\DescribeUserResponse' {userName} -> userName) (\s@DescribeUserResponse' {} a -> s {userName = a} :: DescribeUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | A string indicating the user\'s type.+describeUserResponse_userType :: Lens.Lens' DescribeUserResponse (Prelude.Maybe Prelude.Text)+describeUserResponse_userType = Lens.lens (\DescribeUserResponse' {userType} -> userType) (\s@DescribeUserResponse' {} a -> s {userType = a} :: DescribeUserResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+describeUserResponse_httpStatus :: Lens.Lens' DescribeUserResponse Prelude.Int+describeUserResponse_httpStatus = Lens.lens (\DescribeUserResponse' {httpStatus} -> httpStatus) (\s@DescribeUserResponse' {} a -> s {httpStatus = a} :: DescribeUserResponse)++-- | The identifier for a user in the identity store.+describeUserResponse_userId :: Lens.Lens' DescribeUserResponse Prelude.Text+describeUserResponse_userId = Lens.lens (\DescribeUserResponse' {userId} -> userId) (\s@DescribeUserResponse' {} a -> s {userId = a} :: DescribeUserResponse)++-- | The globally unique identifier for the identity store.+describeUserResponse_identityStoreId :: Lens.Lens' DescribeUserResponse Prelude.Text+describeUserResponse_identityStoreId = Lens.lens (\DescribeUserResponse' {identityStoreId} -> identityStoreId) (\s@DescribeUserResponse' {} a -> s {identityStoreId = a} :: DescribeUserResponse)++instance Prelude.NFData DescribeUserResponse where+ rnf DescribeUserResponse' {..} =+ Prelude.rnf addresses+ `Prelude.seq` Prelude.rnf displayName+ `Prelude.seq` Prelude.rnf emails+ `Prelude.seq` Prelude.rnf externalIds+ `Prelude.seq` Prelude.rnf locale+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf nickName+ `Prelude.seq` Prelude.rnf phoneNumbers+ `Prelude.seq` Prelude.rnf preferredLanguage+ `Prelude.seq` Prelude.rnf profileUrl+ `Prelude.seq` Prelude.rnf timezone+ `Prelude.seq` Prelude.rnf title+ `Prelude.seq` Prelude.rnf userName+ `Prelude.seq` Prelude.rnf userType+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf userId+ `Prelude.seq` Prelude.rnf identityStoreId
+ gen/Amazonka/IdentityStore/GetGroupId.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.IdentityStore.GetGroupId+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves @GroupId@ in an identity store.+module Amazonka.IdentityStore.GetGroupId+ ( -- * Creating a Request+ GetGroupId (..),+ newGetGroupId,++ -- * Request Lenses+ getGroupId_identityStoreId,+ getGroupId_alternateIdentifier,++ -- * Destructuring the Response+ GetGroupIdResponse (..),+ newGetGroupIdResponse,++ -- * Response Lenses+ getGroupIdResponse_httpStatus,+ getGroupIdResponse_groupId,+ getGroupIdResponse_identityStoreId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetGroupId' smart constructor.+data GetGroupId = GetGroupId'+ { -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | A unique identifier for a user or group that is not the primary+ -- identifier. This value can be an identifier from an external identity+ -- provider (IdP) that is associated with the user, the group, or a unique+ -- attribute. For example, a unique @GroupDisplayName@.+ alternateIdentifier :: AlternateIdentifier+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGroupId' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'getGroupId_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'alternateIdentifier', 'getGroupId_alternateIdentifier' - A unique identifier for a user or group that is not the primary+-- identifier. This value can be an identifier from an external identity+-- provider (IdP) that is associated with the user, the group, or a unique+-- attribute. For example, a unique @GroupDisplayName@.+newGetGroupId ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'alternateIdentifier'+ AlternateIdentifier ->+ GetGroupId+newGetGroupId pIdentityStoreId_ pAlternateIdentifier_ =+ GetGroupId'+ { identityStoreId = pIdentityStoreId_,+ alternateIdentifier = pAlternateIdentifier_+ }++-- | The globally unique identifier for the identity store.+getGroupId_identityStoreId :: Lens.Lens' GetGroupId Prelude.Text+getGroupId_identityStoreId = Lens.lens (\GetGroupId' {identityStoreId} -> identityStoreId) (\s@GetGroupId' {} a -> s {identityStoreId = a} :: GetGroupId)++-- | A unique identifier for a user or group that is not the primary+-- identifier. This value can be an identifier from an external identity+-- provider (IdP) that is associated with the user, the group, or a unique+-- attribute. For example, a unique @GroupDisplayName@.+getGroupId_alternateIdentifier :: Lens.Lens' GetGroupId AlternateIdentifier+getGroupId_alternateIdentifier = Lens.lens (\GetGroupId' {alternateIdentifier} -> alternateIdentifier) (\s@GetGroupId' {} a -> s {alternateIdentifier = a} :: GetGroupId)++instance Core.AWSRequest GetGroupId where+ type AWSResponse GetGroupId = GetGroupIdResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetGroupIdResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "GroupId")+ Prelude.<*> (x Data..:> "IdentityStoreId")+ )++instance Prelude.Hashable GetGroupId where+ hashWithSalt _salt GetGroupId' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` alternateIdentifier++instance Prelude.NFData GetGroupId where+ rnf GetGroupId' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf alternateIdentifier++instance Data.ToHeaders GetGroupId where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.GetGroupId" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetGroupId where+ toJSON GetGroupId' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just+ ("AlternateIdentifier" Data..= alternateIdentifier)+ ]+ )++instance Data.ToPath GetGroupId where+ toPath = Prelude.const "/"++instance Data.ToQuery GetGroupId where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetGroupIdResponse' smart constructor.+data GetGroupIdResponse = GetGroupIdResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The identifier for a group in the identity store.+ groupId :: Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGroupIdResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getGroupIdResponse_httpStatus' - The response's http status code.+--+-- 'groupId', 'getGroupIdResponse_groupId' - The identifier for a group in the identity store.+--+-- 'identityStoreId', 'getGroupIdResponse_identityStoreId' - The globally unique identifier for the identity store.+newGetGroupIdResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'groupId'+ Prelude.Text ->+ -- | 'identityStoreId'+ Prelude.Text ->+ GetGroupIdResponse+newGetGroupIdResponse+ pHttpStatus_+ pGroupId_+ pIdentityStoreId_ =+ GetGroupIdResponse'+ { httpStatus = pHttpStatus_,+ groupId = pGroupId_,+ identityStoreId = pIdentityStoreId_+ }++-- | The response's http status code.+getGroupIdResponse_httpStatus :: Lens.Lens' GetGroupIdResponse Prelude.Int+getGroupIdResponse_httpStatus = Lens.lens (\GetGroupIdResponse' {httpStatus} -> httpStatus) (\s@GetGroupIdResponse' {} a -> s {httpStatus = a} :: GetGroupIdResponse)++-- | The identifier for a group in the identity store.+getGroupIdResponse_groupId :: Lens.Lens' GetGroupIdResponse Prelude.Text+getGroupIdResponse_groupId = Lens.lens (\GetGroupIdResponse' {groupId} -> groupId) (\s@GetGroupIdResponse' {} a -> s {groupId = a} :: GetGroupIdResponse)++-- | The globally unique identifier for the identity store.+getGroupIdResponse_identityStoreId :: Lens.Lens' GetGroupIdResponse Prelude.Text+getGroupIdResponse_identityStoreId = Lens.lens (\GetGroupIdResponse' {identityStoreId} -> identityStoreId) (\s@GetGroupIdResponse' {} a -> s {identityStoreId = a} :: GetGroupIdResponse)++instance Prelude.NFData GetGroupIdResponse where+ rnf GetGroupIdResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf groupId+ `Prelude.seq` Prelude.rnf identityStoreId
+ gen/Amazonka/IdentityStore/GetGroupMembershipId.hs view
@@ -0,0 +1,233 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.GetGroupMembershipId+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the @MembershipId@ in an identity store.+module Amazonka.IdentityStore.GetGroupMembershipId+ ( -- * Creating a Request+ GetGroupMembershipId (..),+ newGetGroupMembershipId,++ -- * Request Lenses+ getGroupMembershipId_identityStoreId,+ getGroupMembershipId_groupId,+ getGroupMembershipId_memberId,++ -- * Destructuring the Response+ GetGroupMembershipIdResponse (..),+ newGetGroupMembershipIdResponse,++ -- * Response Lenses+ getGroupMembershipIdResponse_httpStatus,+ getGroupMembershipIdResponse_membershipId,+ getGroupMembershipIdResponse_identityStoreId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetGroupMembershipId' smart constructor.+data GetGroupMembershipId = GetGroupMembershipId'+ { -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | The identifier for a group in the identity store.+ groupId :: Prelude.Text,+ -- | An object that contains the identifier of a group member. Setting the+ -- @UserID@ field to the specific identifier for a user indicates that the+ -- user is a member of the group.+ memberId :: MemberId+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGroupMembershipId' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'getGroupMembershipId_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'groupId', 'getGroupMembershipId_groupId' - The identifier for a group in the identity store.+--+-- 'memberId', 'getGroupMembershipId_memberId' - An object that contains the identifier of a group member. Setting the+-- @UserID@ field to the specific identifier for a user indicates that the+-- user is a member of the group.+newGetGroupMembershipId ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'groupId'+ Prelude.Text ->+ -- | 'memberId'+ MemberId ->+ GetGroupMembershipId+newGetGroupMembershipId+ pIdentityStoreId_+ pGroupId_+ pMemberId_ =+ GetGroupMembershipId'+ { identityStoreId =+ pIdentityStoreId_,+ groupId = pGroupId_,+ memberId = pMemberId_+ }++-- | The globally unique identifier for the identity store.+getGroupMembershipId_identityStoreId :: Lens.Lens' GetGroupMembershipId Prelude.Text+getGroupMembershipId_identityStoreId = Lens.lens (\GetGroupMembershipId' {identityStoreId} -> identityStoreId) (\s@GetGroupMembershipId' {} a -> s {identityStoreId = a} :: GetGroupMembershipId)++-- | The identifier for a group in the identity store.+getGroupMembershipId_groupId :: Lens.Lens' GetGroupMembershipId Prelude.Text+getGroupMembershipId_groupId = Lens.lens (\GetGroupMembershipId' {groupId} -> groupId) (\s@GetGroupMembershipId' {} a -> s {groupId = a} :: GetGroupMembershipId)++-- | An object that contains the identifier of a group member. Setting the+-- @UserID@ field to the specific identifier for a user indicates that the+-- user is a member of the group.+getGroupMembershipId_memberId :: Lens.Lens' GetGroupMembershipId MemberId+getGroupMembershipId_memberId = Lens.lens (\GetGroupMembershipId' {memberId} -> memberId) (\s@GetGroupMembershipId' {} a -> s {memberId = a} :: GetGroupMembershipId)++instance Core.AWSRequest GetGroupMembershipId where+ type+ AWSResponse GetGroupMembershipId =+ GetGroupMembershipIdResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetGroupMembershipIdResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "MembershipId")+ Prelude.<*> (x Data..:> "IdentityStoreId")+ )++instance Prelude.Hashable GetGroupMembershipId where+ hashWithSalt _salt GetGroupMembershipId' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` groupId+ `Prelude.hashWithSalt` memberId++instance Prelude.NFData GetGroupMembershipId where+ rnf GetGroupMembershipId' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf groupId+ `Prelude.seq` Prelude.rnf memberId++instance Data.ToHeaders GetGroupMembershipId where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.GetGroupMembershipId" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetGroupMembershipId where+ toJSON GetGroupMembershipId' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("GroupId" Data..= groupId),+ Prelude.Just ("MemberId" Data..= memberId)+ ]+ )++instance Data.ToPath GetGroupMembershipId where+ toPath = Prelude.const "/"++instance Data.ToQuery GetGroupMembershipId where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetGroupMembershipIdResponse' smart constructor.+data GetGroupMembershipIdResponse = GetGroupMembershipIdResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The identifier for a @GroupMembership@ in an identity store.+ membershipId :: Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGroupMembershipIdResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getGroupMembershipIdResponse_httpStatus' - The response's http status code.+--+-- 'membershipId', 'getGroupMembershipIdResponse_membershipId' - The identifier for a @GroupMembership@ in an identity store.+--+-- 'identityStoreId', 'getGroupMembershipIdResponse_identityStoreId' - The globally unique identifier for the identity store.+newGetGroupMembershipIdResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'membershipId'+ Prelude.Text ->+ -- | 'identityStoreId'+ Prelude.Text ->+ GetGroupMembershipIdResponse+newGetGroupMembershipIdResponse+ pHttpStatus_+ pMembershipId_+ pIdentityStoreId_ =+ GetGroupMembershipIdResponse'+ { httpStatus =+ pHttpStatus_,+ membershipId = pMembershipId_,+ identityStoreId = pIdentityStoreId_+ }++-- | The response's http status code.+getGroupMembershipIdResponse_httpStatus :: Lens.Lens' GetGroupMembershipIdResponse Prelude.Int+getGroupMembershipIdResponse_httpStatus = Lens.lens (\GetGroupMembershipIdResponse' {httpStatus} -> httpStatus) (\s@GetGroupMembershipIdResponse' {} a -> s {httpStatus = a} :: GetGroupMembershipIdResponse)++-- | The identifier for a @GroupMembership@ in an identity store.+getGroupMembershipIdResponse_membershipId :: Lens.Lens' GetGroupMembershipIdResponse Prelude.Text+getGroupMembershipIdResponse_membershipId = Lens.lens (\GetGroupMembershipIdResponse' {membershipId} -> membershipId) (\s@GetGroupMembershipIdResponse' {} a -> s {membershipId = a} :: GetGroupMembershipIdResponse)++-- | The globally unique identifier for the identity store.+getGroupMembershipIdResponse_identityStoreId :: Lens.Lens' GetGroupMembershipIdResponse Prelude.Text+getGroupMembershipIdResponse_identityStoreId = Lens.lens (\GetGroupMembershipIdResponse' {identityStoreId} -> identityStoreId) (\s@GetGroupMembershipIdResponse' {} a -> s {identityStoreId = a} :: GetGroupMembershipIdResponse)++instance Prelude.NFData GetGroupMembershipIdResponse where+ rnf GetGroupMembershipIdResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf membershipId+ `Prelude.seq` Prelude.rnf identityStoreId
+ gen/Amazonka/IdentityStore/GetUserId.hs view
@@ -0,0 +1,213 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.GetUserId+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the @UserId@ in an identity store.+module Amazonka.IdentityStore.GetUserId+ ( -- * Creating a Request+ GetUserId (..),+ newGetUserId,++ -- * Request Lenses+ getUserId_identityStoreId,+ getUserId_alternateIdentifier,++ -- * Destructuring the Response+ GetUserIdResponse (..),+ newGetUserIdResponse,++ -- * Response Lenses+ getUserIdResponse_httpStatus,+ getUserIdResponse_userId,+ getUserIdResponse_identityStoreId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetUserId' smart constructor.+data GetUserId = GetUserId'+ { -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | A unique identifier for a user or group that is not the primary+ -- identifier. This value can be an identifier from an external identity+ -- provider (IdP) that is associated with the user, the group, or a unique+ -- attribute. For example, a unique @UserDisplayName@.+ alternateIdentifier :: AlternateIdentifier+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetUserId' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'getUserId_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'alternateIdentifier', 'getUserId_alternateIdentifier' - A unique identifier for a user or group that is not the primary+-- identifier. This value can be an identifier from an external identity+-- provider (IdP) that is associated with the user, the group, or a unique+-- attribute. For example, a unique @UserDisplayName@.+newGetUserId ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'alternateIdentifier'+ AlternateIdentifier ->+ GetUserId+newGetUserId pIdentityStoreId_ pAlternateIdentifier_ =+ GetUserId'+ { identityStoreId = pIdentityStoreId_,+ alternateIdentifier = pAlternateIdentifier_+ }++-- | The globally unique identifier for the identity store.+getUserId_identityStoreId :: Lens.Lens' GetUserId Prelude.Text+getUserId_identityStoreId = Lens.lens (\GetUserId' {identityStoreId} -> identityStoreId) (\s@GetUserId' {} a -> s {identityStoreId = a} :: GetUserId)++-- | A unique identifier for a user or group that is not the primary+-- identifier. This value can be an identifier from an external identity+-- provider (IdP) that is associated with the user, the group, or a unique+-- attribute. For example, a unique @UserDisplayName@.+getUserId_alternateIdentifier :: Lens.Lens' GetUserId AlternateIdentifier+getUserId_alternateIdentifier = Lens.lens (\GetUserId' {alternateIdentifier} -> alternateIdentifier) (\s@GetUserId' {} a -> s {alternateIdentifier = a} :: GetUserId)++instance Core.AWSRequest GetUserId where+ type AWSResponse GetUserId = GetUserIdResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetUserIdResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "UserId")+ Prelude.<*> (x Data..:> "IdentityStoreId")+ )++instance Prelude.Hashable GetUserId where+ hashWithSalt _salt GetUserId' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` alternateIdentifier++instance Prelude.NFData GetUserId where+ rnf GetUserId' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf alternateIdentifier++instance Data.ToHeaders GetUserId where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("AWSIdentityStore.GetUserId" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetUserId where+ toJSON GetUserId' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just+ ("AlternateIdentifier" Data..= alternateIdentifier)+ ]+ )++instance Data.ToPath GetUserId where+ toPath = Prelude.const "/"++instance Data.ToQuery GetUserId where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetUserIdResponse' smart constructor.+data GetUserIdResponse = GetUserIdResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The identifier for a user in the identity store.+ userId :: Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetUserIdResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getUserIdResponse_httpStatus' - The response's http status code.+--+-- 'userId', 'getUserIdResponse_userId' - The identifier for a user in the identity store.+--+-- 'identityStoreId', 'getUserIdResponse_identityStoreId' - The globally unique identifier for the identity store.+newGetUserIdResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'userId'+ Prelude.Text ->+ -- | 'identityStoreId'+ Prelude.Text ->+ GetUserIdResponse+newGetUserIdResponse+ pHttpStatus_+ pUserId_+ pIdentityStoreId_ =+ GetUserIdResponse'+ { httpStatus = pHttpStatus_,+ userId = pUserId_,+ identityStoreId = pIdentityStoreId_+ }++-- | The response's http status code.+getUserIdResponse_httpStatus :: Lens.Lens' GetUserIdResponse Prelude.Int+getUserIdResponse_httpStatus = Lens.lens (\GetUserIdResponse' {httpStatus} -> httpStatus) (\s@GetUserIdResponse' {} a -> s {httpStatus = a} :: GetUserIdResponse)++-- | The identifier for a user in the identity store.+getUserIdResponse_userId :: Lens.Lens' GetUserIdResponse Prelude.Text+getUserIdResponse_userId = Lens.lens (\GetUserIdResponse' {userId} -> userId) (\s@GetUserIdResponse' {} a -> s {userId = a} :: GetUserIdResponse)++-- | The globally unique identifier for the identity store.+getUserIdResponse_identityStoreId :: Lens.Lens' GetUserIdResponse Prelude.Text+getUserIdResponse_identityStoreId = Lens.lens (\GetUserIdResponse' {identityStoreId} -> identityStoreId) (\s@GetUserIdResponse' {} a -> s {identityStoreId = a} :: GetUserIdResponse)++instance Prelude.NFData GetUserIdResponse where+ rnf GetUserIdResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf userId+ `Prelude.seq` Prelude.rnf identityStoreId
+ gen/Amazonka/IdentityStore/IsMemberInGroups.hs view
@@ -0,0 +1,209 @@+{-# 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.IdentityStore.IsMemberInGroups+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Checks the user\'s membership in all requested groups and returns if the+-- member exists in all queried groups.+module Amazonka.IdentityStore.IsMemberInGroups+ ( -- * Creating a Request+ IsMemberInGroups (..),+ newIsMemberInGroups,++ -- * Request Lenses+ isMemberInGroups_identityStoreId,+ isMemberInGroups_memberId,+ isMemberInGroups_groupIds,++ -- * Destructuring the Response+ IsMemberInGroupsResponse (..),+ newIsMemberInGroupsResponse,++ -- * Response Lenses+ isMemberInGroupsResponse_httpStatus,+ isMemberInGroupsResponse_results,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newIsMemberInGroups' smart constructor.+data IsMemberInGroups = IsMemberInGroups'+ { -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | An object containing the identifier of a group member.+ memberId :: MemberId,+ -- | A list of identifiers for groups in the identity store.+ groupIds :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IsMemberInGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'isMemberInGroups_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'memberId', 'isMemberInGroups_memberId' - An object containing the identifier of a group member.+--+-- 'groupIds', 'isMemberInGroups_groupIds' - A list of identifiers for groups in the identity store.+newIsMemberInGroups ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'memberId'+ MemberId ->+ -- | 'groupIds'+ Prelude.NonEmpty Prelude.Text ->+ IsMemberInGroups+newIsMemberInGroups+ pIdentityStoreId_+ pMemberId_+ pGroupIds_ =+ IsMemberInGroups'+ { identityStoreId =+ pIdentityStoreId_,+ memberId = pMemberId_,+ groupIds = Lens.coerced Lens.# pGroupIds_+ }++-- | The globally unique identifier for the identity store.+isMemberInGroups_identityStoreId :: Lens.Lens' IsMemberInGroups Prelude.Text+isMemberInGroups_identityStoreId = Lens.lens (\IsMemberInGroups' {identityStoreId} -> identityStoreId) (\s@IsMemberInGroups' {} a -> s {identityStoreId = a} :: IsMemberInGroups)++-- | An object containing the identifier of a group member.+isMemberInGroups_memberId :: Lens.Lens' IsMemberInGroups MemberId+isMemberInGroups_memberId = Lens.lens (\IsMemberInGroups' {memberId} -> memberId) (\s@IsMemberInGroups' {} a -> s {memberId = a} :: IsMemberInGroups)++-- | A list of identifiers for groups in the identity store.+isMemberInGroups_groupIds :: Lens.Lens' IsMemberInGroups (Prelude.NonEmpty Prelude.Text)+isMemberInGroups_groupIds = Lens.lens (\IsMemberInGroups' {groupIds} -> groupIds) (\s@IsMemberInGroups' {} a -> s {groupIds = a} :: IsMemberInGroups) Prelude.. Lens.coerced++instance Core.AWSRequest IsMemberInGroups where+ type+ AWSResponse IsMemberInGroups =+ IsMemberInGroupsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ IsMemberInGroupsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Results" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable IsMemberInGroups where+ hashWithSalt _salt IsMemberInGroups' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` memberId+ `Prelude.hashWithSalt` groupIds++instance Prelude.NFData IsMemberInGroups where+ rnf IsMemberInGroups' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf groupIds++instance Data.ToHeaders IsMemberInGroups where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.IsMemberInGroups" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON IsMemberInGroups where+ toJSON IsMemberInGroups' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("MemberId" Data..= memberId),+ Prelude.Just ("GroupIds" Data..= groupIds)+ ]+ )++instance Data.ToPath IsMemberInGroups where+ toPath = Prelude.const "/"++instance Data.ToQuery IsMemberInGroups where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newIsMemberInGroupsResponse' smart constructor.+data IsMemberInGroupsResponse = IsMemberInGroupsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list containing the results of membership existence checks.+ results :: [GroupMembershipExistenceResult]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IsMemberInGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'isMemberInGroupsResponse_httpStatus' - The response's http status code.+--+-- 'results', 'isMemberInGroupsResponse_results' - A list containing the results of membership existence checks.+newIsMemberInGroupsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ IsMemberInGroupsResponse+newIsMemberInGroupsResponse pHttpStatus_ =+ IsMemberInGroupsResponse'+ { httpStatus =+ pHttpStatus_,+ results = Prelude.mempty+ }++-- | The response's http status code.+isMemberInGroupsResponse_httpStatus :: Lens.Lens' IsMemberInGroupsResponse Prelude.Int+isMemberInGroupsResponse_httpStatus = Lens.lens (\IsMemberInGroupsResponse' {httpStatus} -> httpStatus) (\s@IsMemberInGroupsResponse' {} a -> s {httpStatus = a} :: IsMemberInGroupsResponse)++-- | A list containing the results of membership existence checks.+isMemberInGroupsResponse_results :: Lens.Lens' IsMemberInGroupsResponse [GroupMembershipExistenceResult]+isMemberInGroupsResponse_results = Lens.lens (\IsMemberInGroupsResponse' {results} -> results) (\s@IsMemberInGroupsResponse' {} a -> s {results = a} :: IsMemberInGroupsResponse) Prelude.. Lens.coerced++instance Prelude.NFData IsMemberInGroupsResponse where+ rnf IsMemberInGroupsResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf results
+ gen/Amazonka/IdentityStore/Lens.hs view
@@ -0,0 +1,310 @@+{-# 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.IdentityStore.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.IdentityStore.Lens+ ( -- * Operations++ -- ** CreateGroup+ createGroup_description,+ createGroup_displayName,+ createGroup_identityStoreId,+ createGroupResponse_httpStatus,+ createGroupResponse_groupId,+ createGroupResponse_identityStoreId,++ -- ** CreateGroupMembership+ createGroupMembership_identityStoreId,+ createGroupMembership_groupId,+ createGroupMembership_memberId,+ createGroupMembershipResponse_httpStatus,+ createGroupMembershipResponse_membershipId,+ createGroupMembershipResponse_identityStoreId,++ -- ** CreateUser+ createUser_addresses,+ createUser_displayName,+ createUser_emails,+ createUser_locale,+ createUser_name,+ createUser_nickName,+ createUser_phoneNumbers,+ createUser_preferredLanguage,+ createUser_profileUrl,+ createUser_timezone,+ createUser_title,+ createUser_userName,+ createUser_userType,+ createUser_identityStoreId,+ createUserResponse_httpStatus,+ createUserResponse_userId,+ createUserResponse_identityStoreId,++ -- ** DeleteGroup+ deleteGroup_identityStoreId,+ deleteGroup_groupId,+ deleteGroupResponse_httpStatus,++ -- ** DeleteGroupMembership+ deleteGroupMembership_identityStoreId,+ deleteGroupMembership_membershipId,+ deleteGroupMembershipResponse_httpStatus,++ -- ** DeleteUser+ deleteUser_identityStoreId,+ deleteUser_userId,+ deleteUserResponse_httpStatus,++ -- ** DescribeGroup+ describeGroup_identityStoreId,+ describeGroup_groupId,+ describeGroupResponse_description,+ describeGroupResponse_displayName,+ describeGroupResponse_externalIds,+ describeGroupResponse_httpStatus,+ describeGroupResponse_groupId,+ describeGroupResponse_identityStoreId,++ -- ** DescribeGroupMembership+ describeGroupMembership_identityStoreId,+ describeGroupMembership_membershipId,+ describeGroupMembershipResponse_httpStatus,+ describeGroupMembershipResponse_identityStoreId,+ describeGroupMembershipResponse_membershipId,+ describeGroupMembershipResponse_groupId,+ describeGroupMembershipResponse_memberId,++ -- ** DescribeUser+ describeUser_identityStoreId,+ describeUser_userId,+ describeUserResponse_addresses,+ describeUserResponse_displayName,+ describeUserResponse_emails,+ describeUserResponse_externalIds,+ describeUserResponse_locale,+ describeUserResponse_name,+ describeUserResponse_nickName,+ describeUserResponse_phoneNumbers,+ describeUserResponse_preferredLanguage,+ describeUserResponse_profileUrl,+ describeUserResponse_timezone,+ describeUserResponse_title,+ describeUserResponse_userName,+ describeUserResponse_userType,+ describeUserResponse_httpStatus,+ describeUserResponse_userId,+ describeUserResponse_identityStoreId,++ -- ** GetGroupId+ getGroupId_identityStoreId,+ getGroupId_alternateIdentifier,+ getGroupIdResponse_httpStatus,+ getGroupIdResponse_groupId,+ getGroupIdResponse_identityStoreId,++ -- ** GetGroupMembershipId+ getGroupMembershipId_identityStoreId,+ getGroupMembershipId_groupId,+ getGroupMembershipId_memberId,+ getGroupMembershipIdResponse_httpStatus,+ getGroupMembershipIdResponse_membershipId,+ getGroupMembershipIdResponse_identityStoreId,++ -- ** GetUserId+ getUserId_identityStoreId,+ getUserId_alternateIdentifier,+ getUserIdResponse_httpStatus,+ getUserIdResponse_userId,+ getUserIdResponse_identityStoreId,++ -- ** IsMemberInGroups+ isMemberInGroups_identityStoreId,+ isMemberInGroups_memberId,+ isMemberInGroups_groupIds,+ isMemberInGroupsResponse_httpStatus,+ isMemberInGroupsResponse_results,++ -- ** ListGroupMemberships+ listGroupMemberships_maxResults,+ listGroupMemberships_nextToken,+ listGroupMemberships_identityStoreId,+ listGroupMemberships_groupId,+ listGroupMembershipsResponse_nextToken,+ listGroupMembershipsResponse_httpStatus,+ listGroupMembershipsResponse_groupMemberships,++ -- ** ListGroupMembershipsForMember+ listGroupMembershipsForMember_maxResults,+ listGroupMembershipsForMember_nextToken,+ listGroupMembershipsForMember_identityStoreId,+ listGroupMembershipsForMember_memberId,+ listGroupMembershipsForMemberResponse_nextToken,+ listGroupMembershipsForMemberResponse_httpStatus,+ listGroupMembershipsForMemberResponse_groupMemberships,++ -- ** ListGroups+ listGroups_filters,+ listGroups_maxResults,+ listGroups_nextToken,+ listGroups_identityStoreId,+ listGroupsResponse_nextToken,+ listGroupsResponse_httpStatus,+ listGroupsResponse_groups,++ -- ** ListUsers+ listUsers_filters,+ listUsers_maxResults,+ listUsers_nextToken,+ listUsers_identityStoreId,+ listUsersResponse_nextToken,+ listUsersResponse_httpStatus,+ listUsersResponse_users,++ -- ** UpdateGroup+ updateGroup_identityStoreId,+ updateGroup_groupId,+ updateGroup_operations,+ updateGroupResponse_httpStatus,++ -- ** UpdateUser+ updateUser_identityStoreId,+ updateUser_userId,+ updateUser_operations,+ updateUserResponse_httpStatus,++ -- * Types++ -- ** Address+ address_country,+ address_formatted,+ address_locality,+ address_postalCode,+ address_primary,+ address_region,+ address_streetAddress,+ address_type,++ -- ** AlternateIdentifier+ alternateIdentifier_externalId,+ alternateIdentifier_uniqueAttribute,++ -- ** AttributeOperation+ attributeOperation_attributeValue,+ attributeOperation_attributePath,++ -- ** AttributeValue++ -- ** Email+ email_primary,+ email_type,+ email_value,++ -- ** ExternalId+ externalId_issuer,+ externalId_id,++ -- ** Filter+ filter_attributePath,+ filter_attributeValue,++ -- ** Group+ group_description,+ group_displayName,+ group_externalIds,+ group_groupId,+ group_identityStoreId,++ -- ** GroupMembership+ groupMembership_groupId,+ groupMembership_memberId,+ groupMembership_membershipId,+ groupMembership_identityStoreId,++ -- ** GroupMembershipExistenceResult+ groupMembershipExistenceResult_groupId,+ groupMembershipExistenceResult_memberId,+ groupMembershipExistenceResult_membershipExists,++ -- ** MemberId+ memberId_userId,++ -- ** Name+ name_familyName,+ name_formatted,+ name_givenName,+ name_honorificPrefix,+ name_honorificSuffix,+ name_middleName,++ -- ** PhoneNumber+ phoneNumber_primary,+ phoneNumber_type,+ phoneNumber_value,++ -- ** UniqueAttribute+ uniqueAttribute_attributePath,+ uniqueAttribute_attributeValue,++ -- ** User+ user_addresses,+ user_displayName,+ user_emails,+ user_externalIds,+ user_locale,+ user_name,+ user_nickName,+ user_phoneNumbers,+ user_preferredLanguage,+ user_profileUrl,+ user_timezone,+ user_title,+ user_userName,+ user_userType,+ user_userId,+ user_identityStoreId,+ )+where++import Amazonka.IdentityStore.CreateGroup+import Amazonka.IdentityStore.CreateGroupMembership+import Amazonka.IdentityStore.CreateUser+import Amazonka.IdentityStore.DeleteGroup+import Amazonka.IdentityStore.DeleteGroupMembership+import Amazonka.IdentityStore.DeleteUser+import Amazonka.IdentityStore.DescribeGroup+import Amazonka.IdentityStore.DescribeGroupMembership+import Amazonka.IdentityStore.DescribeUser+import Amazonka.IdentityStore.GetGroupId+import Amazonka.IdentityStore.GetGroupMembershipId+import Amazonka.IdentityStore.GetUserId+import Amazonka.IdentityStore.IsMemberInGroups+import Amazonka.IdentityStore.ListGroupMemberships+import Amazonka.IdentityStore.ListGroupMembershipsForMember+import Amazonka.IdentityStore.ListGroups+import Amazonka.IdentityStore.ListUsers+import Amazonka.IdentityStore.Types.Address+import Amazonka.IdentityStore.Types.AlternateIdentifier+import Amazonka.IdentityStore.Types.AttributeOperation+import Amazonka.IdentityStore.Types.AttributeValue+import Amazonka.IdentityStore.Types.Email+import Amazonka.IdentityStore.Types.ExternalId+import Amazonka.IdentityStore.Types.Filter+import Amazonka.IdentityStore.Types.Group+import Amazonka.IdentityStore.Types.GroupMembership+import Amazonka.IdentityStore.Types.GroupMembershipExistenceResult+import Amazonka.IdentityStore.Types.MemberId+import Amazonka.IdentityStore.Types.Name+import Amazonka.IdentityStore.Types.PhoneNumber+import Amazonka.IdentityStore.Types.UniqueAttribute+import Amazonka.IdentityStore.Types.User+import Amazonka.IdentityStore.UpdateGroup+import Amazonka.IdentityStore.UpdateUser
+ gen/Amazonka/IdentityStore/ListGroupMemberships.hs view
@@ -0,0 +1,285 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.ListGroupMemberships+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- For the specified group in the specified identity store, returns the+-- list of all @GroupMembership@ objects and returns results in paginated+-- form.+--+-- This operation returns paginated results.+module Amazonka.IdentityStore.ListGroupMemberships+ ( -- * Creating a Request+ ListGroupMemberships (..),+ newListGroupMemberships,++ -- * Request Lenses+ listGroupMemberships_maxResults,+ listGroupMemberships_nextToken,+ listGroupMemberships_identityStoreId,+ listGroupMemberships_groupId,++ -- * Destructuring the Response+ ListGroupMembershipsResponse (..),+ newListGroupMembershipsResponse,++ -- * Response Lenses+ listGroupMembershipsResponse_nextToken,+ listGroupMembershipsResponse_httpStatus,+ listGroupMembershipsResponse_groupMemberships,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListGroupMemberships' smart constructor.+data ListGroupMemberships = ListGroupMemberships'+ { -- | The maximum number of results to be returned per request. This parameter+ -- is used in all @List@ requests to specify how many results to return in+ -- one page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token used for the @ListUsers@, @ListGroups@ and+ -- @ListGroupMemberships@ API operations. This value is generated by the+ -- identity store service. It is returned in the API response if the total+ -- results are more than the size of one page. This token is also returned+ -- when it is used in the API request to search for the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | The identifier for a group in the identity store.+ groupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGroupMemberships' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listGroupMemberships_maxResults' - The maximum number of results to be returned per request. This parameter+-- is used in all @List@ requests to specify how many results to return in+-- one page.+--+-- 'nextToken', 'listGroupMemberships_nextToken' - The pagination token used for the @ListUsers@, @ListGroups@ and+-- @ListGroupMemberships@ API operations. This value is generated by the+-- identity store service. It is returned in the API response if the total+-- results are more than the size of one page. This token is also returned+-- when it is used in the API request to search for the next page.+--+-- 'identityStoreId', 'listGroupMemberships_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'groupId', 'listGroupMemberships_groupId' - The identifier for a group in the identity store.+newListGroupMemberships ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'groupId'+ Prelude.Text ->+ ListGroupMemberships+newListGroupMemberships pIdentityStoreId_ pGroupId_ =+ ListGroupMemberships'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ identityStoreId = pIdentityStoreId_,+ groupId = pGroupId_+ }++-- | The maximum number of results to be returned per request. This parameter+-- is used in all @List@ requests to specify how many results to return in+-- one page.+listGroupMemberships_maxResults :: Lens.Lens' ListGroupMemberships (Prelude.Maybe Prelude.Natural)+listGroupMemberships_maxResults = Lens.lens (\ListGroupMemberships' {maxResults} -> maxResults) (\s@ListGroupMemberships' {} a -> s {maxResults = a} :: ListGroupMemberships)++-- | The pagination token used for the @ListUsers@, @ListGroups@ and+-- @ListGroupMemberships@ API operations. This value is generated by the+-- identity store service. It is returned in the API response if the total+-- results are more than the size of one page. This token is also returned+-- when it is used in the API request to search for the next page.+listGroupMemberships_nextToken :: Lens.Lens' ListGroupMemberships (Prelude.Maybe Prelude.Text)+listGroupMemberships_nextToken = Lens.lens (\ListGroupMemberships' {nextToken} -> nextToken) (\s@ListGroupMemberships' {} a -> s {nextToken = a} :: ListGroupMemberships)++-- | The globally unique identifier for the identity store.+listGroupMemberships_identityStoreId :: Lens.Lens' ListGroupMemberships Prelude.Text+listGroupMemberships_identityStoreId = Lens.lens (\ListGroupMemberships' {identityStoreId} -> identityStoreId) (\s@ListGroupMemberships' {} a -> s {identityStoreId = a} :: ListGroupMemberships)++-- | The identifier for a group in the identity store.+listGroupMemberships_groupId :: Lens.Lens' ListGroupMemberships Prelude.Text+listGroupMemberships_groupId = Lens.lens (\ListGroupMemberships' {groupId} -> groupId) (\s@ListGroupMemberships' {} a -> s {groupId = a} :: ListGroupMemberships)++instance Core.AWSPager ListGroupMemberships where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listGroupMembershipsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listGroupMembershipsResponse_groupMemberships+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listGroupMemberships_nextToken+ Lens..~ rs+ Lens.^? listGroupMembershipsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListGroupMemberships where+ type+ AWSResponse ListGroupMemberships =+ ListGroupMembershipsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListGroupMembershipsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "GroupMemberships"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListGroupMemberships where+ hashWithSalt _salt ListGroupMemberships' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` groupId++instance Prelude.NFData ListGroupMemberships where+ rnf ListGroupMemberships' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf groupId++instance Data.ToHeaders ListGroupMemberships where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.ListGroupMemberships" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListGroupMemberships where+ toJSON ListGroupMemberships' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("GroupId" Data..= groupId)+ ]+ )++instance Data.ToPath ListGroupMemberships where+ toPath = Prelude.const "/"++instance Data.ToQuery ListGroupMemberships where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListGroupMembershipsResponse' smart constructor.+data ListGroupMembershipsResponse = ListGroupMembershipsResponse'+ { -- | The pagination token used for the @ListUsers@, @ListGroups@, and+ -- @ListGroupMemberships@ API operations. This value is generated by the+ -- identity store service. It is returned in the API response if the total+ -- results are more than the size of one page. This token is also returned+ -- when it is used in the API request to search for the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list of @GroupMembership@ objects in the group.+ groupMemberships :: [GroupMembership]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGroupMembershipsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listGroupMembershipsResponse_nextToken' - The pagination token used for the @ListUsers@, @ListGroups@, and+-- @ListGroupMemberships@ API operations. This value is generated by the+-- identity store service. It is returned in the API response if the total+-- results are more than the size of one page. This token is also returned+-- when it is used in the API request to search for the next page.+--+-- 'httpStatus', 'listGroupMembershipsResponse_httpStatus' - The response's http status code.+--+-- 'groupMemberships', 'listGroupMembershipsResponse_groupMemberships' - A list of @GroupMembership@ objects in the group.+newListGroupMembershipsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListGroupMembershipsResponse+newListGroupMembershipsResponse pHttpStatus_ =+ ListGroupMembershipsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ groupMemberships = Prelude.mempty+ }++-- | The pagination token used for the @ListUsers@, @ListGroups@, and+-- @ListGroupMemberships@ API operations. This value is generated by the+-- identity store service. It is returned in the API response if the total+-- results are more than the size of one page. This token is also returned+-- when it is used in the API request to search for the next page.+listGroupMembershipsResponse_nextToken :: Lens.Lens' ListGroupMembershipsResponse (Prelude.Maybe Prelude.Text)+listGroupMembershipsResponse_nextToken = Lens.lens (\ListGroupMembershipsResponse' {nextToken} -> nextToken) (\s@ListGroupMembershipsResponse' {} a -> s {nextToken = a} :: ListGroupMembershipsResponse)++-- | The response's http status code.+listGroupMembershipsResponse_httpStatus :: Lens.Lens' ListGroupMembershipsResponse Prelude.Int+listGroupMembershipsResponse_httpStatus = Lens.lens (\ListGroupMembershipsResponse' {httpStatus} -> httpStatus) (\s@ListGroupMembershipsResponse' {} a -> s {httpStatus = a} :: ListGroupMembershipsResponse)++-- | A list of @GroupMembership@ objects in the group.+listGroupMembershipsResponse_groupMemberships :: Lens.Lens' ListGroupMembershipsResponse [GroupMembership]+listGroupMembershipsResponse_groupMemberships = Lens.lens (\ListGroupMembershipsResponse' {groupMemberships} -> groupMemberships) (\s@ListGroupMembershipsResponse' {} a -> s {groupMemberships = a} :: ListGroupMembershipsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListGroupMembershipsResponse where+ rnf ListGroupMembershipsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf groupMemberships
+ gen/Amazonka/IdentityStore/ListGroupMembershipsForMember.hs view
@@ -0,0 +1,303 @@+{-# 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.IdentityStore.ListGroupMembershipsForMember+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- For the specified member in the specified identity store, returns the+-- list of all @GroupMembership@ objects and returns results in paginated+-- form.+--+-- This operation returns paginated results.+module Amazonka.IdentityStore.ListGroupMembershipsForMember+ ( -- * Creating a Request+ ListGroupMembershipsForMember (..),+ newListGroupMembershipsForMember,++ -- * Request Lenses+ listGroupMembershipsForMember_maxResults,+ listGroupMembershipsForMember_nextToken,+ listGroupMembershipsForMember_identityStoreId,+ listGroupMembershipsForMember_memberId,++ -- * Destructuring the Response+ ListGroupMembershipsForMemberResponse (..),+ newListGroupMembershipsForMemberResponse,++ -- * Response Lenses+ listGroupMembershipsForMemberResponse_nextToken,+ listGroupMembershipsForMemberResponse_httpStatus,+ listGroupMembershipsForMemberResponse_groupMemberships,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListGroupMembershipsForMember' smart constructor.+data ListGroupMembershipsForMember = ListGroupMembershipsForMember'+ { -- | The maximum number of results to be returned per request. This parameter+ -- is used in the @ListUsers@ and @ListGroups@ requests to specify how many+ -- results to return in one page. The length limit is 50 characters.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token used for the @ListUsers@, @ListGroups@, and+ -- @ListGroupMemberships@ API operations. This value is generated by the+ -- identity store service. It is returned in the API response if the total+ -- results are more than the size of one page. This token is also returned+ -- when it is used in the API request to search for the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | An object that contains the identifier of a group member. Setting the+ -- @UserID@ field to the specific identifier for a user indicates that the+ -- user is a member of the group.+ memberId :: MemberId+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGroupMembershipsForMember' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listGroupMembershipsForMember_maxResults' - The maximum number of results to be returned per request. This parameter+-- is used in the @ListUsers@ and @ListGroups@ requests to specify how many+-- results to return in one page. The length limit is 50 characters.+--+-- 'nextToken', 'listGroupMembershipsForMember_nextToken' - The pagination token used for the @ListUsers@, @ListGroups@, and+-- @ListGroupMemberships@ API operations. This value is generated by the+-- identity store service. It is returned in the API response if the total+-- results are more than the size of one page. This token is also returned+-- when it is used in the API request to search for the next page.+--+-- 'identityStoreId', 'listGroupMembershipsForMember_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'memberId', 'listGroupMembershipsForMember_memberId' - An object that contains the identifier of a group member. Setting the+-- @UserID@ field to the specific identifier for a user indicates that the+-- user is a member of the group.+newListGroupMembershipsForMember ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'memberId'+ MemberId ->+ ListGroupMembershipsForMember+newListGroupMembershipsForMember+ pIdentityStoreId_+ pMemberId_ =+ ListGroupMembershipsForMember'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ identityStoreId = pIdentityStoreId_,+ memberId = pMemberId_+ }++-- | The maximum number of results to be returned per request. This parameter+-- is used in the @ListUsers@ and @ListGroups@ requests to specify how many+-- results to return in one page. The length limit is 50 characters.+listGroupMembershipsForMember_maxResults :: Lens.Lens' ListGroupMembershipsForMember (Prelude.Maybe Prelude.Natural)+listGroupMembershipsForMember_maxResults = Lens.lens (\ListGroupMembershipsForMember' {maxResults} -> maxResults) (\s@ListGroupMembershipsForMember' {} a -> s {maxResults = a} :: ListGroupMembershipsForMember)++-- | The pagination token used for the @ListUsers@, @ListGroups@, and+-- @ListGroupMemberships@ API operations. This value is generated by the+-- identity store service. It is returned in the API response if the total+-- results are more than the size of one page. This token is also returned+-- when it is used in the API request to search for the next page.+listGroupMembershipsForMember_nextToken :: Lens.Lens' ListGroupMembershipsForMember (Prelude.Maybe Prelude.Text)+listGroupMembershipsForMember_nextToken = Lens.lens (\ListGroupMembershipsForMember' {nextToken} -> nextToken) (\s@ListGroupMembershipsForMember' {} a -> s {nextToken = a} :: ListGroupMembershipsForMember)++-- | The globally unique identifier for the identity store.+listGroupMembershipsForMember_identityStoreId :: Lens.Lens' ListGroupMembershipsForMember Prelude.Text+listGroupMembershipsForMember_identityStoreId = Lens.lens (\ListGroupMembershipsForMember' {identityStoreId} -> identityStoreId) (\s@ListGroupMembershipsForMember' {} a -> s {identityStoreId = a} :: ListGroupMembershipsForMember)++-- | An object that contains the identifier of a group member. Setting the+-- @UserID@ field to the specific identifier for a user indicates that the+-- user is a member of the group.+listGroupMembershipsForMember_memberId :: Lens.Lens' ListGroupMembershipsForMember MemberId+listGroupMembershipsForMember_memberId = Lens.lens (\ListGroupMembershipsForMember' {memberId} -> memberId) (\s@ListGroupMembershipsForMember' {} a -> s {memberId = a} :: ListGroupMembershipsForMember)++instance Core.AWSPager ListGroupMembershipsForMember where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listGroupMembershipsForMemberResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listGroupMembershipsForMemberResponse_groupMemberships+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listGroupMembershipsForMember_nextToken+ Lens..~ rs+ Lens.^? listGroupMembershipsForMemberResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListGroupMembershipsForMember+ where+ type+ AWSResponse ListGroupMembershipsForMember =+ ListGroupMembershipsForMemberResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListGroupMembershipsForMemberResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "GroupMemberships"+ Core..!@ Prelude.mempty+ )+ )++instance+ Prelude.Hashable+ ListGroupMembershipsForMember+ where+ hashWithSalt _salt ListGroupMembershipsForMember' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` memberId++instance Prelude.NFData ListGroupMembershipsForMember where+ rnf ListGroupMembershipsForMember' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf memberId++instance Data.ToHeaders ListGroupMembershipsForMember where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.ListGroupMembershipsForMember" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListGroupMembershipsForMember where+ toJSON ListGroupMembershipsForMember' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("MemberId" Data..= memberId)+ ]+ )++instance Data.ToPath ListGroupMembershipsForMember where+ toPath = Prelude.const "/"++instance Data.ToQuery ListGroupMembershipsForMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListGroupMembershipsForMemberResponse' smart constructor.+data ListGroupMembershipsForMemberResponse = ListGroupMembershipsForMemberResponse'+ { -- | The pagination token used for the @ListUsers@, @ListGroups@, and+ -- @ListGroupMemberships@ API operations. This value is generated by the+ -- identity store service. It is returned in the API response if the total+ -- results are more than the size of one page. This token is also returned+ -- when it is used in the API request to search for the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list of @GroupMembership@ objects in the group for a specified member.+ groupMemberships :: [GroupMembership]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGroupMembershipsForMemberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listGroupMembershipsForMemberResponse_nextToken' - The pagination token used for the @ListUsers@, @ListGroups@, and+-- @ListGroupMemberships@ API operations. This value is generated by the+-- identity store service. It is returned in the API response if the total+-- results are more than the size of one page. This token is also returned+-- when it is used in the API request to search for the next page.+--+-- 'httpStatus', 'listGroupMembershipsForMemberResponse_httpStatus' - The response's http status code.+--+-- 'groupMemberships', 'listGroupMembershipsForMemberResponse_groupMemberships' - A list of @GroupMembership@ objects in the group for a specified member.+newListGroupMembershipsForMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListGroupMembershipsForMemberResponse+newListGroupMembershipsForMemberResponse pHttpStatus_ =+ ListGroupMembershipsForMemberResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ groupMemberships = Prelude.mempty+ }++-- | The pagination token used for the @ListUsers@, @ListGroups@, and+-- @ListGroupMemberships@ API operations. This value is generated by the+-- identity store service. It is returned in the API response if the total+-- results are more than the size of one page. This token is also returned+-- when it is used in the API request to search for the next page.+listGroupMembershipsForMemberResponse_nextToken :: Lens.Lens' ListGroupMembershipsForMemberResponse (Prelude.Maybe Prelude.Text)+listGroupMembershipsForMemberResponse_nextToken = Lens.lens (\ListGroupMembershipsForMemberResponse' {nextToken} -> nextToken) (\s@ListGroupMembershipsForMemberResponse' {} a -> s {nextToken = a} :: ListGroupMembershipsForMemberResponse)++-- | The response's http status code.+listGroupMembershipsForMemberResponse_httpStatus :: Lens.Lens' ListGroupMembershipsForMemberResponse Prelude.Int+listGroupMembershipsForMemberResponse_httpStatus = Lens.lens (\ListGroupMembershipsForMemberResponse' {httpStatus} -> httpStatus) (\s@ListGroupMembershipsForMemberResponse' {} a -> s {httpStatus = a} :: ListGroupMembershipsForMemberResponse)++-- | A list of @GroupMembership@ objects in the group for a specified member.+listGroupMembershipsForMemberResponse_groupMemberships :: Lens.Lens' ListGroupMembershipsForMemberResponse [GroupMembership]+listGroupMembershipsForMemberResponse_groupMemberships = Lens.lens (\ListGroupMembershipsForMemberResponse' {groupMemberships} -> groupMemberships) (\s@ListGroupMembershipsForMemberResponse' {} a -> s {groupMemberships = a} :: ListGroupMembershipsForMemberResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ ListGroupMembershipsForMemberResponse+ where+ rnf ListGroupMembershipsForMemberResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf groupMemberships
+ gen/Amazonka/IdentityStore/ListGroups.hs view
@@ -0,0 +1,289 @@+{-# 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.IdentityStore.ListGroups+-- 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 groups in the identity store. Returns a paginated list of+-- complete @Group@ objects. Filtering for a @Group@ by the @DisplayName@+-- attribute is deprecated. Instead, use the @GetGroupId@ API action.+--+-- This operation returns paginated results.+module Amazonka.IdentityStore.ListGroups+ ( -- * Creating a Request+ ListGroups (..),+ newListGroups,++ -- * Request Lenses+ listGroups_filters,+ listGroups_maxResults,+ listGroups_nextToken,+ listGroups_identityStoreId,++ -- * Destructuring the Response+ ListGroupsResponse (..),+ newListGroupsResponse,++ -- * Response Lenses+ listGroupsResponse_nextToken,+ listGroupsResponse_httpStatus,+ listGroupsResponse_groups,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListGroups' smart constructor.+data ListGroups = ListGroups'+ { -- | A list of @Filter@ objects, which is used in the @ListUsers@ and+ -- @ListGroups@ requests.+ filters :: Prelude.Maybe [Filter],+ -- | The maximum number of results to be returned per request. This parameter+ -- is used in the @ListUsers@ and @ListGroups@ requests to specify how many+ -- results to return in one page. The length limit is 50 characters.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token used for the @ListUsers@ and @ListGroups@ API+ -- operations. This value is generated by the identity store service. It is+ -- returned in the API response if the total results are more than the size+ -- of one page. This token is also returned when it is used in the API+ -- request to search for the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The globally unique identifier for the identity store, such as+ -- @d-1234567890@. In this example, @d-@ is a fixed prefix, and+ -- @1234567890@ is a randomly generated string that contains numbers and+ -- lower case letters. This value is generated at the time that a new+ -- identity store is created.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listGroups_filters' - A list of @Filter@ objects, which is used in the @ListUsers@ and+-- @ListGroups@ requests.+--+-- 'maxResults', 'listGroups_maxResults' - The maximum number of results to be returned per request. This parameter+-- is used in the @ListUsers@ and @ListGroups@ requests to specify how many+-- results to return in one page. The length limit is 50 characters.+--+-- 'nextToken', 'listGroups_nextToken' - The pagination token used for the @ListUsers@ and @ListGroups@ API+-- operations. This value is generated by the identity store service. It is+-- returned in the API response if the total results are more than the size+-- of one page. This token is also returned when it is used in the API+-- request to search for the next page.+--+-- 'identityStoreId', 'listGroups_identityStoreId' - The globally unique identifier for the identity store, such as+-- @d-1234567890@. In this example, @d-@ is a fixed prefix, and+-- @1234567890@ is a randomly generated string that contains numbers and+-- lower case letters. This value is generated at the time that a new+-- identity store is created.+newListGroups ::+ -- | 'identityStoreId'+ Prelude.Text ->+ ListGroups+newListGroups pIdentityStoreId_ =+ ListGroups'+ { filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ identityStoreId = pIdentityStoreId_+ }++-- | A list of @Filter@ objects, which is used in the @ListUsers@ and+-- @ListGroups@ requests.+listGroups_filters :: Lens.Lens' ListGroups (Prelude.Maybe [Filter])+listGroups_filters = Lens.lens (\ListGroups' {filters} -> filters) (\s@ListGroups' {} a -> s {filters = a} :: ListGroups) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results to be returned per request. This parameter+-- is used in the @ListUsers@ and @ListGroups@ requests to specify how many+-- results to return in one page. The length limit is 50 characters.+listGroups_maxResults :: Lens.Lens' ListGroups (Prelude.Maybe Prelude.Natural)+listGroups_maxResults = Lens.lens (\ListGroups' {maxResults} -> maxResults) (\s@ListGroups' {} a -> s {maxResults = a} :: ListGroups)++-- | The pagination token used for the @ListUsers@ and @ListGroups@ API+-- operations. This value is generated by the identity store service. It is+-- returned in the API response if the total results are more than the size+-- of one page. This token is also returned when it is used in the API+-- request to search for the next page.+listGroups_nextToken :: Lens.Lens' ListGroups (Prelude.Maybe Prelude.Text)+listGroups_nextToken = Lens.lens (\ListGroups' {nextToken} -> nextToken) (\s@ListGroups' {} a -> s {nextToken = a} :: ListGroups)++-- | The globally unique identifier for the identity store, such as+-- @d-1234567890@. In this example, @d-@ is a fixed prefix, and+-- @1234567890@ is a randomly generated string that contains numbers and+-- lower case letters. This value is generated at the time that a new+-- identity store is created.+listGroups_identityStoreId :: Lens.Lens' ListGroups Prelude.Text+listGroups_identityStoreId = Lens.lens (\ListGroups' {identityStoreId} -> identityStoreId) (\s@ListGroups' {} a -> s {identityStoreId = a} :: ListGroups)++instance Core.AWSPager ListGroups where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listGroupsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop (rs Lens.^. listGroupsResponse_groups) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listGroups_nextToken+ Lens..~ rs+ Lens.^? listGroupsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListGroups where+ type AWSResponse ListGroups = ListGroupsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListGroupsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Groups" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListGroups where+ hashWithSalt _salt ListGroups' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` identityStoreId++instance Prelude.NFData ListGroups where+ rnf ListGroups' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf identityStoreId++instance Data.ToHeaders ListGroups where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.ListGroups" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListGroups where+ toJSON ListGroups' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId)+ ]+ )++instance Data.ToPath ListGroups where+ toPath = Prelude.const "/"++instance Data.ToQuery ListGroups where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListGroupsResponse' smart constructor.+data ListGroupsResponse = ListGroupsResponse'+ { -- | The pagination token used for the @ListUsers@ and @ListGroups@ API+ -- operations. This value is generated by the identity store service. It is+ -- returned in the API response if the total results are more than the size+ -- of one page. This token is also returned when it1 is used in the API+ -- request to search for the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list of @Group@ objects in the identity store.+ groups :: [Group]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listGroupsResponse_nextToken' - The pagination token used for the @ListUsers@ and @ListGroups@ API+-- operations. This value is generated by the identity store service. It is+-- returned in the API response if the total results are more than the size+-- of one page. This token is also returned when it1 is used in the API+-- request to search for the next page.+--+-- 'httpStatus', 'listGroupsResponse_httpStatus' - The response's http status code.+--+-- 'groups', 'listGroupsResponse_groups' - A list of @Group@ objects in the identity store.+newListGroupsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListGroupsResponse+newListGroupsResponse pHttpStatus_ =+ ListGroupsResponse'+ { nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ groups = Prelude.mempty+ }++-- | The pagination token used for the @ListUsers@ and @ListGroups@ API+-- operations. This value is generated by the identity store service. It is+-- returned in the API response if the total results are more than the size+-- of one page. This token is also returned when it1 is used in the API+-- request to search for the next page.+listGroupsResponse_nextToken :: Lens.Lens' ListGroupsResponse (Prelude.Maybe Prelude.Text)+listGroupsResponse_nextToken = Lens.lens (\ListGroupsResponse' {nextToken} -> nextToken) (\s@ListGroupsResponse' {} a -> s {nextToken = a} :: ListGroupsResponse)++-- | The response's http status code.+listGroupsResponse_httpStatus :: Lens.Lens' ListGroupsResponse Prelude.Int+listGroupsResponse_httpStatus = Lens.lens (\ListGroupsResponse' {httpStatus} -> httpStatus) (\s@ListGroupsResponse' {} a -> s {httpStatus = a} :: ListGroupsResponse)++-- | A list of @Group@ objects in the identity store.+listGroupsResponse_groups :: Lens.Lens' ListGroupsResponse [Group]+listGroupsResponse_groups = Lens.lens (\ListGroupsResponse' {groups} -> groups) (\s@ListGroupsResponse' {} a -> s {groups = a} :: ListGroupsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListGroupsResponse where+ rnf ListGroupsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf groups
+ gen/Amazonka/IdentityStore/ListUsers.hs view
@@ -0,0 +1,287 @@+{-# 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.IdentityStore.ListUsers+-- 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 users in the identity store. Returns a paginated list of+-- complete @User@ objects. Filtering for a @User@ by the @UserName@+-- attribute is deprecated. Instead, use the @GetUserId@ API action.+--+-- This operation returns paginated results.+module Amazonka.IdentityStore.ListUsers+ ( -- * Creating a Request+ ListUsers (..),+ newListUsers,++ -- * Request Lenses+ listUsers_filters,+ listUsers_maxResults,+ listUsers_nextToken,+ listUsers_identityStoreId,++ -- * Destructuring the Response+ ListUsersResponse (..),+ newListUsersResponse,++ -- * Response Lenses+ listUsersResponse_nextToken,+ listUsersResponse_httpStatus,+ listUsersResponse_users,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListUsers' smart constructor.+data ListUsers = ListUsers'+ { -- | A list of @Filter@ objects, which is used in the @ListUsers@ and+ -- @ListGroups@ requests.+ filters :: Prelude.Maybe [Filter],+ -- | The maximum number of results to be returned per request. This parameter+ -- is used in the @ListUsers@ and @ListGroups@ requests to specify how many+ -- results to return in one page. The length limit is 50 characters.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token used for the @ListUsers@ and @ListGroups@ API+ -- operations. This value is generated by the identity store service. It is+ -- returned in the API response if the total results are more than the size+ -- of one page. This token is also returned when it is used in the API+ -- request to search for the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The globally unique identifier for the identity store, such as+ -- @d-1234567890@. In this example, @d-@ is a fixed prefix, and+ -- @1234567890@ is a randomly generated string that contains numbers and+ -- lower case letters. This value is generated at the time that a new+ -- identity store is created.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUsers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listUsers_filters' - A list of @Filter@ objects, which is used in the @ListUsers@ and+-- @ListGroups@ requests.+--+-- 'maxResults', 'listUsers_maxResults' - The maximum number of results to be returned per request. This parameter+-- is used in the @ListUsers@ and @ListGroups@ requests to specify how many+-- results to return in one page. The length limit is 50 characters.+--+-- 'nextToken', 'listUsers_nextToken' - The pagination token used for the @ListUsers@ and @ListGroups@ API+-- operations. This value is generated by the identity store service. It is+-- returned in the API response if the total results are more than the size+-- of one page. This token is also returned when it is used in the API+-- request to search for the next page.+--+-- 'identityStoreId', 'listUsers_identityStoreId' - The globally unique identifier for the identity store, such as+-- @d-1234567890@. In this example, @d-@ is a fixed prefix, and+-- @1234567890@ is a randomly generated string that contains numbers and+-- lower case letters. This value is generated at the time that a new+-- identity store is created.+newListUsers ::+ -- | 'identityStoreId'+ Prelude.Text ->+ ListUsers+newListUsers pIdentityStoreId_ =+ ListUsers'+ { filters = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ identityStoreId = pIdentityStoreId_+ }++-- | A list of @Filter@ objects, which is used in the @ListUsers@ and+-- @ListGroups@ requests.+listUsers_filters :: Lens.Lens' ListUsers (Prelude.Maybe [Filter])+listUsers_filters = Lens.lens (\ListUsers' {filters} -> filters) (\s@ListUsers' {} a -> s {filters = a} :: ListUsers) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results to be returned per request. This parameter+-- is used in the @ListUsers@ and @ListGroups@ requests to specify how many+-- results to return in one page. The length limit is 50 characters.+listUsers_maxResults :: Lens.Lens' ListUsers (Prelude.Maybe Prelude.Natural)+listUsers_maxResults = Lens.lens (\ListUsers' {maxResults} -> maxResults) (\s@ListUsers' {} a -> s {maxResults = a} :: ListUsers)++-- | The pagination token used for the @ListUsers@ and @ListGroups@ API+-- operations. This value is generated by the identity store service. It is+-- returned in the API response if the total results are more than the size+-- of one page. This token is also returned when it is used in the API+-- request to search for the next page.+listUsers_nextToken :: Lens.Lens' ListUsers (Prelude.Maybe Prelude.Text)+listUsers_nextToken = Lens.lens (\ListUsers' {nextToken} -> nextToken) (\s@ListUsers' {} a -> s {nextToken = a} :: ListUsers)++-- | The globally unique identifier for the identity store, such as+-- @d-1234567890@. In this example, @d-@ is a fixed prefix, and+-- @1234567890@ is a randomly generated string that contains numbers and+-- lower case letters. This value is generated at the time that a new+-- identity store is created.+listUsers_identityStoreId :: Lens.Lens' ListUsers Prelude.Text+listUsers_identityStoreId = Lens.lens (\ListUsers' {identityStoreId} -> identityStoreId) (\s@ListUsers' {} a -> s {identityStoreId = a} :: ListUsers)++instance Core.AWSPager ListUsers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listUsersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop (rs Lens.^. listUsersResponse_users) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listUsers_nextToken+ Lens..~ rs+ Lens.^? listUsersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListUsers where+ type AWSResponse ListUsers = ListUsersResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListUsersResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Users" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListUsers where+ hashWithSalt _salt ListUsers' {..} =+ _salt+ `Prelude.hashWithSalt` filters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` identityStoreId++instance Prelude.NFData ListUsers where+ rnf ListUsers' {..} =+ Prelude.rnf filters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf identityStoreId++instance Data.ToHeaders ListUsers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("AWSIdentityStore.ListUsers" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListUsers where+ toJSON ListUsers' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filters" Data..=) Prelude.<$> filters,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId)+ ]+ )++instance Data.ToPath ListUsers where+ toPath = Prelude.const "/"++instance Data.ToQuery ListUsers where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListUsersResponse' smart constructor.+data ListUsersResponse = ListUsersResponse'+ { -- | The pagination token used for the @ListUsers@ and @ListGroups@ API+ -- operations. This value is generated by the identity store service. It is+ -- returned in the API response if the total results are more than the size+ -- of one page. This token is also returned when it is used in the API+ -- request to search for the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list of @User@ objects in the identity store.+ users :: [User]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListUsersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listUsersResponse_nextToken' - The pagination token used for the @ListUsers@ and @ListGroups@ API+-- operations. This value is generated by the identity store service. It is+-- returned in the API response if the total results are more than the size+-- of one page. This token is also returned when it is used in the API+-- request to search for the next page.+--+-- 'httpStatus', 'listUsersResponse_httpStatus' - The response's http status code.+--+-- 'users', 'listUsersResponse_users' - A list of @User@ objects in the identity store.+newListUsersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListUsersResponse+newListUsersResponse pHttpStatus_ =+ ListUsersResponse'+ { nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ users = Prelude.mempty+ }++-- | The pagination token used for the @ListUsers@ and @ListGroups@ API+-- operations. This value is generated by the identity store service. It is+-- returned in the API response if the total results are more than the size+-- of one page. This token is also returned when it is used in the API+-- request to search for the next page.+listUsersResponse_nextToken :: Lens.Lens' ListUsersResponse (Prelude.Maybe Prelude.Text)+listUsersResponse_nextToken = Lens.lens (\ListUsersResponse' {nextToken} -> nextToken) (\s@ListUsersResponse' {} a -> s {nextToken = a} :: ListUsersResponse)++-- | The response's http status code.+listUsersResponse_httpStatus :: Lens.Lens' ListUsersResponse Prelude.Int+listUsersResponse_httpStatus = Lens.lens (\ListUsersResponse' {httpStatus} -> httpStatus) (\s@ListUsersResponse' {} a -> s {httpStatus = a} :: ListUsersResponse)++-- | A list of @User@ objects in the identity store.+listUsersResponse_users :: Lens.Lens' ListUsersResponse [User]+listUsersResponse_users = Lens.lens (\ListUsersResponse' {users} -> users) (\s@ListUsersResponse' {} a -> s {users = a} :: ListUsersResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListUsersResponse where+ rnf ListUsersResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf users
+ gen/Amazonka/IdentityStore/Types.hs view
@@ -0,0 +1,297 @@+{-# 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.IdentityStore.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.IdentityStore.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _InternalServerException,+ _ResourceNotFoundException,+ _ServiceQuotaExceededException,+ _ThrottlingException,+ _ValidationException,++ -- * Address+ Address (..),+ newAddress,+ address_country,+ address_formatted,+ address_locality,+ address_postalCode,+ address_primary,+ address_region,+ address_streetAddress,+ address_type,++ -- * AlternateIdentifier+ AlternateIdentifier (..),+ newAlternateIdentifier,+ alternateIdentifier_externalId,+ alternateIdentifier_uniqueAttribute,++ -- * AttributeOperation+ AttributeOperation (..),+ newAttributeOperation,+ attributeOperation_attributeValue,+ attributeOperation_attributePath,++ -- * AttributeValue+ AttributeValue (..),+ newAttributeValue,++ -- * Email+ Email (..),+ newEmail,+ email_primary,+ email_type,+ email_value,++ -- * ExternalId+ ExternalId (..),+ newExternalId,+ externalId_issuer,+ externalId_id,++ -- * Filter+ Filter (..),+ newFilter,+ filter_attributePath,+ filter_attributeValue,++ -- * Group+ Group (..),+ newGroup,+ group_description,+ group_displayName,+ group_externalIds,+ group_groupId,+ group_identityStoreId,++ -- * GroupMembership+ GroupMembership (..),+ newGroupMembership,+ groupMembership_groupId,+ groupMembership_memberId,+ groupMembership_membershipId,+ groupMembership_identityStoreId,++ -- * GroupMembershipExistenceResult+ GroupMembershipExistenceResult (..),+ newGroupMembershipExistenceResult,+ groupMembershipExistenceResult_groupId,+ groupMembershipExistenceResult_memberId,+ groupMembershipExistenceResult_membershipExists,++ -- * MemberId+ MemberId (..),+ newMemberId,+ memberId_userId,++ -- * Name+ Name (..),+ newName,+ name_familyName,+ name_formatted,+ name_givenName,+ name_honorificPrefix,+ name_honorificSuffix,+ name_middleName,++ -- * PhoneNumber+ PhoneNumber (..),+ newPhoneNumber,+ phoneNumber_primary,+ phoneNumber_type,+ phoneNumber_value,++ -- * UniqueAttribute+ UniqueAttribute (..),+ newUniqueAttribute,+ uniqueAttribute_attributePath,+ uniqueAttribute_attributeValue,++ -- * User+ User (..),+ newUser,+ user_addresses,+ user_displayName,+ user_emails,+ user_externalIds,+ user_locale,+ user_name,+ user_nickName,+ user_phoneNumbers,+ user_preferredLanguage,+ user_profileUrl,+ user_timezone,+ user_title,+ user_userName,+ user_userType,+ user_userId,+ user_identityStoreId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.IdentityStore.Types.Address+import Amazonka.IdentityStore.Types.AlternateIdentifier+import Amazonka.IdentityStore.Types.AttributeOperation+import Amazonka.IdentityStore.Types.AttributeValue+import Amazonka.IdentityStore.Types.Email+import Amazonka.IdentityStore.Types.ExternalId+import Amazonka.IdentityStore.Types.Filter+import Amazonka.IdentityStore.Types.Group+import Amazonka.IdentityStore.Types.GroupMembership+import Amazonka.IdentityStore.Types.GroupMembershipExistenceResult+import Amazonka.IdentityStore.Types.MemberId+import Amazonka.IdentityStore.Types.Name+import Amazonka.IdentityStore.Types.PhoneNumber+import Amazonka.IdentityStore.Types.UniqueAttribute+import Amazonka.IdentityStore.Types.User+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-06-15@ of the Amazon SSO Identity Store SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "IdentityStore",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "identitystore",+ Core.signingName = "identitystore",+ Core.version = "2020-06-15",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "IdentityStore",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | You do not have sufficient access to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"++-- | This request cannot be completed for one of the following reasons:+--+-- - Performing the requested operation would violate an existing+-- uniqueness claim in the identity store. Resolve the conflict before+-- retrying this request.+--+-- - The requested resource was being concurrently modified by another+-- request.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"++-- | The request processing has failed because of an unknown error, exception+-- or failure with an internal server.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"++-- | Indicates that a requested resource is not found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"++-- | The request would cause the number of users or groups in the identity+-- store to exceed the maximum allowed.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"++-- | Indicates that the principal has crossed the throttling limits of the+-- API operations.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"++-- | The request failed because it contains a syntax error.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"
+ gen/Amazonka/IdentityStore/Types/Address.hs view
@@ -0,0 +1,174 @@+{-# 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.IdentityStore.Types.Address+-- 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.IdentityStore.Types.Address 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 address associated with the specified user.+--+-- /See:/ 'newAddress' smart constructor.+data Address = Address'+ { -- | The country of the address.+ country :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string containing a formatted version of the address for display.+ formatted :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string of the address locality.+ locality :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The postal code of the address.+ postalCode :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A Boolean value representing whether this is the primary address for the+ -- associated resource.+ primary :: Prelude.Maybe (Data.Sensitive Prelude.Bool),+ -- | The region of the address.+ region :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The street of the address.+ streetAddress :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string representing the type of address. For example, \"Home.\"+ type' :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Address' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'country', 'address_country' - The country of the address.+--+-- 'formatted', 'address_formatted' - A string containing a formatted version of the address for display.+--+-- 'locality', 'address_locality' - A string of the address locality.+--+-- 'postalCode', 'address_postalCode' - The postal code of the address.+--+-- 'primary', 'address_primary' - A Boolean value representing whether this is the primary address for the+-- associated resource.+--+-- 'region', 'address_region' - The region of the address.+--+-- 'streetAddress', 'address_streetAddress' - The street of the address.+--+-- 'type'', 'address_type' - A string representing the type of address. For example, \"Home.\"+newAddress ::+ Address+newAddress =+ Address'+ { country = Prelude.Nothing,+ formatted = Prelude.Nothing,+ locality = Prelude.Nothing,+ postalCode = Prelude.Nothing,+ primary = Prelude.Nothing,+ region = Prelude.Nothing,+ streetAddress = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The country of the address.+address_country :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_country = Lens.lens (\Address' {country} -> country) (\s@Address' {} a -> s {country = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | A string containing a formatted version of the address for display.+address_formatted :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_formatted = Lens.lens (\Address' {formatted} -> formatted) (\s@Address' {} a -> s {formatted = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | A string of the address locality.+address_locality :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_locality = Lens.lens (\Address' {locality} -> locality) (\s@Address' {} a -> s {locality = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The postal code of the address.+address_postalCode :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_postalCode = Lens.lens (\Address' {postalCode} -> postalCode) (\s@Address' {} a -> s {postalCode = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | A Boolean value representing whether this is the primary address for the+-- associated resource.+address_primary :: Lens.Lens' Address (Prelude.Maybe Prelude.Bool)+address_primary = Lens.lens (\Address' {primary} -> primary) (\s@Address' {} a -> s {primary = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The region of the address.+address_region :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_region = Lens.lens (\Address' {region} -> region) (\s@Address' {} a -> s {region = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The street of the address.+address_streetAddress :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_streetAddress = Lens.lens (\Address' {streetAddress} -> streetAddress) (\s@Address' {} a -> s {streetAddress = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | A string representing the type of address. For example, \"Home.\"+address_type :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_type = Lens.lens (\Address' {type'} -> type') (\s@Address' {} a -> s {type' = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON Address where+ parseJSON =+ Data.withObject+ "Address"+ ( \x ->+ Address'+ Prelude.<$> (x Data..:? "Country")+ Prelude.<*> (x Data..:? "Formatted")+ Prelude.<*> (x Data..:? "Locality")+ Prelude.<*> (x Data..:? "PostalCode")+ Prelude.<*> (x Data..:? "Primary")+ Prelude.<*> (x Data..:? "Region")+ Prelude.<*> (x Data..:? "StreetAddress")+ Prelude.<*> (x Data..:? "Type")+ )++instance Prelude.Hashable Address where+ hashWithSalt _salt Address' {..} =+ _salt+ `Prelude.hashWithSalt` country+ `Prelude.hashWithSalt` formatted+ `Prelude.hashWithSalt` locality+ `Prelude.hashWithSalt` postalCode+ `Prelude.hashWithSalt` primary+ `Prelude.hashWithSalt` region+ `Prelude.hashWithSalt` streetAddress+ `Prelude.hashWithSalt` type'++instance Prelude.NFData Address where+ rnf Address' {..} =+ Prelude.rnf country+ `Prelude.seq` Prelude.rnf formatted+ `Prelude.seq` Prelude.rnf locality+ `Prelude.seq` Prelude.rnf postalCode+ `Prelude.seq` Prelude.rnf primary+ `Prelude.seq` Prelude.rnf region+ `Prelude.seq` Prelude.rnf streetAddress+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON Address where+ toJSON Address' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Country" Data..=) Prelude.<$> country,+ ("Formatted" Data..=) Prelude.<$> formatted,+ ("Locality" Data..=) Prelude.<$> locality,+ ("PostalCode" Data..=) Prelude.<$> postalCode,+ ("Primary" Data..=) Prelude.<$> primary,+ ("Region" Data..=) Prelude.<$> region,+ ("StreetAddress" Data..=) Prelude.<$> streetAddress,+ ("Type" Data..=) Prelude.<$> type'+ ]+ )
+ gen/Amazonka/IdentityStore/Types/AlternateIdentifier.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.Types.AlternateIdentifier+-- 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.IdentityStore.Types.AlternateIdentifier where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types.ExternalId+import Amazonka.IdentityStore.Types.UniqueAttribute+import qualified Amazonka.Prelude as Prelude++-- | A unique identifier for a user or group that is not the primary+-- identifier. This value can be an identifier from an external identity+-- provider (IdP) that is associated with the user, the group, or a unique+-- attribute. For example, a unique @GroupDisplayName@.+--+-- /See:/ 'newAlternateIdentifier' smart constructor.+data AlternateIdentifier = AlternateIdentifier'+ { -- | The identifier issued to this resource by an external identity provider.+ externalId :: Prelude.Maybe ExternalId,+ -- | An entity attribute that\'s unique to a specific entity.+ uniqueAttribute :: Prelude.Maybe UniqueAttribute+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlternateIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'externalId', 'alternateIdentifier_externalId' - The identifier issued to this resource by an external identity provider.+--+-- 'uniqueAttribute', 'alternateIdentifier_uniqueAttribute' - An entity attribute that\'s unique to a specific entity.+newAlternateIdentifier ::+ AlternateIdentifier+newAlternateIdentifier =+ AlternateIdentifier'+ { externalId = Prelude.Nothing,+ uniqueAttribute = Prelude.Nothing+ }++-- | The identifier issued to this resource by an external identity provider.+alternateIdentifier_externalId :: Lens.Lens' AlternateIdentifier (Prelude.Maybe ExternalId)+alternateIdentifier_externalId = Lens.lens (\AlternateIdentifier' {externalId} -> externalId) (\s@AlternateIdentifier' {} a -> s {externalId = a} :: AlternateIdentifier)++-- | An entity attribute that\'s unique to a specific entity.+alternateIdentifier_uniqueAttribute :: Lens.Lens' AlternateIdentifier (Prelude.Maybe UniqueAttribute)+alternateIdentifier_uniqueAttribute = Lens.lens (\AlternateIdentifier' {uniqueAttribute} -> uniqueAttribute) (\s@AlternateIdentifier' {} a -> s {uniqueAttribute = a} :: AlternateIdentifier)++instance Prelude.Hashable AlternateIdentifier where+ hashWithSalt _salt AlternateIdentifier' {..} =+ _salt+ `Prelude.hashWithSalt` externalId+ `Prelude.hashWithSalt` uniqueAttribute++instance Prelude.NFData AlternateIdentifier where+ rnf AlternateIdentifier' {..} =+ Prelude.rnf externalId+ `Prelude.seq` Prelude.rnf uniqueAttribute++instance Data.ToJSON AlternateIdentifier where+ toJSON AlternateIdentifier' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ExternalId" Data..=) Prelude.<$> externalId,+ ("UniqueAttribute" Data..=)+ Prelude.<$> uniqueAttribute+ ]+ )
+ gen/Amazonka/IdentityStore/Types/AttributeOperation.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.IdentityStore.Types.AttributeOperation+-- 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.IdentityStore.Types.AttributeOperation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types.AttributeValue+import qualified Amazonka.Prelude as Prelude++-- | An operation that applies to the requested group. This operation might+-- add, replace, or remove an attribute.+--+-- /See:/ 'newAttributeOperation' smart constructor.+data AttributeOperation = AttributeOperation'+ { -- | The value of the attribute. This is a @Document@ type. This type is not+ -- supported by Java V1, Go V1, and older versions of the AWS CLI.+ attributeValue :: Prelude.Maybe AttributeValue,+ -- | A string representation of the path to a given attribute or+ -- sub-attribute. Supports JMESPath.+ attributePath :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AttributeOperation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributeValue', 'attributeOperation_attributeValue' - The value of the attribute. This is a @Document@ type. This type is not+-- supported by Java V1, Go V1, and older versions of the AWS CLI.+--+-- 'attributePath', 'attributeOperation_attributePath' - A string representation of the path to a given attribute or+-- sub-attribute. Supports JMESPath.+newAttributeOperation ::+ -- | 'attributePath'+ Prelude.Text ->+ AttributeOperation+newAttributeOperation pAttributePath_ =+ AttributeOperation'+ { attributeValue =+ Prelude.Nothing,+ attributePath = pAttributePath_+ }++-- | The value of the attribute. This is a @Document@ type. This type is not+-- supported by Java V1, Go V1, and older versions of the AWS CLI.+attributeOperation_attributeValue :: Lens.Lens' AttributeOperation (Prelude.Maybe AttributeValue)+attributeOperation_attributeValue = Lens.lens (\AttributeOperation' {attributeValue} -> attributeValue) (\s@AttributeOperation' {} a -> s {attributeValue = a} :: AttributeOperation)++-- | A string representation of the path to a given attribute or+-- sub-attribute. Supports JMESPath.+attributeOperation_attributePath :: Lens.Lens' AttributeOperation Prelude.Text+attributeOperation_attributePath = Lens.lens (\AttributeOperation' {attributePath} -> attributePath) (\s@AttributeOperation' {} a -> s {attributePath = a} :: AttributeOperation)++instance Prelude.Hashable AttributeOperation where+ hashWithSalt _salt AttributeOperation' {..} =+ _salt+ `Prelude.hashWithSalt` attributeValue+ `Prelude.hashWithSalt` attributePath++instance Prelude.NFData AttributeOperation where+ rnf AttributeOperation' {..} =+ Prelude.rnf attributeValue+ `Prelude.seq` Prelude.rnf attributePath++instance Data.ToJSON AttributeOperation where+ toJSON AttributeOperation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AttributeValue" Data..=)+ Prelude.<$> attributeValue,+ Prelude.Just+ ("AttributePath" Data..= attributePath)+ ]+ )
+ gen/Amazonka/IdentityStore/Types/AttributeValue.hs view
@@ -0,0 +1,52 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.Types.AttributeValue+-- 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.IdentityStore.Types.AttributeValue 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 value of the attribute. This is a @Document@ type. This type is not+-- supported by Java V1, Go V1, and older versions of the AWS CLI.+--+-- /See:/ 'newAttributeValue' smart constructor.+data AttributeValue = AttributeValue'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AttributeValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newAttributeValue ::+ AttributeValue+newAttributeValue = AttributeValue'++instance Prelude.Hashable AttributeValue where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData AttributeValue where+ rnf _ = ()++instance Data.ToJSON AttributeValue where+ toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/IdentityStore/Types/Email.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.Types.Email+-- 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.IdentityStore.Types.Email 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 email address associated with the user.+--+-- /See:/ 'newEmail' smart constructor.+data Email = Email'+ { -- | A Boolean value representing whether this is the primary email address+ -- for the associated resource.+ primary :: Prelude.Maybe (Data.Sensitive Prelude.Bool),+ -- | A string representing the type of address. For example, \"Work.\"+ type' :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string containing an email address. For example,+ -- \"johndoe\@amazon.com.\"+ value :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Email' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'primary', 'email_primary' - A Boolean value representing whether this is the primary email address+-- for the associated resource.+--+-- 'type'', 'email_type' - A string representing the type of address. For example, \"Work.\"+--+-- 'value', 'email_value' - A string containing an email address. For example,+-- \"johndoe\@amazon.com.\"+newEmail ::+ Email+newEmail =+ Email'+ { primary = Prelude.Nothing,+ type' = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | A Boolean value representing whether this is the primary email address+-- for the associated resource.+email_primary :: Lens.Lens' Email (Prelude.Maybe Prelude.Bool)+email_primary = Lens.lens (\Email' {primary} -> primary) (\s@Email' {} a -> s {primary = a} :: Email) Prelude.. Lens.mapping Data._Sensitive++-- | A string representing the type of address. For example, \"Work.\"+email_type :: Lens.Lens' Email (Prelude.Maybe Prelude.Text)+email_type = Lens.lens (\Email' {type'} -> type') (\s@Email' {} a -> s {type' = a} :: Email) Prelude.. Lens.mapping Data._Sensitive++-- | A string containing an email address. For example,+-- \"johndoe\@amazon.com.\"+email_value :: Lens.Lens' Email (Prelude.Maybe Prelude.Text)+email_value = Lens.lens (\Email' {value} -> value) (\s@Email' {} a -> s {value = a} :: Email) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON Email where+ parseJSON =+ Data.withObject+ "Email"+ ( \x ->+ Email'+ Prelude.<$> (x Data..:? "Primary")+ Prelude.<*> (x Data..:? "Type")+ Prelude.<*> (x Data..:? "Value")+ )++instance Prelude.Hashable Email where+ hashWithSalt _salt Email' {..} =+ _salt+ `Prelude.hashWithSalt` primary+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` value++instance Prelude.NFData Email where+ rnf Email' {..} =+ Prelude.rnf primary+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Email where+ toJSON Email' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Primary" Data..=) Prelude.<$> primary,+ ("Type" Data..=) Prelude.<$> type',+ ("Value" Data..=) Prelude.<$> value+ ]+ )
+ gen/Amazonka/IdentityStore/Types/ExternalId.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.IdentityStore.Types.ExternalId+-- 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.IdentityStore.Types.ExternalId 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 identifier issued to this resource by an external identity provider.+--+-- /See:/ 'newExternalId' smart constructor.+data ExternalId = ExternalId'+ { -- | The issuer for an external identifier.+ issuer :: Data.Sensitive Prelude.Text,+ -- | The identifier issued to this resource by an external identity provider.+ id :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExternalId' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'issuer', 'externalId_issuer' - The issuer for an external identifier.+--+-- 'id', 'externalId_id' - The identifier issued to this resource by an external identity provider.+newExternalId ::+ -- | 'issuer'+ Prelude.Text ->+ -- | 'id'+ Prelude.Text ->+ ExternalId+newExternalId pIssuer_ pId_ =+ ExternalId'+ { issuer =+ Data._Sensitive Lens.# pIssuer_,+ id = Data._Sensitive Lens.# pId_+ }++-- | The issuer for an external identifier.+externalId_issuer :: Lens.Lens' ExternalId Prelude.Text+externalId_issuer = Lens.lens (\ExternalId' {issuer} -> issuer) (\s@ExternalId' {} a -> s {issuer = a} :: ExternalId) Prelude.. Data._Sensitive++-- | The identifier issued to this resource by an external identity provider.+externalId_id :: Lens.Lens' ExternalId Prelude.Text+externalId_id = Lens.lens (\ExternalId' {id} -> id) (\s@ExternalId' {} a -> s {id = a} :: ExternalId) Prelude.. Data._Sensitive++instance Data.FromJSON ExternalId where+ parseJSON =+ Data.withObject+ "ExternalId"+ ( \x ->+ ExternalId'+ Prelude.<$> (x Data..: "Issuer")+ Prelude.<*> (x Data..: "Id")+ )++instance Prelude.Hashable ExternalId where+ hashWithSalt _salt ExternalId' {..} =+ _salt+ `Prelude.hashWithSalt` issuer+ `Prelude.hashWithSalt` id++instance Prelude.NFData ExternalId where+ rnf ExternalId' {..} =+ Prelude.rnf issuer `Prelude.seq` Prelude.rnf id++instance Data.ToJSON ExternalId where+ toJSON ExternalId' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Issuer" Data..= issuer),+ Prelude.Just ("Id" Data..= id)+ ]+ )
+ gen/Amazonka/IdentityStore/Types/Filter.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.IdentityStore.Types.Filter+-- 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.IdentityStore.Types.Filter 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 query filter used by @ListUsers@ and @ListGroups@. This filter object+-- provides the attribute name and attribute value to search users or+-- groups.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+ { -- | The attribute path that is used to specify which attribute name to+ -- search. Length limit is 255 characters. For example, @UserName@ is a+ -- valid attribute path for the @ListUsers@ API, and @DisplayName@ is a+ -- valid attribute path for the @ListGroups@ API.+ attributePath :: Prelude.Text,+ -- | Represents the data for an attribute. Each attribute value is described+ -- as a name-value pair.+ attributeValue :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Filter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributePath', 'filter_attributePath' - The attribute path that is used to specify which attribute name to+-- search. Length limit is 255 characters. For example, @UserName@ is a+-- valid attribute path for the @ListUsers@ API, and @DisplayName@ is a+-- valid attribute path for the @ListGroups@ API.+--+-- 'attributeValue', 'filter_attributeValue' - Represents the data for an attribute. Each attribute value is described+-- as a name-value pair.+newFilter ::+ -- | 'attributePath'+ Prelude.Text ->+ -- | 'attributeValue'+ Prelude.Text ->+ Filter+newFilter pAttributePath_ pAttributeValue_ =+ Filter'+ { attributePath = pAttributePath_,+ attributeValue =+ Data._Sensitive Lens.# pAttributeValue_+ }++-- | The attribute path that is used to specify which attribute name to+-- search. Length limit is 255 characters. For example, @UserName@ is a+-- valid attribute path for the @ListUsers@ API, and @DisplayName@ is a+-- valid attribute path for the @ListGroups@ API.+filter_attributePath :: Lens.Lens' Filter Prelude.Text+filter_attributePath = Lens.lens (\Filter' {attributePath} -> attributePath) (\s@Filter' {} a -> s {attributePath = a} :: Filter)++-- | Represents the data for an attribute. Each attribute value is described+-- as a name-value pair.+filter_attributeValue :: Lens.Lens' Filter Prelude.Text+filter_attributeValue = Lens.lens (\Filter' {attributeValue} -> attributeValue) (\s@Filter' {} a -> s {attributeValue = a} :: Filter) Prelude.. Data._Sensitive++instance Prelude.Hashable Filter where+ hashWithSalt _salt Filter' {..} =+ _salt+ `Prelude.hashWithSalt` attributePath+ `Prelude.hashWithSalt` attributeValue++instance Prelude.NFData Filter where+ rnf Filter' {..} =+ Prelude.rnf attributePath+ `Prelude.seq` Prelude.rnf attributeValue++instance Data.ToJSON Filter where+ toJSON Filter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("AttributePath" Data..= attributePath),+ Prelude.Just+ ("AttributeValue" Data..= attributeValue)+ ]+ )
+ gen/Amazonka/IdentityStore/Types/Group.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.Types.Group+-- 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.IdentityStore.Types.Group where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types.ExternalId+import qualified Amazonka.Prelude as Prelude++-- | A group object that contains a specified group’s metadata and+-- attributes.+--+-- /See:/ 'newGroup' smart constructor.+data Group = Group'+ { -- | A string containing a description of the specified group.+ description :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The group’s display name value. The length limit is 1,024 characters.+ -- This value can consist of letters, accented characters, symbols,+ -- numbers, punctuation, tab, new line, carriage return, space, and+ -- nonbreaking space in this attribute. This value is specified at the time+ -- the group is created and stored as an attribute of the group object in+ -- the identity store.+ displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A list of @ExternalId@ objects that contains the identifiers issued to+ -- this resource by an external identity provider.+ externalIds :: Prelude.Maybe (Prelude.NonEmpty ExternalId),+ -- | The identifier for a group in the identity store.+ groupId :: Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Group' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'group_description' - A string containing a description of the specified group.+--+-- 'displayName', 'group_displayName' - The group’s display name value. The length limit is 1,024 characters.+-- This value can consist of letters, accented characters, symbols,+-- numbers, punctuation, tab, new line, carriage return, space, and+-- nonbreaking space in this attribute. This value is specified at the time+-- the group is created and stored as an attribute of the group object in+-- the identity store.+--+-- 'externalIds', 'group_externalIds' - A list of @ExternalId@ objects that contains the identifiers issued to+-- this resource by an external identity provider.+--+-- 'groupId', 'group_groupId' - The identifier for a group in the identity store.+--+-- 'identityStoreId', 'group_identityStoreId' - The globally unique identifier for the identity store.+newGroup ::+ -- | 'groupId'+ Prelude.Text ->+ -- | 'identityStoreId'+ Prelude.Text ->+ Group+newGroup pGroupId_ pIdentityStoreId_ =+ Group'+ { description = Prelude.Nothing,+ displayName = Prelude.Nothing,+ externalIds = Prelude.Nothing,+ groupId = pGroupId_,+ identityStoreId = pIdentityStoreId_+ }++-- | A string containing a description of the specified group.+group_description :: Lens.Lens' Group (Prelude.Maybe Prelude.Text)+group_description = Lens.lens (\Group' {description} -> description) (\s@Group' {} a -> s {description = a} :: Group) Prelude.. Lens.mapping Data._Sensitive++-- | The group’s display name value. The length limit is 1,024 characters.+-- This value can consist of letters, accented characters, symbols,+-- numbers, punctuation, tab, new line, carriage return, space, and+-- nonbreaking space in this attribute. This value is specified at the time+-- the group is created and stored as an attribute of the group object in+-- the identity store.+group_displayName :: Lens.Lens' Group (Prelude.Maybe Prelude.Text)+group_displayName = Lens.lens (\Group' {displayName} -> displayName) (\s@Group' {} a -> s {displayName = a} :: Group) Prelude.. Lens.mapping Data._Sensitive++-- | A list of @ExternalId@ objects that contains the identifiers issued to+-- this resource by an external identity provider.+group_externalIds :: Lens.Lens' Group (Prelude.Maybe (Prelude.NonEmpty ExternalId))+group_externalIds = Lens.lens (\Group' {externalIds} -> externalIds) (\s@Group' {} a -> s {externalIds = a} :: Group) Prelude.. Lens.mapping Lens.coerced++-- | The identifier for a group in the identity store.+group_groupId :: Lens.Lens' Group Prelude.Text+group_groupId = Lens.lens (\Group' {groupId} -> groupId) (\s@Group' {} a -> s {groupId = a} :: Group)++-- | The globally unique identifier for the identity store.+group_identityStoreId :: Lens.Lens' Group Prelude.Text+group_identityStoreId = Lens.lens (\Group' {identityStoreId} -> identityStoreId) (\s@Group' {} a -> s {identityStoreId = a} :: Group)++instance Data.FromJSON Group where+ parseJSON =+ Data.withObject+ "Group"+ ( \x ->+ Group'+ Prelude.<$> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "DisplayName")+ Prelude.<*> (x Data..:? "ExternalIds")+ Prelude.<*> (x Data..: "GroupId")+ Prelude.<*> (x Data..: "IdentityStoreId")+ )++instance Prelude.Hashable Group where+ hashWithSalt _salt Group' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` displayName+ `Prelude.hashWithSalt` externalIds+ `Prelude.hashWithSalt` groupId+ `Prelude.hashWithSalt` identityStoreId++instance Prelude.NFData Group where+ rnf Group' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf displayName+ `Prelude.seq` Prelude.rnf externalIds+ `Prelude.seq` Prelude.rnf groupId+ `Prelude.seq` Prelude.rnf identityStoreId
+ gen/Amazonka/IdentityStore/Types/GroupMembership.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.Types.GroupMembership+-- 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.IdentityStore.Types.GroupMembership where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types.MemberId+import qualified Amazonka.Prelude as Prelude++-- | Contains the identifiers for a group, a group member, and a+-- @GroupMembership@ object in the identity store.+--+-- /See:/ 'newGroupMembership' smart constructor.+data GroupMembership = GroupMembership'+ { -- | The identifier for a group in the identity store.+ groupId :: Prelude.Maybe Prelude.Text,+ -- | An object that contains the identifier of a group member. Setting the+ -- @UserID@ field to the specific identifier for a user indicates that the+ -- user is a member of the group.+ memberId :: Prelude.Maybe MemberId,+ -- | The identifier for a @GroupMembership@ object in an identity store.+ membershipId :: Prelude.Maybe Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GroupMembership' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupId', 'groupMembership_groupId' - The identifier for a group in the identity store.+--+-- 'memberId', 'groupMembership_memberId' - An object that contains the identifier of a group member. Setting the+-- @UserID@ field to the specific identifier for a user indicates that the+-- user is a member of the group.+--+-- 'membershipId', 'groupMembership_membershipId' - The identifier for a @GroupMembership@ object in an identity store.+--+-- 'identityStoreId', 'groupMembership_identityStoreId' - The globally unique identifier for the identity store.+newGroupMembership ::+ -- | 'identityStoreId'+ Prelude.Text ->+ GroupMembership+newGroupMembership pIdentityStoreId_ =+ GroupMembership'+ { groupId = Prelude.Nothing,+ memberId = Prelude.Nothing,+ membershipId = Prelude.Nothing,+ identityStoreId = pIdentityStoreId_+ }++-- | The identifier for a group in the identity store.+groupMembership_groupId :: Lens.Lens' GroupMembership (Prelude.Maybe Prelude.Text)+groupMembership_groupId = Lens.lens (\GroupMembership' {groupId} -> groupId) (\s@GroupMembership' {} a -> s {groupId = a} :: GroupMembership)++-- | An object that contains the identifier of a group member. Setting the+-- @UserID@ field to the specific identifier for a user indicates that the+-- user is a member of the group.+groupMembership_memberId :: Lens.Lens' GroupMembership (Prelude.Maybe MemberId)+groupMembership_memberId = Lens.lens (\GroupMembership' {memberId} -> memberId) (\s@GroupMembership' {} a -> s {memberId = a} :: GroupMembership)++-- | The identifier for a @GroupMembership@ object in an identity store.+groupMembership_membershipId :: Lens.Lens' GroupMembership (Prelude.Maybe Prelude.Text)+groupMembership_membershipId = Lens.lens (\GroupMembership' {membershipId} -> membershipId) (\s@GroupMembership' {} a -> s {membershipId = a} :: GroupMembership)++-- | The globally unique identifier for the identity store.+groupMembership_identityStoreId :: Lens.Lens' GroupMembership Prelude.Text+groupMembership_identityStoreId = Lens.lens (\GroupMembership' {identityStoreId} -> identityStoreId) (\s@GroupMembership' {} a -> s {identityStoreId = a} :: GroupMembership)++instance Data.FromJSON GroupMembership where+ parseJSON =+ Data.withObject+ "GroupMembership"+ ( \x ->+ GroupMembership'+ Prelude.<$> (x Data..:? "GroupId")+ Prelude.<*> (x Data..:? "MemberId")+ Prelude.<*> (x Data..:? "MembershipId")+ Prelude.<*> (x Data..: "IdentityStoreId")+ )++instance Prelude.Hashable GroupMembership where+ hashWithSalt _salt GroupMembership' {..} =+ _salt+ `Prelude.hashWithSalt` groupId+ `Prelude.hashWithSalt` memberId+ `Prelude.hashWithSalt` membershipId+ `Prelude.hashWithSalt` identityStoreId++instance Prelude.NFData GroupMembership where+ rnf GroupMembership' {..} =+ Prelude.rnf groupId+ `Prelude.seq` Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf membershipId+ `Prelude.seq` Prelude.rnf identityStoreId
+ gen/Amazonka/IdentityStore/Types/GroupMembershipExistenceResult.hs view
@@ -0,0 +1,113 @@+{-# 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.IdentityStore.Types.GroupMembershipExistenceResult+-- 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.IdentityStore.Types.GroupMembershipExistenceResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types.MemberId+import qualified Amazonka.Prelude as Prelude++-- | Indicates whether a resource is a member of a group in the identity+-- store.+--+-- /See:/ 'newGroupMembershipExistenceResult' smart constructor.+data GroupMembershipExistenceResult = GroupMembershipExistenceResult'+ { -- | The identifier for a group in the identity store.+ groupId :: Prelude.Maybe Prelude.Text,+ -- | An object that contains the identifier of a group member. Setting the+ -- @UserID@ field to the specific identifier for a user indicates that the+ -- user is a member of the group.+ memberId :: Prelude.Maybe MemberId,+ -- | Indicates whether a membership relation exists or not.+ membershipExists :: Prelude.Maybe (Data.Sensitive Prelude.Bool)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GroupMembershipExistenceResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupId', 'groupMembershipExistenceResult_groupId' - The identifier for a group in the identity store.+--+-- 'memberId', 'groupMembershipExistenceResult_memberId' - An object that contains the identifier of a group member. Setting the+-- @UserID@ field to the specific identifier for a user indicates that the+-- user is a member of the group.+--+-- 'membershipExists', 'groupMembershipExistenceResult_membershipExists' - Indicates whether a membership relation exists or not.+newGroupMembershipExistenceResult ::+ GroupMembershipExistenceResult+newGroupMembershipExistenceResult =+ GroupMembershipExistenceResult'+ { groupId =+ Prelude.Nothing,+ memberId = Prelude.Nothing,+ membershipExists = Prelude.Nothing+ }++-- | The identifier for a group in the identity store.+groupMembershipExistenceResult_groupId :: Lens.Lens' GroupMembershipExistenceResult (Prelude.Maybe Prelude.Text)+groupMembershipExistenceResult_groupId = Lens.lens (\GroupMembershipExistenceResult' {groupId} -> groupId) (\s@GroupMembershipExistenceResult' {} a -> s {groupId = a} :: GroupMembershipExistenceResult)++-- | An object that contains the identifier of a group member. Setting the+-- @UserID@ field to the specific identifier for a user indicates that the+-- user is a member of the group.+groupMembershipExistenceResult_memberId :: Lens.Lens' GroupMembershipExistenceResult (Prelude.Maybe MemberId)+groupMembershipExistenceResult_memberId = Lens.lens (\GroupMembershipExistenceResult' {memberId} -> memberId) (\s@GroupMembershipExistenceResult' {} a -> s {memberId = a} :: GroupMembershipExistenceResult)++-- | Indicates whether a membership relation exists or not.+groupMembershipExistenceResult_membershipExists :: Lens.Lens' GroupMembershipExistenceResult (Prelude.Maybe Prelude.Bool)+groupMembershipExistenceResult_membershipExists = Lens.lens (\GroupMembershipExistenceResult' {membershipExists} -> membershipExists) (\s@GroupMembershipExistenceResult' {} a -> s {membershipExists = a} :: GroupMembershipExistenceResult) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON GroupMembershipExistenceResult where+ parseJSON =+ Data.withObject+ "GroupMembershipExistenceResult"+ ( \x ->+ GroupMembershipExistenceResult'+ Prelude.<$> (x Data..:? "GroupId")+ Prelude.<*> (x Data..:? "MemberId")+ Prelude.<*> (x Data..:? "MembershipExists")+ )++instance+ Prelude.Hashable+ GroupMembershipExistenceResult+ where+ hashWithSalt+ _salt+ GroupMembershipExistenceResult' {..} =+ _salt+ `Prelude.hashWithSalt` groupId+ `Prelude.hashWithSalt` memberId+ `Prelude.hashWithSalt` membershipExists++instance+ Prelude.NFData+ GroupMembershipExistenceResult+ where+ rnf GroupMembershipExistenceResult' {..} =+ Prelude.rnf groupId+ `Prelude.seq` Prelude.rnf memberId+ `Prelude.seq` Prelude.rnf membershipExists
+ gen/Amazonka/IdentityStore/Types/MemberId.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.Types.MemberId+-- 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.IdentityStore.Types.MemberId where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An object containing the identifier of a group member.+--+-- /See:/ 'newMemberId' smart constructor.+data MemberId = MemberId'+ { -- | An object containing the identifiers of resources that can be members.+ userId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MemberId' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'userId', 'memberId_userId' - An object containing the identifiers of resources that can be members.+newMemberId ::+ MemberId+newMemberId = MemberId' {userId = Prelude.Nothing}++-- | An object containing the identifiers of resources that can be members.+memberId_userId :: Lens.Lens' MemberId (Prelude.Maybe Prelude.Text)+memberId_userId = Lens.lens (\MemberId' {userId} -> userId) (\s@MemberId' {} a -> s {userId = a} :: MemberId)++instance Data.FromJSON MemberId where+ parseJSON =+ Data.withObject+ "MemberId"+ (\x -> MemberId' Prelude.<$> (x Data..:? "UserId"))++instance Prelude.Hashable MemberId where+ hashWithSalt _salt MemberId' {..} =+ _salt `Prelude.hashWithSalt` userId++instance Prelude.NFData MemberId where+ rnf MemberId' {..} = Prelude.rnf userId++instance Data.ToJSON MemberId where+ toJSON MemberId' {..} =+ Data.object+ ( Prelude.catMaybes+ [("UserId" Data..=) Prelude.<$> userId]+ )
+ gen/Amazonka/IdentityStore/Types/Name.hs view
@@ -0,0 +1,147 @@+{-# 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.IdentityStore.Types.Name+-- 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.IdentityStore.Types.Name 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 full name of the user.+--+-- /See:/ 'newName' smart constructor.+data Name = Name'+ { -- | The family name of the user.+ familyName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string containing a formatted version of the name for display.+ formatted :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The given name of the user.+ givenName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The honorific prefix of the user. For example, \"Dr.\"+ honorificPrefix :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The honorific suffix of the user. For example, \"M.D.\"+ honorificSuffix :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The middle name of the user.+ middleName :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Name' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'familyName', 'name_familyName' - The family name of the user.+--+-- 'formatted', 'name_formatted' - A string containing a formatted version of the name for display.+--+-- 'givenName', 'name_givenName' - The given name of the user.+--+-- 'honorificPrefix', 'name_honorificPrefix' - The honorific prefix of the user. For example, \"Dr.\"+--+-- 'honorificSuffix', 'name_honorificSuffix' - The honorific suffix of the user. For example, \"M.D.\"+--+-- 'middleName', 'name_middleName' - The middle name of the user.+newName ::+ Name+newName =+ Name'+ { familyName = Prelude.Nothing,+ formatted = Prelude.Nothing,+ givenName = Prelude.Nothing,+ honorificPrefix = Prelude.Nothing,+ honorificSuffix = Prelude.Nothing,+ middleName = Prelude.Nothing+ }++-- | The family name of the user.+name_familyName :: Lens.Lens' Name (Prelude.Maybe Prelude.Text)+name_familyName = Lens.lens (\Name' {familyName} -> familyName) (\s@Name' {} a -> s {familyName = a} :: Name) Prelude.. Lens.mapping Data._Sensitive++-- | A string containing a formatted version of the name for display.+name_formatted :: Lens.Lens' Name (Prelude.Maybe Prelude.Text)+name_formatted = Lens.lens (\Name' {formatted} -> formatted) (\s@Name' {} a -> s {formatted = a} :: Name) Prelude.. Lens.mapping Data._Sensitive++-- | The given name of the user.+name_givenName :: Lens.Lens' Name (Prelude.Maybe Prelude.Text)+name_givenName = Lens.lens (\Name' {givenName} -> givenName) (\s@Name' {} a -> s {givenName = a} :: Name) Prelude.. Lens.mapping Data._Sensitive++-- | The honorific prefix of the user. For example, \"Dr.\"+name_honorificPrefix :: Lens.Lens' Name (Prelude.Maybe Prelude.Text)+name_honorificPrefix = Lens.lens (\Name' {honorificPrefix} -> honorificPrefix) (\s@Name' {} a -> s {honorificPrefix = a} :: Name) Prelude.. Lens.mapping Data._Sensitive++-- | The honorific suffix of the user. For example, \"M.D.\"+name_honorificSuffix :: Lens.Lens' Name (Prelude.Maybe Prelude.Text)+name_honorificSuffix = Lens.lens (\Name' {honorificSuffix} -> honorificSuffix) (\s@Name' {} a -> s {honorificSuffix = a} :: Name) Prelude.. Lens.mapping Data._Sensitive++-- | The middle name of the user.+name_middleName :: Lens.Lens' Name (Prelude.Maybe Prelude.Text)+name_middleName = Lens.lens (\Name' {middleName} -> middleName) (\s@Name' {} a -> s {middleName = a} :: Name) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON Name where+ parseJSON =+ Data.withObject+ "Name"+ ( \x ->+ Name'+ Prelude.<$> (x Data..:? "FamilyName")+ Prelude.<*> (x Data..:? "Formatted")+ Prelude.<*> (x Data..:? "GivenName")+ Prelude.<*> (x Data..:? "HonorificPrefix")+ Prelude.<*> (x Data..:? "HonorificSuffix")+ Prelude.<*> (x Data..:? "MiddleName")+ )++instance Prelude.Hashable Name where+ hashWithSalt _salt Name' {..} =+ _salt+ `Prelude.hashWithSalt` familyName+ `Prelude.hashWithSalt` formatted+ `Prelude.hashWithSalt` givenName+ `Prelude.hashWithSalt` honorificPrefix+ `Prelude.hashWithSalt` honorificSuffix+ `Prelude.hashWithSalt` middleName++instance Prelude.NFData Name where+ rnf Name' {..} =+ Prelude.rnf familyName+ `Prelude.seq` Prelude.rnf formatted+ `Prelude.seq` Prelude.rnf givenName+ `Prelude.seq` Prelude.rnf honorificPrefix+ `Prelude.seq` Prelude.rnf honorificSuffix+ `Prelude.seq` Prelude.rnf middleName++instance Data.ToJSON Name where+ toJSON Name' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FamilyName" Data..=) Prelude.<$> familyName,+ ("Formatted" Data..=) Prelude.<$> formatted,+ ("GivenName" Data..=) Prelude.<$> givenName,+ ("HonorificPrefix" Data..=)+ Prelude.<$> honorificPrefix,+ ("HonorificSuffix" Data..=)+ Prelude.<$> honorificSuffix,+ ("MiddleName" Data..=) Prelude.<$> middleName+ ]+ )
+ gen/Amazonka/IdentityStore/Types/PhoneNumber.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.Types.PhoneNumber+-- 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.IdentityStore.Types.PhoneNumber 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 phone number associated with the user.+--+-- /See:/ 'newPhoneNumber' smart constructor.+data PhoneNumber = PhoneNumber'+ { -- | A Boolean value representing whether this is the primary phone number+ -- for the associated resource.+ primary :: Prelude.Maybe (Data.Sensitive Prelude.Bool),+ -- | A string representing the type of a phone number. For example,+ -- \"Mobile.\"+ type' :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string containing a phone number. For example, \"8675309\" or \"+1+ -- (800) 123-4567\".+ value :: Prelude.Maybe (Data.Sensitive Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PhoneNumber' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'primary', 'phoneNumber_primary' - A Boolean value representing whether this is the primary phone number+-- for the associated resource.+--+-- 'type'', 'phoneNumber_type' - A string representing the type of a phone number. For example,+-- \"Mobile.\"+--+-- 'value', 'phoneNumber_value' - A string containing a phone number. For example, \"8675309\" or \"+1+-- (800) 123-4567\".+newPhoneNumber ::+ PhoneNumber+newPhoneNumber =+ PhoneNumber'+ { primary = Prelude.Nothing,+ type' = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | A Boolean value representing whether this is the primary phone number+-- for the associated resource.+phoneNumber_primary :: Lens.Lens' PhoneNumber (Prelude.Maybe Prelude.Bool)+phoneNumber_primary = Lens.lens (\PhoneNumber' {primary} -> primary) (\s@PhoneNumber' {} a -> s {primary = a} :: PhoneNumber) Prelude.. Lens.mapping Data._Sensitive++-- | A string representing the type of a phone number. For example,+-- \"Mobile.\"+phoneNumber_type :: Lens.Lens' PhoneNumber (Prelude.Maybe Prelude.Text)+phoneNumber_type = Lens.lens (\PhoneNumber' {type'} -> type') (\s@PhoneNumber' {} a -> s {type' = a} :: PhoneNumber) Prelude.. Lens.mapping Data._Sensitive++-- | A string containing a phone number. For example, \"8675309\" or \"+1+-- (800) 123-4567\".+phoneNumber_value :: Lens.Lens' PhoneNumber (Prelude.Maybe Prelude.Text)+phoneNumber_value = Lens.lens (\PhoneNumber' {value} -> value) (\s@PhoneNumber' {} a -> s {value = a} :: PhoneNumber) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON PhoneNumber where+ parseJSON =+ Data.withObject+ "PhoneNumber"+ ( \x ->+ PhoneNumber'+ Prelude.<$> (x Data..:? "Primary")+ Prelude.<*> (x Data..:? "Type")+ Prelude.<*> (x Data..:? "Value")+ )++instance Prelude.Hashable PhoneNumber where+ hashWithSalt _salt PhoneNumber' {..} =+ _salt+ `Prelude.hashWithSalt` primary+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` value++instance Prelude.NFData PhoneNumber where+ rnf PhoneNumber' {..} =+ Prelude.rnf primary+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf value++instance Data.ToJSON PhoneNumber where+ toJSON PhoneNumber' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Primary" Data..=) Prelude.<$> primary,+ ("Type" Data..=) Prelude.<$> type',+ ("Value" Data..=) Prelude.<$> value+ ]+ )
+ gen/Amazonka/IdentityStore/Types/UniqueAttribute.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.IdentityStore.Types.UniqueAttribute+-- 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.IdentityStore.Types.UniqueAttribute where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types.AttributeValue+import qualified Amazonka.Prelude as Prelude++-- | An entity attribute that\'s unique to a specific entity.+--+-- /See:/ 'newUniqueAttribute' smart constructor.+data UniqueAttribute = UniqueAttribute'+ { -- | A string representation of the path to a given attribute or+ -- sub-attribute. Supports JMESPath.+ attributePath :: Prelude.Text,+ -- | The value of the attribute. This is a @Document@ type. This type is not+ -- supported by Java V1, Go V1, and older versions of the AWS CLI.+ attributeValue :: AttributeValue+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UniqueAttribute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributePath', 'uniqueAttribute_attributePath' - A string representation of the path to a given attribute or+-- sub-attribute. Supports JMESPath.+--+-- 'attributeValue', 'uniqueAttribute_attributeValue' - The value of the attribute. This is a @Document@ type. This type is not+-- supported by Java V1, Go V1, and older versions of the AWS CLI.+newUniqueAttribute ::+ -- | 'attributePath'+ Prelude.Text ->+ -- | 'attributeValue'+ AttributeValue ->+ UniqueAttribute+newUniqueAttribute pAttributePath_ pAttributeValue_ =+ UniqueAttribute'+ { attributePath = pAttributePath_,+ attributeValue = pAttributeValue_+ }++-- | A string representation of the path to a given attribute or+-- sub-attribute. Supports JMESPath.+uniqueAttribute_attributePath :: Lens.Lens' UniqueAttribute Prelude.Text+uniqueAttribute_attributePath = Lens.lens (\UniqueAttribute' {attributePath} -> attributePath) (\s@UniqueAttribute' {} a -> s {attributePath = a} :: UniqueAttribute)++-- | The value of the attribute. This is a @Document@ type. This type is not+-- supported by Java V1, Go V1, and older versions of the AWS CLI.+uniqueAttribute_attributeValue :: Lens.Lens' UniqueAttribute AttributeValue+uniqueAttribute_attributeValue = Lens.lens (\UniqueAttribute' {attributeValue} -> attributeValue) (\s@UniqueAttribute' {} a -> s {attributeValue = a} :: UniqueAttribute)++instance Prelude.Hashable UniqueAttribute where+ hashWithSalt _salt UniqueAttribute' {..} =+ _salt+ `Prelude.hashWithSalt` attributePath+ `Prelude.hashWithSalt` attributeValue++instance Prelude.NFData UniqueAttribute where+ rnf UniqueAttribute' {..} =+ Prelude.rnf attributePath+ `Prelude.seq` Prelude.rnf attributeValue++instance Data.ToJSON UniqueAttribute where+ toJSON UniqueAttribute' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("AttributePath" Data..= attributePath),+ Prelude.Just+ ("AttributeValue" Data..= attributeValue)+ ]+ )
+ gen/Amazonka/IdentityStore/Types/User.hs view
@@ -0,0 +1,297 @@+{-# 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.IdentityStore.Types.User+-- 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.IdentityStore.Types.User where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types.Address+import Amazonka.IdentityStore.Types.Email+import Amazonka.IdentityStore.Types.ExternalId+import Amazonka.IdentityStore.Types.Name+import Amazonka.IdentityStore.Types.PhoneNumber+import qualified Amazonka.Prelude as Prelude++-- | A user object that contains a specified user’s metadata and attributes.+--+-- /See:/ 'newUser' smart constructor.+data User = User'+ { -- | A list of @Address@ objects containing addresses associated with the+ -- user.+ addresses :: Prelude.Maybe (Prelude.NonEmpty Address),+ -- | A string containing the user\'s name that\'s formatted for display when+ -- the user is referenced. For example, \"John Doe.\"+ displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A list of @Email@ objects containing email addresses associated with the+ -- user.+ emails :: Prelude.Maybe (Prelude.NonEmpty Email),+ -- | A list of @ExternalId@ objects that contains the identifiers issued to+ -- this resource by an external identity provider.+ externalIds :: Prelude.Maybe (Prelude.NonEmpty ExternalId),+ -- | A string containing the user\'s geographical region or location.+ locale :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | An object containing the user\'s name.+ name :: Prelude.Maybe Name,+ -- | A string containing an alternate name for the user.+ nickName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A list of @PhoneNumber@ objects containing phone numbers associated with+ -- the user.+ phoneNumbers :: Prelude.Maybe (Prelude.NonEmpty PhoneNumber),+ -- | A string containing the preferred language of the user. For example,+ -- \"American English\" or \"en-us.\"+ preferredLanguage :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string containing a URL that may be associated with the user.+ profileUrl :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string containing the user\'s time zone.+ timezone :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string containing the user\'s title. Possible values depend on each+ -- customer\'s specific needs, so they are left unspecified.+ title :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A unique string used to identify the user. The length limit is 128+ -- characters. This value can consist of letters, accented characters,+ -- symbols, numbers, and punctuation. This value is specified at the time+ -- the user is created and stored as an attribute of the user object in the+ -- identity store.+ userName :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | A string indicating the user\'s type. Possible values depend on each+ -- customer\'s specific needs, so they are left unspecified.+ userType :: Prelude.Maybe (Data.Sensitive Prelude.Text),+ -- | The identifier for a user in the identity store.+ userId :: Prelude.Text,+ -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'User' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'addresses', 'user_addresses' - A list of @Address@ objects containing addresses associated with the+-- user.+--+-- 'displayName', 'user_displayName' - A string containing the user\'s name that\'s formatted for display when+-- the user is referenced. For example, \"John Doe.\"+--+-- 'emails', 'user_emails' - A list of @Email@ objects containing email addresses associated with the+-- user.+--+-- 'externalIds', 'user_externalIds' - A list of @ExternalId@ objects that contains the identifiers issued to+-- this resource by an external identity provider.+--+-- 'locale', 'user_locale' - A string containing the user\'s geographical region or location.+--+-- 'name', 'user_name' - An object containing the user\'s name.+--+-- 'nickName', 'user_nickName' - A string containing an alternate name for the user.+--+-- 'phoneNumbers', 'user_phoneNumbers' - A list of @PhoneNumber@ objects containing phone numbers associated with+-- the user.+--+-- 'preferredLanguage', 'user_preferredLanguage' - A string containing the preferred language of the user. For example,+-- \"American English\" or \"en-us.\"+--+-- 'profileUrl', 'user_profileUrl' - A string containing a URL that may be associated with the user.+--+-- 'timezone', 'user_timezone' - A string containing the user\'s time zone.+--+-- 'title', 'user_title' - A string containing the user\'s title. Possible values depend on each+-- customer\'s specific needs, so they are left unspecified.+--+-- 'userName', 'user_userName' - A unique string used to identify the user. The length limit is 128+-- characters. This value can consist of letters, accented characters,+-- symbols, numbers, and punctuation. This value is specified at the time+-- the user is created and stored as an attribute of the user object in the+-- identity store.+--+-- 'userType', 'user_userType' - A string indicating the user\'s type. Possible values depend on each+-- customer\'s specific needs, so they are left unspecified.+--+-- 'userId', 'user_userId' - The identifier for a user in the identity store.+--+-- 'identityStoreId', 'user_identityStoreId' - The globally unique identifier for the identity store.+newUser ::+ -- | 'userId'+ Prelude.Text ->+ -- | 'identityStoreId'+ Prelude.Text ->+ User+newUser pUserId_ pIdentityStoreId_ =+ User'+ { addresses = Prelude.Nothing,+ displayName = Prelude.Nothing,+ emails = Prelude.Nothing,+ externalIds = Prelude.Nothing,+ locale = Prelude.Nothing,+ name = Prelude.Nothing,+ nickName = Prelude.Nothing,+ phoneNumbers = Prelude.Nothing,+ preferredLanguage = Prelude.Nothing,+ profileUrl = Prelude.Nothing,+ timezone = Prelude.Nothing,+ title = Prelude.Nothing,+ userName = Prelude.Nothing,+ userType = Prelude.Nothing,+ userId = pUserId_,+ identityStoreId = pIdentityStoreId_+ }++-- | A list of @Address@ objects containing addresses associated with the+-- user.+user_addresses :: Lens.Lens' User (Prelude.Maybe (Prelude.NonEmpty Address))+user_addresses = Lens.lens (\User' {addresses} -> addresses) (\s@User' {} a -> s {addresses = a} :: User) Prelude.. Lens.mapping Lens.coerced++-- | A string containing the user\'s name that\'s formatted for display when+-- the user is referenced. For example, \"John Doe.\"+user_displayName :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_displayName = Lens.lens (\User' {displayName} -> displayName) (\s@User' {} a -> s {displayName = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | A list of @Email@ objects containing email addresses associated with the+-- user.+user_emails :: Lens.Lens' User (Prelude.Maybe (Prelude.NonEmpty Email))+user_emails = Lens.lens (\User' {emails} -> emails) (\s@User' {} a -> s {emails = a} :: User) Prelude.. Lens.mapping Lens.coerced++-- | A list of @ExternalId@ objects that contains the identifiers issued to+-- this resource by an external identity provider.+user_externalIds :: Lens.Lens' User (Prelude.Maybe (Prelude.NonEmpty ExternalId))+user_externalIds = Lens.lens (\User' {externalIds} -> externalIds) (\s@User' {} a -> s {externalIds = a} :: User) Prelude.. Lens.mapping Lens.coerced++-- | A string containing the user\'s geographical region or location.+user_locale :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_locale = Lens.lens (\User' {locale} -> locale) (\s@User' {} a -> s {locale = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | An object containing the user\'s name.+user_name :: Lens.Lens' User (Prelude.Maybe Name)+user_name = Lens.lens (\User' {name} -> name) (\s@User' {} a -> s {name = a} :: User)++-- | A string containing an alternate name for the user.+user_nickName :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_nickName = Lens.lens (\User' {nickName} -> nickName) (\s@User' {} a -> s {nickName = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | A list of @PhoneNumber@ objects containing phone numbers associated with+-- the user.+user_phoneNumbers :: Lens.Lens' User (Prelude.Maybe (Prelude.NonEmpty PhoneNumber))+user_phoneNumbers = Lens.lens (\User' {phoneNumbers} -> phoneNumbers) (\s@User' {} a -> s {phoneNumbers = a} :: User) Prelude.. Lens.mapping Lens.coerced++-- | A string containing the preferred language of the user. For example,+-- \"American English\" or \"en-us.\"+user_preferredLanguage :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_preferredLanguage = Lens.lens (\User' {preferredLanguage} -> preferredLanguage) (\s@User' {} a -> s {preferredLanguage = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | A string containing a URL that may be associated with the user.+user_profileUrl :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_profileUrl = Lens.lens (\User' {profileUrl} -> profileUrl) (\s@User' {} a -> s {profileUrl = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | A string containing the user\'s time zone.+user_timezone :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_timezone = Lens.lens (\User' {timezone} -> timezone) (\s@User' {} a -> s {timezone = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | A string containing the user\'s title. Possible values depend on each+-- customer\'s specific needs, so they are left unspecified.+user_title :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_title = Lens.lens (\User' {title} -> title) (\s@User' {} a -> s {title = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | A unique string used to identify the user. The length limit is 128+-- characters. This value can consist of letters, accented characters,+-- symbols, numbers, and punctuation. This value is specified at the time+-- the user is created and stored as an attribute of the user object in the+-- identity store.+user_userName :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_userName = Lens.lens (\User' {userName} -> userName) (\s@User' {} a -> s {userName = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | A string indicating the user\'s type. Possible values depend on each+-- customer\'s specific needs, so they are left unspecified.+user_userType :: Lens.Lens' User (Prelude.Maybe Prelude.Text)+user_userType = Lens.lens (\User' {userType} -> userType) (\s@User' {} a -> s {userType = a} :: User) Prelude.. Lens.mapping Data._Sensitive++-- | The identifier for a user in the identity store.+user_userId :: Lens.Lens' User Prelude.Text+user_userId = Lens.lens (\User' {userId} -> userId) (\s@User' {} a -> s {userId = a} :: User)++-- | The globally unique identifier for the identity store.+user_identityStoreId :: Lens.Lens' User Prelude.Text+user_identityStoreId = Lens.lens (\User' {identityStoreId} -> identityStoreId) (\s@User' {} a -> s {identityStoreId = a} :: User)++instance Data.FromJSON User where+ parseJSON =+ Data.withObject+ "User"+ ( \x ->+ User'+ Prelude.<$> (x Data..:? "Addresses")+ Prelude.<*> (x Data..:? "DisplayName")+ Prelude.<*> (x Data..:? "Emails")+ Prelude.<*> (x Data..:? "ExternalIds")+ Prelude.<*> (x Data..:? "Locale")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "NickName")+ Prelude.<*> (x Data..:? "PhoneNumbers")+ Prelude.<*> (x Data..:? "PreferredLanguage")+ Prelude.<*> (x Data..:? "ProfileUrl")+ Prelude.<*> (x Data..:? "Timezone")+ Prelude.<*> (x Data..:? "Title")+ Prelude.<*> (x Data..:? "UserName")+ Prelude.<*> (x Data..:? "UserType")+ Prelude.<*> (x Data..: "UserId")+ Prelude.<*> (x Data..: "IdentityStoreId")+ )++instance Prelude.Hashable User where+ hashWithSalt _salt User' {..} =+ _salt+ `Prelude.hashWithSalt` addresses+ `Prelude.hashWithSalt` displayName+ `Prelude.hashWithSalt` emails+ `Prelude.hashWithSalt` externalIds+ `Prelude.hashWithSalt` locale+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` nickName+ `Prelude.hashWithSalt` phoneNumbers+ `Prelude.hashWithSalt` preferredLanguage+ `Prelude.hashWithSalt` profileUrl+ `Prelude.hashWithSalt` timezone+ `Prelude.hashWithSalt` title+ `Prelude.hashWithSalt` userName+ `Prelude.hashWithSalt` userType+ `Prelude.hashWithSalt` userId+ `Prelude.hashWithSalt` identityStoreId++instance Prelude.NFData User where+ rnf User' {..} =+ Prelude.rnf addresses+ `Prelude.seq` Prelude.rnf displayName+ `Prelude.seq` Prelude.rnf emails+ `Prelude.seq` Prelude.rnf externalIds+ `Prelude.seq` Prelude.rnf locale+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf nickName+ `Prelude.seq` Prelude.rnf phoneNumbers+ `Prelude.seq` Prelude.rnf preferredLanguage+ `Prelude.seq` Prelude.rnf profileUrl+ `Prelude.seq` Prelude.rnf timezone+ `Prelude.seq` Prelude.rnf title+ `Prelude.seq` Prelude.rnf userName+ `Prelude.seq` Prelude.rnf userType+ `Prelude.seq` Prelude.rnf userId+ `Prelude.seq` Prelude.rnf identityStoreId
+ gen/Amazonka/IdentityStore/UpdateGroup.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.UpdateGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- For the specified group in the specified identity store, updates the+-- group metadata and attributes.+module Amazonka.IdentityStore.UpdateGroup+ ( -- * Creating a Request+ UpdateGroup (..),+ newUpdateGroup,++ -- * Request Lenses+ updateGroup_identityStoreId,+ updateGroup_groupId,+ updateGroup_operations,++ -- * Destructuring the Response+ UpdateGroupResponse (..),+ newUpdateGroupResponse,++ -- * Response Lenses+ updateGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateGroup' smart constructor.+data UpdateGroup = UpdateGroup'+ { -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | The identifier for a group in the identity store.+ groupId :: Prelude.Text,+ -- | A list of @AttributeOperation@ objects to apply to the requested group.+ -- These operations might add, replace, or remove an attribute.+ operations :: Prelude.NonEmpty AttributeOperation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'updateGroup_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'groupId', 'updateGroup_groupId' - The identifier for a group in the identity store.+--+-- 'operations', 'updateGroup_operations' - A list of @AttributeOperation@ objects to apply to the requested group.+-- These operations might add, replace, or remove an attribute.+newUpdateGroup ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'groupId'+ Prelude.Text ->+ -- | 'operations'+ Prelude.NonEmpty AttributeOperation ->+ UpdateGroup+newUpdateGroup+ pIdentityStoreId_+ pGroupId_+ pOperations_ =+ UpdateGroup'+ { identityStoreId = pIdentityStoreId_,+ groupId = pGroupId_,+ operations = Lens.coerced Lens.# pOperations_+ }++-- | The globally unique identifier for the identity store.+updateGroup_identityStoreId :: Lens.Lens' UpdateGroup Prelude.Text+updateGroup_identityStoreId = Lens.lens (\UpdateGroup' {identityStoreId} -> identityStoreId) (\s@UpdateGroup' {} a -> s {identityStoreId = a} :: UpdateGroup)++-- | The identifier for a group in the identity store.+updateGroup_groupId :: Lens.Lens' UpdateGroup Prelude.Text+updateGroup_groupId = Lens.lens (\UpdateGroup' {groupId} -> groupId) (\s@UpdateGroup' {} a -> s {groupId = a} :: UpdateGroup)++-- | A list of @AttributeOperation@ objects to apply to the requested group.+-- These operations might add, replace, or remove an attribute.+updateGroup_operations :: Lens.Lens' UpdateGroup (Prelude.NonEmpty AttributeOperation)+updateGroup_operations = Lens.lens (\UpdateGroup' {operations} -> operations) (\s@UpdateGroup' {} a -> s {operations = a} :: UpdateGroup) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateGroup where+ type AWSResponse UpdateGroup = UpdateGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateGroupResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateGroup where+ hashWithSalt _salt UpdateGroup' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` groupId+ `Prelude.hashWithSalt` operations++instance Prelude.NFData UpdateGroup where+ rnf UpdateGroup' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf groupId+ `Prelude.seq` Prelude.rnf operations++instance Data.ToHeaders UpdateGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.UpdateGroup" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateGroup where+ toJSON UpdateGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("GroupId" Data..= groupId),+ Prelude.Just ("Operations" Data..= operations)+ ]+ )++instance Data.ToPath UpdateGroup where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateGroupResponse' smart constructor.+data UpdateGroupResponse = UpdateGroupResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateGroupResponse_httpStatus' - The response's http status code.+newUpdateGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateGroupResponse+newUpdateGroupResponse pHttpStatus_ =+ UpdateGroupResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+updateGroupResponse_httpStatus :: Lens.Lens' UpdateGroupResponse Prelude.Int+updateGroupResponse_httpStatus = Lens.lens (\UpdateGroupResponse' {httpStatus} -> httpStatus) (\s@UpdateGroupResponse' {} a -> s {httpStatus = a} :: UpdateGroupResponse)++instance Prelude.NFData UpdateGroupResponse where+ rnf UpdateGroupResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/IdentityStore/UpdateUser.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IdentityStore.UpdateUser+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- For the specified user in the specified identity store, updates the user+-- metadata and attributes.+module Amazonka.IdentityStore.UpdateUser+ ( -- * Creating a Request+ UpdateUser (..),+ newUpdateUser,++ -- * Request Lenses+ updateUser_identityStoreId,+ updateUser_userId,+ updateUser_operations,++ -- * Destructuring the Response+ UpdateUserResponse (..),+ newUpdateUserResponse,++ -- * Response Lenses+ updateUserResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateUser' smart constructor.+data UpdateUser = UpdateUser'+ { -- | The globally unique identifier for the identity store.+ identityStoreId :: Prelude.Text,+ -- | The identifier for a user in the identity store.+ userId :: Prelude.Text,+ -- | A list of @AttributeOperation@ objects to apply to the requested user.+ -- These operations might add, replace, or remove an attribute.+ operations :: Prelude.NonEmpty AttributeOperation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateUser' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identityStoreId', 'updateUser_identityStoreId' - The globally unique identifier for the identity store.+--+-- 'userId', 'updateUser_userId' - The identifier for a user in the identity store.+--+-- 'operations', 'updateUser_operations' - A list of @AttributeOperation@ objects to apply to the requested user.+-- These operations might add, replace, or remove an attribute.+newUpdateUser ::+ -- | 'identityStoreId'+ Prelude.Text ->+ -- | 'userId'+ Prelude.Text ->+ -- | 'operations'+ Prelude.NonEmpty AttributeOperation ->+ UpdateUser+newUpdateUser pIdentityStoreId_ pUserId_ pOperations_ =+ UpdateUser'+ { identityStoreId = pIdentityStoreId_,+ userId = pUserId_,+ operations = Lens.coerced Lens.# pOperations_+ }++-- | The globally unique identifier for the identity store.+updateUser_identityStoreId :: Lens.Lens' UpdateUser Prelude.Text+updateUser_identityStoreId = Lens.lens (\UpdateUser' {identityStoreId} -> identityStoreId) (\s@UpdateUser' {} a -> s {identityStoreId = a} :: UpdateUser)++-- | The identifier for a user in the identity store.+updateUser_userId :: Lens.Lens' UpdateUser Prelude.Text+updateUser_userId = Lens.lens (\UpdateUser' {userId} -> userId) (\s@UpdateUser' {} a -> s {userId = a} :: UpdateUser)++-- | A list of @AttributeOperation@ objects to apply to the requested user.+-- These operations might add, replace, or remove an attribute.+updateUser_operations :: Lens.Lens' UpdateUser (Prelude.NonEmpty AttributeOperation)+updateUser_operations = Lens.lens (\UpdateUser' {operations} -> operations) (\s@UpdateUser' {} a -> s {operations = a} :: UpdateUser) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateUser where+ type AWSResponse UpdateUser = UpdateUserResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateUserResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateUser where+ hashWithSalt _salt UpdateUser' {..} =+ _salt+ `Prelude.hashWithSalt` identityStoreId+ `Prelude.hashWithSalt` userId+ `Prelude.hashWithSalt` operations++instance Prelude.NFData UpdateUser where+ rnf UpdateUser' {..} =+ Prelude.rnf identityStoreId+ `Prelude.seq` Prelude.rnf userId+ `Prelude.seq` Prelude.rnf operations++instance Data.ToHeaders UpdateUser where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "AWSIdentityStore.UpdateUser" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateUser where+ toJSON UpdateUser' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("IdentityStoreId" Data..= identityStoreId),+ Prelude.Just ("UserId" Data..= userId),+ Prelude.Just ("Operations" Data..= operations)+ ]+ )++instance Data.ToPath UpdateUser where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateUser where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateUserResponse' smart constructor.+data UpdateUserResponse = UpdateUserResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateUserResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateUserResponse_httpStatus' - The response's http status code.+newUpdateUserResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateUserResponse+newUpdateUserResponse pHttpStatus_ =+ UpdateUserResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+updateUserResponse_httpStatus :: Lens.Lens' UpdateUserResponse Prelude.Int+updateUserResponse_httpStatus = Lens.lens (\UpdateUserResponse' {httpStatus} -> httpStatus) (\s@UpdateUserResponse' {} a -> s {httpStatus = a} :: UpdateUserResponse)++instance Prelude.NFData UpdateUserResponse where+ rnf UpdateUserResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/IdentityStore/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.IdentityStore.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.IdentityStore.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IdentityStore.Lens+import Amazonka.IdentityStore.Types+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.IdentityStore+import Test.Amazonka.IdentityStore.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "IdentityStore"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/IdentityStore.hs view
@@ -0,0 +1,418 @@+{-# 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.IdentityStore+-- 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.IdentityStore where++import Amazonka.IdentityStore+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.IdentityStore.Internal+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"+-- [ requestCreateGroup $+-- newCreateGroup+--+-- , requestCreateGroupMembership $+-- newCreateGroupMembership+--+-- , requestCreateUser $+-- newCreateUser+--+-- , requestDeleteGroup $+-- newDeleteGroup+--+-- , requestDeleteGroupMembership $+-- newDeleteGroupMembership+--+-- , requestDeleteUser $+-- newDeleteUser+--+-- , requestDescribeGroup $+-- newDescribeGroup+--+-- , requestDescribeGroupMembership $+-- newDescribeGroupMembership+--+-- , requestDescribeUser $+-- newDescribeUser+--+-- , requestGetGroupId $+-- newGetGroupId+--+-- , requestGetGroupMembershipId $+-- newGetGroupMembershipId+--+-- , requestGetUserId $+-- newGetUserId+--+-- , requestIsMemberInGroups $+-- newIsMemberInGroups+--+-- , requestListGroupMemberships $+-- newListGroupMemberships+--+-- , requestListGroupMembershipsForMember $+-- newListGroupMembershipsForMember+--+-- , requestListGroups $+-- newListGroups+--+-- , requestListUsers $+-- newListUsers+--+-- , requestUpdateGroup $+-- newUpdateGroup+--+-- , requestUpdateUser $+-- newUpdateUser+--+-- ]++-- , testGroup "response"+-- [ responseCreateGroup $+-- newCreateGroupResponse+--+-- , responseCreateGroupMembership $+-- newCreateGroupMembershipResponse+--+-- , responseCreateUser $+-- newCreateUserResponse+--+-- , responseDeleteGroup $+-- newDeleteGroupResponse+--+-- , responseDeleteGroupMembership $+-- newDeleteGroupMembershipResponse+--+-- , responseDeleteUser $+-- newDeleteUserResponse+--+-- , responseDescribeGroup $+-- newDescribeGroupResponse+--+-- , responseDescribeGroupMembership $+-- newDescribeGroupMembershipResponse+--+-- , responseDescribeUser $+-- newDescribeUserResponse+--+-- , responseGetGroupId $+-- newGetGroupIdResponse+--+-- , responseGetGroupMembershipId $+-- newGetGroupMembershipIdResponse+--+-- , responseGetUserId $+-- newGetUserIdResponse+--+-- , responseIsMemberInGroups $+-- newIsMemberInGroupsResponse+--+-- , responseListGroupMemberships $+-- newListGroupMembershipsResponse+--+-- , responseListGroupMembershipsForMember $+-- newListGroupMembershipsForMemberResponse+--+-- , responseListGroups $+-- newListGroupsResponse+--+-- , responseListUsers $+-- newListUsersResponse+--+-- , responseUpdateGroup $+-- newUpdateGroupResponse+--+-- , responseUpdateUser $+-- newUpdateUserResponse+--+-- ]+-- ]++-- Requests++requestCreateGroup :: CreateGroup -> TestTree+requestCreateGroup =+ req+ "CreateGroup"+ "fixture/CreateGroup.yaml"++requestCreateGroupMembership :: CreateGroupMembership -> TestTree+requestCreateGroupMembership =+ req+ "CreateGroupMembership"+ "fixture/CreateGroupMembership.yaml"++requestCreateUser :: CreateUser -> TestTree+requestCreateUser =+ req+ "CreateUser"+ "fixture/CreateUser.yaml"++requestDeleteGroup :: DeleteGroup -> TestTree+requestDeleteGroup =+ req+ "DeleteGroup"+ "fixture/DeleteGroup.yaml"++requestDeleteGroupMembership :: DeleteGroupMembership -> TestTree+requestDeleteGroupMembership =+ req+ "DeleteGroupMembership"+ "fixture/DeleteGroupMembership.yaml"++requestDeleteUser :: DeleteUser -> TestTree+requestDeleteUser =+ req+ "DeleteUser"+ "fixture/DeleteUser.yaml"++requestDescribeGroup :: DescribeGroup -> TestTree+requestDescribeGroup =+ req+ "DescribeGroup"+ "fixture/DescribeGroup.yaml"++requestDescribeGroupMembership :: DescribeGroupMembership -> TestTree+requestDescribeGroupMembership =+ req+ "DescribeGroupMembership"+ "fixture/DescribeGroupMembership.yaml"++requestDescribeUser :: DescribeUser -> TestTree+requestDescribeUser =+ req+ "DescribeUser"+ "fixture/DescribeUser.yaml"++requestGetGroupId :: GetGroupId -> TestTree+requestGetGroupId =+ req+ "GetGroupId"+ "fixture/GetGroupId.yaml"++requestGetGroupMembershipId :: GetGroupMembershipId -> TestTree+requestGetGroupMembershipId =+ req+ "GetGroupMembershipId"+ "fixture/GetGroupMembershipId.yaml"++requestGetUserId :: GetUserId -> TestTree+requestGetUserId =+ req+ "GetUserId"+ "fixture/GetUserId.yaml"++requestIsMemberInGroups :: IsMemberInGroups -> TestTree+requestIsMemberInGroups =+ req+ "IsMemberInGroups"+ "fixture/IsMemberInGroups.yaml"++requestListGroupMemberships :: ListGroupMemberships -> TestTree+requestListGroupMemberships =+ req+ "ListGroupMemberships"+ "fixture/ListGroupMemberships.yaml"++requestListGroupMembershipsForMember :: ListGroupMembershipsForMember -> TestTree+requestListGroupMembershipsForMember =+ req+ "ListGroupMembershipsForMember"+ "fixture/ListGroupMembershipsForMember.yaml"++requestListGroups :: ListGroups -> TestTree+requestListGroups =+ req+ "ListGroups"+ "fixture/ListGroups.yaml"++requestListUsers :: ListUsers -> TestTree+requestListUsers =+ req+ "ListUsers"+ "fixture/ListUsers.yaml"++requestUpdateGroup :: UpdateGroup -> TestTree+requestUpdateGroup =+ req+ "UpdateGroup"+ "fixture/UpdateGroup.yaml"++requestUpdateUser :: UpdateUser -> TestTree+requestUpdateUser =+ req+ "UpdateUser"+ "fixture/UpdateUser.yaml"++-- Responses++responseCreateGroup :: CreateGroupResponse -> TestTree+responseCreateGroup =+ res+ "CreateGroupResponse"+ "fixture/CreateGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateGroup)++responseCreateGroupMembership :: CreateGroupMembershipResponse -> TestTree+responseCreateGroupMembership =+ res+ "CreateGroupMembershipResponse"+ "fixture/CreateGroupMembershipResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateGroupMembership)++responseCreateUser :: CreateUserResponse -> TestTree+responseCreateUser =+ res+ "CreateUserResponse"+ "fixture/CreateUserResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateUser)++responseDeleteGroup :: DeleteGroupResponse -> TestTree+responseDeleteGroup =+ res+ "DeleteGroupResponse"+ "fixture/DeleteGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteGroup)++responseDeleteGroupMembership :: DeleteGroupMembershipResponse -> TestTree+responseDeleteGroupMembership =+ res+ "DeleteGroupMembershipResponse"+ "fixture/DeleteGroupMembershipResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteGroupMembership)++responseDeleteUser :: DeleteUserResponse -> TestTree+responseDeleteUser =+ res+ "DeleteUserResponse"+ "fixture/DeleteUserResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteUser)++responseDescribeGroup :: DescribeGroupResponse -> TestTree+responseDescribeGroup =+ res+ "DescribeGroupResponse"+ "fixture/DescribeGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeGroup)++responseDescribeGroupMembership :: DescribeGroupMembershipResponse -> TestTree+responseDescribeGroupMembership =+ res+ "DescribeGroupMembershipResponse"+ "fixture/DescribeGroupMembershipResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeGroupMembership)++responseDescribeUser :: DescribeUserResponse -> TestTree+responseDescribeUser =+ res+ "DescribeUserResponse"+ "fixture/DescribeUserResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeUser)++responseGetGroupId :: GetGroupIdResponse -> TestTree+responseGetGroupId =+ res+ "GetGroupIdResponse"+ "fixture/GetGroupIdResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetGroupId)++responseGetGroupMembershipId :: GetGroupMembershipIdResponse -> TestTree+responseGetGroupMembershipId =+ res+ "GetGroupMembershipIdResponse"+ "fixture/GetGroupMembershipIdResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetGroupMembershipId)++responseGetUserId :: GetUserIdResponse -> TestTree+responseGetUserId =+ res+ "GetUserIdResponse"+ "fixture/GetUserIdResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetUserId)++responseIsMemberInGroups :: IsMemberInGroupsResponse -> TestTree+responseIsMemberInGroups =+ res+ "IsMemberInGroupsResponse"+ "fixture/IsMemberInGroupsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy IsMemberInGroups)++responseListGroupMemberships :: ListGroupMembershipsResponse -> TestTree+responseListGroupMemberships =+ res+ "ListGroupMembershipsResponse"+ "fixture/ListGroupMembershipsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListGroupMemberships)++responseListGroupMembershipsForMember :: ListGroupMembershipsForMemberResponse -> TestTree+responseListGroupMembershipsForMember =+ res+ "ListGroupMembershipsForMemberResponse"+ "fixture/ListGroupMembershipsForMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListGroupMembershipsForMember)++responseListGroups :: ListGroupsResponse -> TestTree+responseListGroups =+ res+ "ListGroupsResponse"+ "fixture/ListGroupsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListGroups)++responseListUsers :: ListUsersResponse -> TestTree+responseListUsers =+ res+ "ListUsersResponse"+ "fixture/ListUsersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListUsers)++responseUpdateGroup :: UpdateGroupResponse -> TestTree+responseUpdateGroup =+ res+ "UpdateGroupResponse"+ "fixture/UpdateGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateGroup)++responseUpdateUser :: UpdateUserResponse -> TestTree+responseUpdateUser =+ res+ "UpdateUserResponse"+ "fixture/UpdateUserResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateUser)
+ test/Test/Amazonka/IdentityStore.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.IdentityStore+-- 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.IdentityStore+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/IdentityStore/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.IdentityStore.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.IdentityStore.Internal where