amazonka-opensearchserverless (empty) → 2.0
raw patch · 139 files changed
+13102/−0 lines, 139 filesdep +amazonka-coredep +amazonka-opensearchserverlessdep +amazonka-test
Dependencies added: amazonka-core, amazonka-opensearchserverless, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-opensearchserverless.cabal +148/−0
- fixture/BatchGetCollection.yaml +10/−0
- fixture/BatchGetCollectionResponse.proto +0/−0
- fixture/BatchGetVpcEndpoint.yaml +10/−0
- fixture/BatchGetVpcEndpointResponse.proto +0/−0
- fixture/CreateAccessPolicy.yaml +10/−0
- fixture/CreateAccessPolicyResponse.proto +0/−0
- fixture/CreateCollection.yaml +10/−0
- fixture/CreateCollectionResponse.proto +0/−0
- fixture/CreateSecurityConfig.yaml +10/−0
- fixture/CreateSecurityConfigResponse.proto +0/−0
- fixture/CreateSecurityPolicy.yaml +10/−0
- fixture/CreateSecurityPolicyResponse.proto +0/−0
- fixture/CreateVpcEndpoint.yaml +10/−0
- fixture/CreateVpcEndpointResponse.proto +0/−0
- fixture/DeleteAccessPolicy.yaml +10/−0
- fixture/DeleteAccessPolicyResponse.proto +0/−0
- fixture/DeleteCollection.yaml +10/−0
- fixture/DeleteCollectionResponse.proto +0/−0
- fixture/DeleteSecurityConfig.yaml +10/−0
- fixture/DeleteSecurityConfigResponse.proto +0/−0
- fixture/DeleteSecurityPolicy.yaml +10/−0
- fixture/DeleteSecurityPolicyResponse.proto +0/−0
- fixture/DeleteVpcEndpoint.yaml +10/−0
- fixture/DeleteVpcEndpointResponse.proto +0/−0
- fixture/GetAccessPolicy.yaml +10/−0
- fixture/GetAccessPolicyResponse.proto +0/−0
- fixture/GetAccountSettings.yaml +10/−0
- fixture/GetAccountSettingsResponse.proto +0/−0
- fixture/GetPoliciesStats.yaml +10/−0
- fixture/GetPoliciesStatsResponse.proto +0/−0
- fixture/GetSecurityConfig.yaml +10/−0
- fixture/GetSecurityConfigResponse.proto +0/−0
- fixture/GetSecurityPolicy.yaml +10/−0
- fixture/GetSecurityPolicyResponse.proto +0/−0
- fixture/ListAccessPolicies.yaml +10/−0
- fixture/ListAccessPoliciesResponse.proto +0/−0
- fixture/ListCollections.yaml +10/−0
- fixture/ListCollectionsResponse.proto +0/−0
- fixture/ListSecurityConfigs.yaml +10/−0
- fixture/ListSecurityConfigsResponse.proto +0/−0
- fixture/ListSecurityPolicies.yaml +10/−0
- fixture/ListSecurityPoliciesResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/ListVpcEndpoints.yaml +10/−0
- fixture/ListVpcEndpointsResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateAccessPolicy.yaml +10/−0
- fixture/UpdateAccessPolicyResponse.proto +0/−0
- fixture/UpdateAccountSettings.yaml +10/−0
- fixture/UpdateAccountSettingsResponse.proto +0/−0
- fixture/UpdateCollection.yaml +10/−0
- fixture/UpdateCollectionResponse.proto +0/−0
- fixture/UpdateSecurityConfig.yaml +10/−0
- fixture/UpdateSecurityConfigResponse.proto +0/−0
- fixture/UpdateSecurityPolicy.yaml +10/−0
- fixture/UpdateSecurityPolicyResponse.proto +0/−0
- fixture/UpdateVpcEndpoint.yaml +10/−0
- fixture/UpdateVpcEndpointResponse.proto +0/−0
- gen/Amazonka/OpenSearchServerless.hs +431/−0
- gen/Amazonka/OpenSearchServerless/BatchGetCollection.hs +219/−0
- gen/Amazonka/OpenSearchServerless/BatchGetVpcEndpoint.hs +191/−0
- gen/Amazonka/OpenSearchServerless/CreateAccessPolicy.hs +236/−0
- gen/Amazonka/OpenSearchServerless/CreateCollection.hs +230/−0
- gen/Amazonka/OpenSearchServerless/CreateSecurityConfig.hs +230/−0
- gen/Amazonka/OpenSearchServerless/CreateSecurityPolicy.hs +240/−0
- gen/Amazonka/OpenSearchServerless/CreateVpcEndpoint.hs +241/−0
- gen/Amazonka/OpenSearchServerless/DeleteAccessPolicy.hs +191/−0
- gen/Amazonka/OpenSearchServerless/DeleteCollection.hs +202/−0
- gen/Amazonka/OpenSearchServerless/DeleteSecurityConfig.hs +183/−0
- gen/Amazonka/OpenSearchServerless/DeleteSecurityPolicy.hs +190/−0
- gen/Amazonka/OpenSearchServerless/DeleteVpcEndpoint.hs +188/−0
- gen/Amazonka/OpenSearchServerless/GetAccessPolicy.hs +186/−0
- gen/Amazonka/OpenSearchServerless/GetAccountSettings.hs +148/−0
- gen/Amazonka/OpenSearchServerless/GetPoliciesStats.hs +188/−0
- gen/Amazonka/OpenSearchServerless/GetSecurityConfig.hs +168/−0
- gen/Amazonka/OpenSearchServerless/GetSecurityPolicy.hs +188/−0
- gen/Amazonka/OpenSearchServerless/Lens.hs +477/−0
- gen/Amazonka/OpenSearchServerless/ListAccessPolicies.hs +249/−0
- gen/Amazonka/OpenSearchServerless/ListCollections.hs +233/−0
- gen/Amazonka/OpenSearchServerless/ListSecurityConfigs.hs +237/−0
- gen/Amazonka/OpenSearchServerless/ListSecurityPolicies.hs +252/−0
- gen/Amazonka/OpenSearchServerless/ListTagsForResource.hs +177/−0
- gen/Amazonka/OpenSearchServerless/ListVpcEndpoints.hs +239/−0
- gen/Amazonka/OpenSearchServerless/TagResource.hs +179/−0
- gen/Amazonka/OpenSearchServerless/Types.hs +417/−0
- gen/Amazonka/OpenSearchServerless/Types/AccessPolicyDetail.hs +146/−0
- gen/Amazonka/OpenSearchServerless/Types/AccessPolicyStats.hs +72/−0
- gen/Amazonka/OpenSearchServerless/Types/AccessPolicySummary.hs +133/−0
- gen/Amazonka/OpenSearchServerless/Types/AccessPolicyType.hs +66/−0
- gen/Amazonka/OpenSearchServerless/Types/AccountSettingsDetail.hs +72/−0
- gen/Amazonka/OpenSearchServerless/Types/CapacityLimits.hs +99/−0
- gen/Amazonka/OpenSearchServerless/Types/CollectionDetail.hs +201/−0
- gen/Amazonka/OpenSearchServerless/Types/CollectionErrorDetail.hs +117/−0
- gen/Amazonka/OpenSearchServerless/Types/CollectionFilters.hs +84/−0
- gen/Amazonka/OpenSearchServerless/Types/CollectionStatus.hs +81/−0
- gen/Amazonka/OpenSearchServerless/Types/CollectionSummary.hs +109/−0
- gen/Amazonka/OpenSearchServerless/Types/CollectionType.hs +71/−0
- gen/Amazonka/OpenSearchServerless/Types/CreateCollectionDetail.hs +173/−0
- gen/Amazonka/OpenSearchServerless/Types/CreateVpcEndpointDetail.hs +99/−0
- gen/Amazonka/OpenSearchServerless/Types/DeleteCollectionDetail.hs +97/−0
- gen/Amazonka/OpenSearchServerless/Types/DeleteVpcEndpointDetail.hs +98/−0
- gen/Amazonka/OpenSearchServerless/Types/Document.hs +52/−0
- gen/Amazonka/OpenSearchServerless/Types/SamlConfigOptions.hs +128/−0
- gen/Amazonka/OpenSearchServerless/Types/SecurityConfigDetail.hs +150/−0
- gen/Amazonka/OpenSearchServerless/Types/SecurityConfigStats.hs +72/−0
- gen/Amazonka/OpenSearchServerless/Types/SecurityConfigSummary.hs +134/−0
- gen/Amazonka/OpenSearchServerless/Types/SecurityConfigType.hs +66/−0
- gen/Amazonka/OpenSearchServerless/Types/SecurityPolicyDetail.hs +147/−0
- gen/Amazonka/OpenSearchServerless/Types/SecurityPolicyStats.hs +85/−0
- gen/Amazonka/OpenSearchServerless/Types/SecurityPolicySummary.hs +134/−0
- gen/Amazonka/OpenSearchServerless/Types/SecurityPolicyType.hs +71/−0
- gen/Amazonka/OpenSearchServerless/Types/Tag.hs +94/−0
- gen/Amazonka/OpenSearchServerless/Types/UpdateCollectionDetail.hs +158/−0
- gen/Amazonka/OpenSearchServerless/Types/UpdateVpcEndpointDetail.hs +139/−0
- gen/Amazonka/OpenSearchServerless/Types/VpcEndpointDetail.hs +151/−0
- gen/Amazonka/OpenSearchServerless/Types/VpcEndpointErrorDetail.hs +97/−0
- gen/Amazonka/OpenSearchServerless/Types/VpcEndpointFilters.hs +67/−0
- gen/Amazonka/OpenSearchServerless/Types/VpcEndpointStatus.hs +81/−0
- gen/Amazonka/OpenSearchServerless/Types/VpcEndpointSummary.hs +97/−0
- gen/Amazonka/OpenSearchServerless/UntagResource.hs +182/−0
- gen/Amazonka/OpenSearchServerless/UpdateAccessPolicy.hs +247/−0
- gen/Amazonka/OpenSearchServerless/UpdateAccountSettings.hs +176/−0
- gen/Amazonka/OpenSearchServerless/UpdateCollection.hs +199/−0
- gen/Amazonka/OpenSearchServerless/UpdateSecurityConfig.hs +242/−0
- gen/Amazonka/OpenSearchServerless/UpdateSecurityPolicy.hs +250/−0
- gen/Amazonka/OpenSearchServerless/UpdateVpcEndpoint.hs +253/−0
- gen/Amazonka/OpenSearchServerless/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/OpenSearchServerless.hs +658/−0
- test/Test/Amazonka/OpenSearchServerless.hs +20/−0
- test/Test/Amazonka/OpenSearchServerless/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 OpenSearch Service Serverless SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-11-01@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-opensearchserverless)+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.OpenSearchServerless](http://hackage.haskell.org/package/amazonka-opensearchserverless/docs/Amazonka-OpenSearchServerless.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-opensearchserverless` 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-opensearchserverless.cabal view
@@ -0,0 +1,148 @@+cabal-version: 2.2+name: amazonka-opensearchserverless+version: 2.0+synopsis: Amazon OpenSearch Service Serverless SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2021-11-01@ 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.OpenSearchServerless.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.OpenSearchServerless" 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-opensearchserverless++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.OpenSearchServerless+ Amazonka.OpenSearchServerless.BatchGetCollection+ Amazonka.OpenSearchServerless.BatchGetVpcEndpoint+ Amazonka.OpenSearchServerless.CreateAccessPolicy+ Amazonka.OpenSearchServerless.CreateCollection+ Amazonka.OpenSearchServerless.CreateSecurityConfig+ Amazonka.OpenSearchServerless.CreateSecurityPolicy+ Amazonka.OpenSearchServerless.CreateVpcEndpoint+ Amazonka.OpenSearchServerless.DeleteAccessPolicy+ Amazonka.OpenSearchServerless.DeleteCollection+ Amazonka.OpenSearchServerless.DeleteSecurityConfig+ Amazonka.OpenSearchServerless.DeleteSecurityPolicy+ Amazonka.OpenSearchServerless.DeleteVpcEndpoint+ Amazonka.OpenSearchServerless.GetAccessPolicy+ Amazonka.OpenSearchServerless.GetAccountSettings+ Amazonka.OpenSearchServerless.GetPoliciesStats+ Amazonka.OpenSearchServerless.GetSecurityConfig+ Amazonka.OpenSearchServerless.GetSecurityPolicy+ Amazonka.OpenSearchServerless.Lens+ Amazonka.OpenSearchServerless.ListAccessPolicies+ Amazonka.OpenSearchServerless.ListCollections+ Amazonka.OpenSearchServerless.ListSecurityConfigs+ Amazonka.OpenSearchServerless.ListSecurityPolicies+ Amazonka.OpenSearchServerless.ListTagsForResource+ Amazonka.OpenSearchServerless.ListVpcEndpoints+ Amazonka.OpenSearchServerless.TagResource+ Amazonka.OpenSearchServerless.Types+ Amazonka.OpenSearchServerless.Types.AccessPolicyDetail+ Amazonka.OpenSearchServerless.Types.AccessPolicyStats+ Amazonka.OpenSearchServerless.Types.AccessPolicySummary+ Amazonka.OpenSearchServerless.Types.AccessPolicyType+ Amazonka.OpenSearchServerless.Types.AccountSettingsDetail+ Amazonka.OpenSearchServerless.Types.CapacityLimits+ Amazonka.OpenSearchServerless.Types.CollectionDetail+ Amazonka.OpenSearchServerless.Types.CollectionErrorDetail+ Amazonka.OpenSearchServerless.Types.CollectionFilters+ Amazonka.OpenSearchServerless.Types.CollectionStatus+ Amazonka.OpenSearchServerless.Types.CollectionSummary+ Amazonka.OpenSearchServerless.Types.CollectionType+ Amazonka.OpenSearchServerless.Types.CreateCollectionDetail+ Amazonka.OpenSearchServerless.Types.CreateVpcEndpointDetail+ Amazonka.OpenSearchServerless.Types.DeleteCollectionDetail+ Amazonka.OpenSearchServerless.Types.DeleteVpcEndpointDetail+ Amazonka.OpenSearchServerless.Types.Document+ Amazonka.OpenSearchServerless.Types.SamlConfigOptions+ Amazonka.OpenSearchServerless.Types.SecurityConfigDetail+ Amazonka.OpenSearchServerless.Types.SecurityConfigStats+ Amazonka.OpenSearchServerless.Types.SecurityConfigSummary+ Amazonka.OpenSearchServerless.Types.SecurityConfigType+ Amazonka.OpenSearchServerless.Types.SecurityPolicyDetail+ Amazonka.OpenSearchServerless.Types.SecurityPolicyStats+ Amazonka.OpenSearchServerless.Types.SecurityPolicySummary+ Amazonka.OpenSearchServerless.Types.SecurityPolicyType+ Amazonka.OpenSearchServerless.Types.Tag+ Amazonka.OpenSearchServerless.Types.UpdateCollectionDetail+ Amazonka.OpenSearchServerless.Types.UpdateVpcEndpointDetail+ Amazonka.OpenSearchServerless.Types.VpcEndpointDetail+ Amazonka.OpenSearchServerless.Types.VpcEndpointErrorDetail+ Amazonka.OpenSearchServerless.Types.VpcEndpointFilters+ Amazonka.OpenSearchServerless.Types.VpcEndpointStatus+ Amazonka.OpenSearchServerless.Types.VpcEndpointSummary+ Amazonka.OpenSearchServerless.UntagResource+ Amazonka.OpenSearchServerless.UpdateAccessPolicy+ Amazonka.OpenSearchServerless.UpdateAccountSettings+ Amazonka.OpenSearchServerless.UpdateCollection+ Amazonka.OpenSearchServerless.UpdateSecurityConfig+ Amazonka.OpenSearchServerless.UpdateSecurityPolicy+ Amazonka.OpenSearchServerless.UpdateVpcEndpoint+ Amazonka.OpenSearchServerless.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-opensearchserverless-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.OpenSearchServerless+ Test.Amazonka.OpenSearchServerless+ Test.Amazonka.OpenSearchServerless.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-opensearchserverless+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/BatchGetCollection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/BatchGetCollectionResponse.proto view
+ fixture/BatchGetVpcEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/BatchGetVpcEndpointResponse.proto view
+ fixture/CreateAccessPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/CreateAccessPolicyResponse.proto view
+ fixture/CreateCollection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/CreateCollectionResponse.proto view
+ fixture/CreateSecurityConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/CreateSecurityConfigResponse.proto view
+ fixture/CreateSecurityPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/CreateSecurityPolicyResponse.proto view
+ fixture/CreateVpcEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/CreateVpcEndpointResponse.proto view
+ fixture/DeleteAccessPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/DeleteAccessPolicyResponse.proto view
+ fixture/DeleteCollection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/DeleteCollectionResponse.proto view
+ fixture/DeleteSecurityConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/DeleteSecurityConfigResponse.proto view
+ fixture/DeleteSecurityPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/DeleteSecurityPolicyResponse.proto view
+ fixture/DeleteVpcEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/DeleteVpcEndpointResponse.proto view
+ fixture/GetAccessPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/GetAccessPolicyResponse.proto view
+ fixture/GetAccountSettings.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/GetAccountSettingsResponse.proto view
+ fixture/GetPoliciesStats.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/GetPoliciesStatsResponse.proto view
+ fixture/GetSecurityConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/GetSecurityConfigResponse.proto view
+ fixture/GetSecurityPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/GetSecurityPolicyResponse.proto view
+ fixture/ListAccessPolicies.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/ListAccessPoliciesResponse.proto view
+ fixture/ListCollections.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/ListCollectionsResponse.proto view
+ fixture/ListSecurityConfigs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/ListSecurityConfigsResponse.proto view
+ fixture/ListSecurityPolicies.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/ListSecurityPoliciesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/ListVpcEndpoints.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/ListVpcEndpointsResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateAccessPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/UpdateAccessPolicyResponse.proto view
+ fixture/UpdateAccountSettings.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/UpdateAccountSettingsResponse.proto view
+ fixture/UpdateCollection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/UpdateCollectionResponse.proto view
+ fixture/UpdateSecurityConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/UpdateSecurityConfigResponse.proto view
+ fixture/UpdateSecurityPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/UpdateSecurityPolicyResponse.proto view
+ fixture/UpdateVpcEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/aoss/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: aoss.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/UpdateVpcEndpointResponse.proto view
+ gen/Amazonka/OpenSearchServerless.hs view
@@ -0,0 +1,431 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.OpenSearchServerless+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2021-11-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Use the Amazon OpenSearch Serverless API to create, configure, and+-- manage OpenSearch Serverless collections and security policies.+--+-- OpenSearch Serverless is an on-demand, pre-provisioned serverless+-- configuration for Amazon OpenSearch Service. OpenSearch Serverless+-- removes the operational complexities of provisioning, configuring, and+-- tuning your OpenSearch clusters. It enables you to easily search and+-- analyze petabytes of data without having to worry about the underlying+-- infrastructure and data management.+--+-- To learn more about OpenSearch Serverless, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html What is Amazon OpenSearch Serverless?>+module Amazonka.OpenSearchServerless+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** BatchGetCollection+ BatchGetCollection (BatchGetCollection'),+ newBatchGetCollection,+ BatchGetCollectionResponse (BatchGetCollectionResponse'),+ newBatchGetCollectionResponse,++ -- ** BatchGetVpcEndpoint+ BatchGetVpcEndpoint (BatchGetVpcEndpoint'),+ newBatchGetVpcEndpoint,+ BatchGetVpcEndpointResponse (BatchGetVpcEndpointResponse'),+ newBatchGetVpcEndpointResponse,++ -- ** CreateAccessPolicy+ CreateAccessPolicy (CreateAccessPolicy'),+ newCreateAccessPolicy,+ CreateAccessPolicyResponse (CreateAccessPolicyResponse'),+ newCreateAccessPolicyResponse,++ -- ** CreateCollection+ CreateCollection (CreateCollection'),+ newCreateCollection,+ CreateCollectionResponse (CreateCollectionResponse'),+ newCreateCollectionResponse,++ -- ** CreateSecurityConfig+ CreateSecurityConfig (CreateSecurityConfig'),+ newCreateSecurityConfig,+ CreateSecurityConfigResponse (CreateSecurityConfigResponse'),+ newCreateSecurityConfigResponse,++ -- ** CreateSecurityPolicy+ CreateSecurityPolicy (CreateSecurityPolicy'),+ newCreateSecurityPolicy,+ CreateSecurityPolicyResponse (CreateSecurityPolicyResponse'),+ newCreateSecurityPolicyResponse,++ -- ** CreateVpcEndpoint+ CreateVpcEndpoint (CreateVpcEndpoint'),+ newCreateVpcEndpoint,+ CreateVpcEndpointResponse (CreateVpcEndpointResponse'),+ newCreateVpcEndpointResponse,++ -- ** DeleteAccessPolicy+ DeleteAccessPolicy (DeleteAccessPolicy'),+ newDeleteAccessPolicy,+ DeleteAccessPolicyResponse (DeleteAccessPolicyResponse'),+ newDeleteAccessPolicyResponse,++ -- ** DeleteCollection+ DeleteCollection (DeleteCollection'),+ newDeleteCollection,+ DeleteCollectionResponse (DeleteCollectionResponse'),+ newDeleteCollectionResponse,++ -- ** DeleteSecurityConfig+ DeleteSecurityConfig (DeleteSecurityConfig'),+ newDeleteSecurityConfig,+ DeleteSecurityConfigResponse (DeleteSecurityConfigResponse'),+ newDeleteSecurityConfigResponse,++ -- ** DeleteSecurityPolicy+ DeleteSecurityPolicy (DeleteSecurityPolicy'),+ newDeleteSecurityPolicy,+ DeleteSecurityPolicyResponse (DeleteSecurityPolicyResponse'),+ newDeleteSecurityPolicyResponse,++ -- ** DeleteVpcEndpoint+ DeleteVpcEndpoint (DeleteVpcEndpoint'),+ newDeleteVpcEndpoint,+ DeleteVpcEndpointResponse (DeleteVpcEndpointResponse'),+ newDeleteVpcEndpointResponse,++ -- ** GetAccessPolicy+ GetAccessPolicy (GetAccessPolicy'),+ newGetAccessPolicy,+ GetAccessPolicyResponse (GetAccessPolicyResponse'),+ newGetAccessPolicyResponse,++ -- ** GetAccountSettings+ GetAccountSettings (GetAccountSettings'),+ newGetAccountSettings,+ GetAccountSettingsResponse (GetAccountSettingsResponse'),+ newGetAccountSettingsResponse,++ -- ** GetPoliciesStats+ GetPoliciesStats (GetPoliciesStats'),+ newGetPoliciesStats,+ GetPoliciesStatsResponse (GetPoliciesStatsResponse'),+ newGetPoliciesStatsResponse,++ -- ** GetSecurityConfig+ GetSecurityConfig (GetSecurityConfig'),+ newGetSecurityConfig,+ GetSecurityConfigResponse (GetSecurityConfigResponse'),+ newGetSecurityConfigResponse,++ -- ** GetSecurityPolicy+ GetSecurityPolicy (GetSecurityPolicy'),+ newGetSecurityPolicy,+ GetSecurityPolicyResponse (GetSecurityPolicyResponse'),+ newGetSecurityPolicyResponse,++ -- ** ListAccessPolicies+ ListAccessPolicies (ListAccessPolicies'),+ newListAccessPolicies,+ ListAccessPoliciesResponse (ListAccessPoliciesResponse'),+ newListAccessPoliciesResponse,++ -- ** ListCollections+ ListCollections (ListCollections'),+ newListCollections,+ ListCollectionsResponse (ListCollectionsResponse'),+ newListCollectionsResponse,++ -- ** ListSecurityConfigs+ ListSecurityConfigs (ListSecurityConfigs'),+ newListSecurityConfigs,+ ListSecurityConfigsResponse (ListSecurityConfigsResponse'),+ newListSecurityConfigsResponse,++ -- ** ListSecurityPolicies+ ListSecurityPolicies (ListSecurityPolicies'),+ newListSecurityPolicies,+ ListSecurityPoliciesResponse (ListSecurityPoliciesResponse'),+ newListSecurityPoliciesResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** ListVpcEndpoints+ ListVpcEndpoints (ListVpcEndpoints'),+ newListVpcEndpoints,+ ListVpcEndpointsResponse (ListVpcEndpointsResponse'),+ newListVpcEndpointsResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateAccessPolicy+ UpdateAccessPolicy (UpdateAccessPolicy'),+ newUpdateAccessPolicy,+ UpdateAccessPolicyResponse (UpdateAccessPolicyResponse'),+ newUpdateAccessPolicyResponse,++ -- ** UpdateAccountSettings+ UpdateAccountSettings (UpdateAccountSettings'),+ newUpdateAccountSettings,+ UpdateAccountSettingsResponse (UpdateAccountSettingsResponse'),+ newUpdateAccountSettingsResponse,++ -- ** UpdateCollection+ UpdateCollection (UpdateCollection'),+ newUpdateCollection,+ UpdateCollectionResponse (UpdateCollectionResponse'),+ newUpdateCollectionResponse,++ -- ** UpdateSecurityConfig+ UpdateSecurityConfig (UpdateSecurityConfig'),+ newUpdateSecurityConfig,+ UpdateSecurityConfigResponse (UpdateSecurityConfigResponse'),+ newUpdateSecurityConfigResponse,++ -- ** UpdateSecurityPolicy+ UpdateSecurityPolicy (UpdateSecurityPolicy'),+ newUpdateSecurityPolicy,+ UpdateSecurityPolicyResponse (UpdateSecurityPolicyResponse'),+ newUpdateSecurityPolicyResponse,++ -- ** UpdateVpcEndpoint+ UpdateVpcEndpoint (UpdateVpcEndpoint'),+ newUpdateVpcEndpoint,+ UpdateVpcEndpointResponse (UpdateVpcEndpointResponse'),+ newUpdateVpcEndpointResponse,++ -- * Types++ -- ** AccessPolicyType+ AccessPolicyType (..),++ -- ** CollectionStatus+ CollectionStatus (..),++ -- ** CollectionType+ CollectionType (..),++ -- ** SecurityConfigType+ SecurityConfigType (..),++ -- ** SecurityPolicyType+ SecurityPolicyType (..),++ -- ** VpcEndpointStatus+ VpcEndpointStatus (..),++ -- ** AccessPolicyDetail+ AccessPolicyDetail (AccessPolicyDetail'),+ newAccessPolicyDetail,++ -- ** AccessPolicyStats+ AccessPolicyStats (AccessPolicyStats'),+ newAccessPolicyStats,++ -- ** AccessPolicySummary+ AccessPolicySummary (AccessPolicySummary'),+ newAccessPolicySummary,++ -- ** AccountSettingsDetail+ AccountSettingsDetail (AccountSettingsDetail'),+ newAccountSettingsDetail,++ -- ** CapacityLimits+ CapacityLimits (CapacityLimits'),+ newCapacityLimits,++ -- ** CollectionDetail+ CollectionDetail (CollectionDetail'),+ newCollectionDetail,++ -- ** CollectionErrorDetail+ CollectionErrorDetail (CollectionErrorDetail'),+ newCollectionErrorDetail,++ -- ** CollectionFilters+ CollectionFilters (CollectionFilters'),+ newCollectionFilters,++ -- ** CollectionSummary+ CollectionSummary (CollectionSummary'),+ newCollectionSummary,++ -- ** CreateCollectionDetail+ CreateCollectionDetail (CreateCollectionDetail'),+ newCreateCollectionDetail,++ -- ** CreateVpcEndpointDetail+ CreateVpcEndpointDetail (CreateVpcEndpointDetail'),+ newCreateVpcEndpointDetail,++ -- ** DeleteCollectionDetail+ DeleteCollectionDetail (DeleteCollectionDetail'),+ newDeleteCollectionDetail,++ -- ** DeleteVpcEndpointDetail+ DeleteVpcEndpointDetail (DeleteVpcEndpointDetail'),+ newDeleteVpcEndpointDetail,++ -- ** Document+ Document (Document'),+ newDocument,++ -- ** SamlConfigOptions+ SamlConfigOptions (SamlConfigOptions'),+ newSamlConfigOptions,++ -- ** SecurityConfigDetail+ SecurityConfigDetail (SecurityConfigDetail'),+ newSecurityConfigDetail,++ -- ** SecurityConfigStats+ SecurityConfigStats (SecurityConfigStats'),+ newSecurityConfigStats,++ -- ** SecurityConfigSummary+ SecurityConfigSummary (SecurityConfigSummary'),+ newSecurityConfigSummary,++ -- ** SecurityPolicyDetail+ SecurityPolicyDetail (SecurityPolicyDetail'),+ newSecurityPolicyDetail,++ -- ** SecurityPolicyStats+ SecurityPolicyStats (SecurityPolicyStats'),+ newSecurityPolicyStats,++ -- ** SecurityPolicySummary+ SecurityPolicySummary (SecurityPolicySummary'),+ newSecurityPolicySummary,++ -- ** Tag+ Tag (Tag'),+ newTag,++ -- ** UpdateCollectionDetail+ UpdateCollectionDetail (UpdateCollectionDetail'),+ newUpdateCollectionDetail,++ -- ** UpdateVpcEndpointDetail+ UpdateVpcEndpointDetail (UpdateVpcEndpointDetail'),+ newUpdateVpcEndpointDetail,++ -- ** VpcEndpointDetail+ VpcEndpointDetail (VpcEndpointDetail'),+ newVpcEndpointDetail,++ -- ** VpcEndpointErrorDetail+ VpcEndpointErrorDetail (VpcEndpointErrorDetail'),+ newVpcEndpointErrorDetail,++ -- ** VpcEndpointFilters+ VpcEndpointFilters (VpcEndpointFilters'),+ newVpcEndpointFilters,++ -- ** VpcEndpointSummary+ VpcEndpointSummary (VpcEndpointSummary'),+ newVpcEndpointSummary,+ )+where++import Amazonka.OpenSearchServerless.BatchGetCollection+import Amazonka.OpenSearchServerless.BatchGetVpcEndpoint+import Amazonka.OpenSearchServerless.CreateAccessPolicy+import Amazonka.OpenSearchServerless.CreateCollection+import Amazonka.OpenSearchServerless.CreateSecurityConfig+import Amazonka.OpenSearchServerless.CreateSecurityPolicy+import Amazonka.OpenSearchServerless.CreateVpcEndpoint+import Amazonka.OpenSearchServerless.DeleteAccessPolicy+import Amazonka.OpenSearchServerless.DeleteCollection+import Amazonka.OpenSearchServerless.DeleteSecurityConfig+import Amazonka.OpenSearchServerless.DeleteSecurityPolicy+import Amazonka.OpenSearchServerless.DeleteVpcEndpoint+import Amazonka.OpenSearchServerless.GetAccessPolicy+import Amazonka.OpenSearchServerless.GetAccountSettings+import Amazonka.OpenSearchServerless.GetPoliciesStats+import Amazonka.OpenSearchServerless.GetSecurityConfig+import Amazonka.OpenSearchServerless.GetSecurityPolicy+import Amazonka.OpenSearchServerless.Lens+import Amazonka.OpenSearchServerless.ListAccessPolicies+import Amazonka.OpenSearchServerless.ListCollections+import Amazonka.OpenSearchServerless.ListSecurityConfigs+import Amazonka.OpenSearchServerless.ListSecurityPolicies+import Amazonka.OpenSearchServerless.ListTagsForResource+import Amazonka.OpenSearchServerless.ListVpcEndpoints+import Amazonka.OpenSearchServerless.TagResource+import Amazonka.OpenSearchServerless.Types+import Amazonka.OpenSearchServerless.UntagResource+import Amazonka.OpenSearchServerless.UpdateAccessPolicy+import Amazonka.OpenSearchServerless.UpdateAccountSettings+import Amazonka.OpenSearchServerless.UpdateCollection+import Amazonka.OpenSearchServerless.UpdateSecurityConfig+import Amazonka.OpenSearchServerless.UpdateSecurityPolicy+import Amazonka.OpenSearchServerless.UpdateVpcEndpoint+import Amazonka.OpenSearchServerless.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 'OpenSearchServerless'.++-- $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/OpenSearchServerless/BatchGetCollection.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.OpenSearchServerless.BatchGetCollection+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns attributes for one or more collections, including the collection+-- endpoint and the OpenSearch Dashboards endpoint. For more information,+-- see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html Creating and managing Amazon OpenSearch Serverless collections>.+module Amazonka.OpenSearchServerless.BatchGetCollection+ ( -- * Creating a Request+ BatchGetCollection (..),+ newBatchGetCollection,++ -- * Request Lenses+ batchGetCollection_ids,+ batchGetCollection_names,++ -- * Destructuring the Response+ BatchGetCollectionResponse (..),+ newBatchGetCollectionResponse,++ -- * Response Lenses+ batchGetCollectionResponse_collectionDetails,+ batchGetCollectionResponse_collectionErrorDetails,+ batchGetCollectionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchGetCollection' smart constructor.+data BatchGetCollection = BatchGetCollection'+ { -- | A list of collection IDs. You can\'t provide names and IDs in the same+ -- request. The ID is part of the collection endpoint. You can also+ -- retrieve it using the+ -- <https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListCollections.html ListCollections>+ -- API.+ ids :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | A list of collection names. You can\'t provide names and IDs in the same+ -- request.+ names :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetCollection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ids', 'batchGetCollection_ids' - A list of collection IDs. You can\'t provide names and IDs in the same+-- request. The ID is part of the collection endpoint. You can also+-- retrieve it using the+-- <https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListCollections.html ListCollections>+-- API.+--+-- 'names', 'batchGetCollection_names' - A list of collection names. You can\'t provide names and IDs in the same+-- request.+newBatchGetCollection ::+ BatchGetCollection+newBatchGetCollection =+ BatchGetCollection'+ { ids = Prelude.Nothing,+ names = Prelude.Nothing+ }++-- | A list of collection IDs. You can\'t provide names and IDs in the same+-- request. The ID is part of the collection endpoint. You can also+-- retrieve it using the+-- <https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListCollections.html ListCollections>+-- API.+batchGetCollection_ids :: Lens.Lens' BatchGetCollection (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+batchGetCollection_ids = Lens.lens (\BatchGetCollection' {ids} -> ids) (\s@BatchGetCollection' {} a -> s {ids = a} :: BatchGetCollection) Prelude.. Lens.mapping Lens.coerced++-- | A list of collection names. You can\'t provide names and IDs in the same+-- request.+batchGetCollection_names :: Lens.Lens' BatchGetCollection (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+batchGetCollection_names = Lens.lens (\BatchGetCollection' {names} -> names) (\s@BatchGetCollection' {} a -> s {names = a} :: BatchGetCollection) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest BatchGetCollection where+ type+ AWSResponse BatchGetCollection =+ BatchGetCollectionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchGetCollectionResponse'+ Prelude.<$> ( x+ Data..?> "collectionDetails"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> ( x+ Data..?> "collectionErrorDetails"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable BatchGetCollection where+ hashWithSalt _salt BatchGetCollection' {..} =+ _salt+ `Prelude.hashWithSalt` ids+ `Prelude.hashWithSalt` names++instance Prelude.NFData BatchGetCollection where+ rnf BatchGetCollection' {..} =+ Prelude.rnf ids `Prelude.seq` Prelude.rnf names++instance Data.ToHeaders BatchGetCollection where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.BatchGetCollection" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchGetCollection where+ toJSON BatchGetCollection' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ids" Data..=) Prelude.<$> ids,+ ("names" Data..=) Prelude.<$> names+ ]+ )++instance Data.ToPath BatchGetCollection where+ toPath = Prelude.const "/"++instance Data.ToQuery BatchGetCollection where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchGetCollectionResponse' smart constructor.+data BatchGetCollectionResponse = BatchGetCollectionResponse'+ { -- | Details about each collection.+ collectionDetails :: Prelude.Maybe [CollectionDetail],+ -- | Error information for the request.+ collectionErrorDetails :: Prelude.Maybe [CollectionErrorDetail],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetCollectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'collectionDetails', 'batchGetCollectionResponse_collectionDetails' - Details about each collection.+--+-- 'collectionErrorDetails', 'batchGetCollectionResponse_collectionErrorDetails' - Error information for the request.+--+-- 'httpStatus', 'batchGetCollectionResponse_httpStatus' - The response's http status code.+newBatchGetCollectionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchGetCollectionResponse+newBatchGetCollectionResponse pHttpStatus_ =+ BatchGetCollectionResponse'+ { collectionDetails =+ Prelude.Nothing,+ collectionErrorDetails = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about each collection.+batchGetCollectionResponse_collectionDetails :: Lens.Lens' BatchGetCollectionResponse (Prelude.Maybe [CollectionDetail])+batchGetCollectionResponse_collectionDetails = Lens.lens (\BatchGetCollectionResponse' {collectionDetails} -> collectionDetails) (\s@BatchGetCollectionResponse' {} a -> s {collectionDetails = a} :: BatchGetCollectionResponse) Prelude.. Lens.mapping Lens.coerced++-- | Error information for the request.+batchGetCollectionResponse_collectionErrorDetails :: Lens.Lens' BatchGetCollectionResponse (Prelude.Maybe [CollectionErrorDetail])+batchGetCollectionResponse_collectionErrorDetails = Lens.lens (\BatchGetCollectionResponse' {collectionErrorDetails} -> collectionErrorDetails) (\s@BatchGetCollectionResponse' {} a -> s {collectionErrorDetails = a} :: BatchGetCollectionResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchGetCollectionResponse_httpStatus :: Lens.Lens' BatchGetCollectionResponse Prelude.Int+batchGetCollectionResponse_httpStatus = Lens.lens (\BatchGetCollectionResponse' {httpStatus} -> httpStatus) (\s@BatchGetCollectionResponse' {} a -> s {httpStatus = a} :: BatchGetCollectionResponse)++instance Prelude.NFData BatchGetCollectionResponse where+ rnf BatchGetCollectionResponse' {..} =+ Prelude.rnf collectionDetails+ `Prelude.seq` Prelude.rnf collectionErrorDetails+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/BatchGetVpcEndpoint.hs view
@@ -0,0 +1,191 @@+{-# 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.OpenSearchServerless.BatchGetVpcEndpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns attributes for one or more VPC endpoints associated with the+-- current account. For more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html Access Amazon OpenSearch Serverless using an interface endpoint>.+module Amazonka.OpenSearchServerless.BatchGetVpcEndpoint+ ( -- * Creating a Request+ BatchGetVpcEndpoint (..),+ newBatchGetVpcEndpoint,++ -- * Request Lenses+ batchGetVpcEndpoint_ids,++ -- * Destructuring the Response+ BatchGetVpcEndpointResponse (..),+ newBatchGetVpcEndpointResponse,++ -- * Response Lenses+ batchGetVpcEndpointResponse_vpcEndpointDetails,+ batchGetVpcEndpointResponse_vpcEndpointErrorDetails,+ batchGetVpcEndpointResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchGetVpcEndpoint' smart constructor.+data BatchGetVpcEndpoint = BatchGetVpcEndpoint'+ { -- | A list of VPC endpoint identifiers.+ ids :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetVpcEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ids', 'batchGetVpcEndpoint_ids' - A list of VPC endpoint identifiers.+newBatchGetVpcEndpoint ::+ -- | 'ids'+ Prelude.NonEmpty Prelude.Text ->+ BatchGetVpcEndpoint+newBatchGetVpcEndpoint pIds_ =+ BatchGetVpcEndpoint'+ { ids =+ Lens.coerced Lens.# pIds_+ }++-- | A list of VPC endpoint identifiers.+batchGetVpcEndpoint_ids :: Lens.Lens' BatchGetVpcEndpoint (Prelude.NonEmpty Prelude.Text)+batchGetVpcEndpoint_ids = Lens.lens (\BatchGetVpcEndpoint' {ids} -> ids) (\s@BatchGetVpcEndpoint' {} a -> s {ids = a} :: BatchGetVpcEndpoint) Prelude.. Lens.coerced++instance Core.AWSRequest BatchGetVpcEndpoint where+ type+ AWSResponse BatchGetVpcEndpoint =+ BatchGetVpcEndpointResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchGetVpcEndpointResponse'+ Prelude.<$> ( x+ Data..?> "vpcEndpointDetails"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> ( x+ Data..?> "vpcEndpointErrorDetails"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable BatchGetVpcEndpoint where+ hashWithSalt _salt BatchGetVpcEndpoint' {..} =+ _salt `Prelude.hashWithSalt` ids++instance Prelude.NFData BatchGetVpcEndpoint where+ rnf BatchGetVpcEndpoint' {..} = Prelude.rnf ids++instance Data.ToHeaders BatchGetVpcEndpoint where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.BatchGetVpcEndpoint" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchGetVpcEndpoint where+ toJSON BatchGetVpcEndpoint' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ids" Data..= ids)]+ )++instance Data.ToPath BatchGetVpcEndpoint where+ toPath = Prelude.const "/"++instance Data.ToQuery BatchGetVpcEndpoint where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchGetVpcEndpointResponse' smart constructor.+data BatchGetVpcEndpointResponse = BatchGetVpcEndpointResponse'+ { -- | Details about the specified VPC endpoint.+ vpcEndpointDetails :: Prelude.Maybe [VpcEndpointDetail],+ -- | Error information for a failed request.+ vpcEndpointErrorDetails :: Prelude.Maybe [VpcEndpointErrorDetail],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetVpcEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vpcEndpointDetails', 'batchGetVpcEndpointResponse_vpcEndpointDetails' - Details about the specified VPC endpoint.+--+-- 'vpcEndpointErrorDetails', 'batchGetVpcEndpointResponse_vpcEndpointErrorDetails' - Error information for a failed request.+--+-- 'httpStatus', 'batchGetVpcEndpointResponse_httpStatus' - The response's http status code.+newBatchGetVpcEndpointResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchGetVpcEndpointResponse+newBatchGetVpcEndpointResponse pHttpStatus_ =+ BatchGetVpcEndpointResponse'+ { vpcEndpointDetails =+ Prelude.Nothing,+ vpcEndpointErrorDetails = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the specified VPC endpoint.+batchGetVpcEndpointResponse_vpcEndpointDetails :: Lens.Lens' BatchGetVpcEndpointResponse (Prelude.Maybe [VpcEndpointDetail])+batchGetVpcEndpointResponse_vpcEndpointDetails = Lens.lens (\BatchGetVpcEndpointResponse' {vpcEndpointDetails} -> vpcEndpointDetails) (\s@BatchGetVpcEndpointResponse' {} a -> s {vpcEndpointDetails = a} :: BatchGetVpcEndpointResponse) Prelude.. Lens.mapping Lens.coerced++-- | Error information for a failed request.+batchGetVpcEndpointResponse_vpcEndpointErrorDetails :: Lens.Lens' BatchGetVpcEndpointResponse (Prelude.Maybe [VpcEndpointErrorDetail])+batchGetVpcEndpointResponse_vpcEndpointErrorDetails = Lens.lens (\BatchGetVpcEndpointResponse' {vpcEndpointErrorDetails} -> vpcEndpointErrorDetails) (\s@BatchGetVpcEndpointResponse' {} a -> s {vpcEndpointErrorDetails = a} :: BatchGetVpcEndpointResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchGetVpcEndpointResponse_httpStatus :: Lens.Lens' BatchGetVpcEndpointResponse Prelude.Int+batchGetVpcEndpointResponse_httpStatus = Lens.lens (\BatchGetVpcEndpointResponse' {httpStatus} -> httpStatus) (\s@BatchGetVpcEndpointResponse' {} a -> s {httpStatus = a} :: BatchGetVpcEndpointResponse)++instance Prelude.NFData BatchGetVpcEndpointResponse where+ rnf BatchGetVpcEndpointResponse' {..} =+ Prelude.rnf vpcEndpointDetails+ `Prelude.seq` Prelude.rnf vpcEndpointErrorDetails+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/CreateAccessPolicy.hs view
@@ -0,0 +1,236 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.CreateAccessPolicy+-- 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 data access policy for OpenSearch Serverless. Access policies+-- limit access to collections and the resources within them, and allow a+-- user to access that data irrespective of the access mechanism or network+-- source. For more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html Data access control for Amazon OpenSearch Serverless>.+module Amazonka.OpenSearchServerless.CreateAccessPolicy+ ( -- * Creating a Request+ CreateAccessPolicy (..),+ newCreateAccessPolicy,++ -- * Request Lenses+ createAccessPolicy_clientToken,+ createAccessPolicy_description,+ createAccessPolicy_name,+ createAccessPolicy_policy,+ createAccessPolicy_type,++ -- * Destructuring the Response+ CreateAccessPolicyResponse (..),+ newCreateAccessPolicyResponse,++ -- * Response Lenses+ createAccessPolicyResponse_accessPolicyDetail,+ createAccessPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAccessPolicy' smart constructor.+data CreateAccessPolicy = CreateAccessPolicy'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A description of the policy. Typically used to store information about+ -- the permissions defined in the policy.+ description :: Prelude.Maybe Prelude.Text,+ -- | The name of the policy.+ name :: Prelude.Text,+ -- | The JSON policy document to use as the content for the policy.+ policy :: Prelude.Text,+ -- | The type of policy.+ type' :: AccessPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAccessPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createAccessPolicy_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'description', 'createAccessPolicy_description' - A description of the policy. Typically used to store information about+-- the permissions defined in the policy.+--+-- 'name', 'createAccessPolicy_name' - The name of the policy.+--+-- 'policy', 'createAccessPolicy_policy' - The JSON policy document to use as the content for the policy.+--+-- 'type'', 'createAccessPolicy_type' - The type of policy.+newCreateAccessPolicy ::+ -- | 'name'+ Prelude.Text ->+ -- | 'policy'+ Prelude.Text ->+ -- | 'type''+ AccessPolicyType ->+ CreateAccessPolicy+newCreateAccessPolicy pName_ pPolicy_ pType_ =+ CreateAccessPolicy'+ { clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ name = pName_,+ policy = pPolicy_,+ type' = pType_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+createAccessPolicy_clientToken :: Lens.Lens' CreateAccessPolicy (Prelude.Maybe Prelude.Text)+createAccessPolicy_clientToken = Lens.lens (\CreateAccessPolicy' {clientToken} -> clientToken) (\s@CreateAccessPolicy' {} a -> s {clientToken = a} :: CreateAccessPolicy)++-- | A description of the policy. Typically used to store information about+-- the permissions defined in the policy.+createAccessPolicy_description :: Lens.Lens' CreateAccessPolicy (Prelude.Maybe Prelude.Text)+createAccessPolicy_description = Lens.lens (\CreateAccessPolicy' {description} -> description) (\s@CreateAccessPolicy' {} a -> s {description = a} :: CreateAccessPolicy)++-- | The name of the policy.+createAccessPolicy_name :: Lens.Lens' CreateAccessPolicy Prelude.Text+createAccessPolicy_name = Lens.lens (\CreateAccessPolicy' {name} -> name) (\s@CreateAccessPolicy' {} a -> s {name = a} :: CreateAccessPolicy)++-- | The JSON policy document to use as the content for the policy.+createAccessPolicy_policy :: Lens.Lens' CreateAccessPolicy Prelude.Text+createAccessPolicy_policy = Lens.lens (\CreateAccessPolicy' {policy} -> policy) (\s@CreateAccessPolicy' {} a -> s {policy = a} :: CreateAccessPolicy)++-- | The type of policy.+createAccessPolicy_type :: Lens.Lens' CreateAccessPolicy AccessPolicyType+createAccessPolicy_type = Lens.lens (\CreateAccessPolicy' {type'} -> type') (\s@CreateAccessPolicy' {} a -> s {type' = a} :: CreateAccessPolicy)++instance Core.AWSRequest CreateAccessPolicy where+ type+ AWSResponse CreateAccessPolicy =+ CreateAccessPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAccessPolicyResponse'+ Prelude.<$> (x Data..?> "accessPolicyDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateAccessPolicy where+ hashWithSalt _salt CreateAccessPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` policy+ `Prelude.hashWithSalt` type'++instance Prelude.NFData CreateAccessPolicy where+ rnf CreateAccessPolicy' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf policy+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders CreateAccessPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.CreateAccessPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAccessPolicy where+ toJSON CreateAccessPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("policy" Data..= policy),+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath CreateAccessPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateAccessPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAccessPolicyResponse' smart constructor.+data CreateAccessPolicyResponse = CreateAccessPolicyResponse'+ { -- | Details about the created access policy.+ accessPolicyDetail :: Prelude.Maybe AccessPolicyDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAccessPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessPolicyDetail', 'createAccessPolicyResponse_accessPolicyDetail' - Details about the created access policy.+--+-- 'httpStatus', 'createAccessPolicyResponse_httpStatus' - The response's http status code.+newCreateAccessPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateAccessPolicyResponse+newCreateAccessPolicyResponse pHttpStatus_ =+ CreateAccessPolicyResponse'+ { accessPolicyDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the created access policy.+createAccessPolicyResponse_accessPolicyDetail :: Lens.Lens' CreateAccessPolicyResponse (Prelude.Maybe AccessPolicyDetail)+createAccessPolicyResponse_accessPolicyDetail = Lens.lens (\CreateAccessPolicyResponse' {accessPolicyDetail} -> accessPolicyDetail) (\s@CreateAccessPolicyResponse' {} a -> s {accessPolicyDetail = a} :: CreateAccessPolicyResponse)++-- | The response's http status code.+createAccessPolicyResponse_httpStatus :: Lens.Lens' CreateAccessPolicyResponse Prelude.Int+createAccessPolicyResponse_httpStatus = Lens.lens (\CreateAccessPolicyResponse' {httpStatus} -> httpStatus) (\s@CreateAccessPolicyResponse' {} a -> s {httpStatus = a} :: CreateAccessPolicyResponse)++instance Prelude.NFData CreateAccessPolicyResponse where+ rnf CreateAccessPolicyResponse' {..} =+ Prelude.rnf accessPolicyDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/CreateCollection.hs view
@@ -0,0 +1,230 @@+{-# 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.OpenSearchServerless.CreateCollection+-- 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 OpenSearch Serverless collection. For more information,+-- see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html Creating and managing Amazon OpenSearch Serverless collections>.+module Amazonka.OpenSearchServerless.CreateCollection+ ( -- * Creating a Request+ CreateCollection (..),+ newCreateCollection,++ -- * Request Lenses+ createCollection_clientToken,+ createCollection_description,+ createCollection_tags,+ createCollection_type,+ createCollection_name,++ -- * Destructuring the Response+ CreateCollectionResponse (..),+ newCreateCollectionResponse,++ -- * Response Lenses+ createCollectionResponse_createCollectionDetail,+ createCollectionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateCollection' smart constructor.+data CreateCollection = CreateCollection'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | Description of the collection.+ description :: Prelude.Maybe Prelude.Text,+ -- | An arbitrary set of tags (key–value pairs) to associate with the+ -- OpenSearch Serverless collection.+ tags :: Prelude.Maybe [Tag],+ -- | The type of collection.+ type' :: Prelude.Maybe CollectionType,+ -- | Name of the collection.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCollection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createCollection_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'description', 'createCollection_description' - Description of the collection.+--+-- 'tags', 'createCollection_tags' - An arbitrary set of tags (key–value pairs) to associate with the+-- OpenSearch Serverless collection.+--+-- 'type'', 'createCollection_type' - The type of collection.+--+-- 'name', 'createCollection_name' - Name of the collection.+newCreateCollection ::+ -- | 'name'+ Prelude.Text ->+ CreateCollection+newCreateCollection pName_ =+ CreateCollection'+ { clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ tags = Prelude.Nothing,+ type' = Prelude.Nothing,+ name = pName_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+createCollection_clientToken :: Lens.Lens' CreateCollection (Prelude.Maybe Prelude.Text)+createCollection_clientToken = Lens.lens (\CreateCollection' {clientToken} -> clientToken) (\s@CreateCollection' {} a -> s {clientToken = a} :: CreateCollection)++-- | Description of the collection.+createCollection_description :: Lens.Lens' CreateCollection (Prelude.Maybe Prelude.Text)+createCollection_description = Lens.lens (\CreateCollection' {description} -> description) (\s@CreateCollection' {} a -> s {description = a} :: CreateCollection)++-- | An arbitrary set of tags (key–value pairs) to associate with the+-- OpenSearch Serverless collection.+createCollection_tags :: Lens.Lens' CreateCollection (Prelude.Maybe [Tag])+createCollection_tags = Lens.lens (\CreateCollection' {tags} -> tags) (\s@CreateCollection' {} a -> s {tags = a} :: CreateCollection) Prelude.. Lens.mapping Lens.coerced++-- | The type of collection.+createCollection_type :: Lens.Lens' CreateCollection (Prelude.Maybe CollectionType)+createCollection_type = Lens.lens (\CreateCollection' {type'} -> type') (\s@CreateCollection' {} a -> s {type' = a} :: CreateCollection)++-- | Name of the collection.+createCollection_name :: Lens.Lens' CreateCollection Prelude.Text+createCollection_name = Lens.lens (\CreateCollection' {name} -> name) (\s@CreateCollection' {} a -> s {name = a} :: CreateCollection)++instance Core.AWSRequest CreateCollection where+ type+ AWSResponse CreateCollection =+ CreateCollectionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateCollectionResponse'+ Prelude.<$> (x Data..?> "createCollectionDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateCollection where+ hashWithSalt _salt CreateCollection' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateCollection where+ rnf CreateCollection' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateCollection where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.CreateCollection" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateCollection where+ toJSON CreateCollection' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ ("tags" Data..=) Prelude.<$> tags,+ ("type" Data..=) Prelude.<$> type',+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreateCollection where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateCollection where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateCollectionResponse' smart constructor.+data CreateCollectionResponse = CreateCollectionResponse'+ { -- | Details about the collection.+ createCollectionDetail :: Prelude.Maybe CreateCollectionDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCollectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createCollectionDetail', 'createCollectionResponse_createCollectionDetail' - Details about the collection.+--+-- 'httpStatus', 'createCollectionResponse_httpStatus' - The response's http status code.+newCreateCollectionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateCollectionResponse+newCreateCollectionResponse pHttpStatus_ =+ CreateCollectionResponse'+ { createCollectionDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the collection.+createCollectionResponse_createCollectionDetail :: Lens.Lens' CreateCollectionResponse (Prelude.Maybe CreateCollectionDetail)+createCollectionResponse_createCollectionDetail = Lens.lens (\CreateCollectionResponse' {createCollectionDetail} -> createCollectionDetail) (\s@CreateCollectionResponse' {} a -> s {createCollectionDetail = a} :: CreateCollectionResponse)++-- | The response's http status code.+createCollectionResponse_httpStatus :: Lens.Lens' CreateCollectionResponse Prelude.Int+createCollectionResponse_httpStatus = Lens.lens (\CreateCollectionResponse' {httpStatus} -> httpStatus) (\s@CreateCollectionResponse' {} a -> s {httpStatus = a} :: CreateCollectionResponse)++instance Prelude.NFData CreateCollectionResponse where+ rnf CreateCollectionResponse' {..} =+ Prelude.rnf createCollectionDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/CreateSecurityConfig.hs view
@@ -0,0 +1,230 @@+{-# 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.OpenSearchServerless.CreateSecurityConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Specifies a security configuration for OpenSearch Serverless. For more+-- information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html SAML authentication for Amazon OpenSearch Serverless>.+module Amazonka.OpenSearchServerless.CreateSecurityConfig+ ( -- * Creating a Request+ CreateSecurityConfig (..),+ newCreateSecurityConfig,++ -- * Request Lenses+ createSecurityConfig_clientToken,+ createSecurityConfig_description,+ createSecurityConfig_samlOptions,+ createSecurityConfig_name,+ createSecurityConfig_type,++ -- * Destructuring the Response+ CreateSecurityConfigResponse (..),+ newCreateSecurityConfigResponse,++ -- * Response Lenses+ createSecurityConfigResponse_securityConfigDetail,+ createSecurityConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateSecurityConfig' smart constructor.+data CreateSecurityConfig = CreateSecurityConfig'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A description of the security configuration.+ description :: Prelude.Maybe Prelude.Text,+ -- | Describes SAML options in in the form of a key-value map.+ samlOptions :: Prelude.Maybe SamlConfigOptions,+ -- | The name of the security configuration.+ name :: Prelude.Text,+ -- | The type of security configuration.+ type' :: SecurityConfigType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSecurityConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createSecurityConfig_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'description', 'createSecurityConfig_description' - A description of the security configuration.+--+-- 'samlOptions', 'createSecurityConfig_samlOptions' - Describes SAML options in in the form of a key-value map.+--+-- 'name', 'createSecurityConfig_name' - The name of the security configuration.+--+-- 'type'', 'createSecurityConfig_type' - The type of security configuration.+newCreateSecurityConfig ::+ -- | 'name'+ Prelude.Text ->+ -- | 'type''+ SecurityConfigType ->+ CreateSecurityConfig+newCreateSecurityConfig pName_ pType_ =+ CreateSecurityConfig'+ { clientToken =+ Prelude.Nothing,+ description = Prelude.Nothing,+ samlOptions = Prelude.Nothing,+ name = pName_,+ type' = pType_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+createSecurityConfig_clientToken :: Lens.Lens' CreateSecurityConfig (Prelude.Maybe Prelude.Text)+createSecurityConfig_clientToken = Lens.lens (\CreateSecurityConfig' {clientToken} -> clientToken) (\s@CreateSecurityConfig' {} a -> s {clientToken = a} :: CreateSecurityConfig)++-- | A description of the security configuration.+createSecurityConfig_description :: Lens.Lens' CreateSecurityConfig (Prelude.Maybe Prelude.Text)+createSecurityConfig_description = Lens.lens (\CreateSecurityConfig' {description} -> description) (\s@CreateSecurityConfig' {} a -> s {description = a} :: CreateSecurityConfig)++-- | Describes SAML options in in the form of a key-value map.+createSecurityConfig_samlOptions :: Lens.Lens' CreateSecurityConfig (Prelude.Maybe SamlConfigOptions)+createSecurityConfig_samlOptions = Lens.lens (\CreateSecurityConfig' {samlOptions} -> samlOptions) (\s@CreateSecurityConfig' {} a -> s {samlOptions = a} :: CreateSecurityConfig)++-- | The name of the security configuration.+createSecurityConfig_name :: Lens.Lens' CreateSecurityConfig Prelude.Text+createSecurityConfig_name = Lens.lens (\CreateSecurityConfig' {name} -> name) (\s@CreateSecurityConfig' {} a -> s {name = a} :: CreateSecurityConfig)++-- | The type of security configuration.+createSecurityConfig_type :: Lens.Lens' CreateSecurityConfig SecurityConfigType+createSecurityConfig_type = Lens.lens (\CreateSecurityConfig' {type'} -> type') (\s@CreateSecurityConfig' {} a -> s {type' = a} :: CreateSecurityConfig)++instance Core.AWSRequest CreateSecurityConfig where+ type+ AWSResponse CreateSecurityConfig =+ CreateSecurityConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateSecurityConfigResponse'+ Prelude.<$> (x Data..?> "securityConfigDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateSecurityConfig where+ hashWithSalt _salt CreateSecurityConfig' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` samlOptions+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` type'++instance Prelude.NFData CreateSecurityConfig where+ rnf CreateSecurityConfig' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf samlOptions+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders CreateSecurityConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.CreateSecurityConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateSecurityConfig where+ toJSON CreateSecurityConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ ("samlOptions" Data..=) Prelude.<$> samlOptions,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath CreateSecurityConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateSecurityConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSecurityConfigResponse' smart constructor.+data CreateSecurityConfigResponse = CreateSecurityConfigResponse'+ { -- | Details about the created security configuration.+ securityConfigDetail :: Prelude.Maybe SecurityConfigDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSecurityConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityConfigDetail', 'createSecurityConfigResponse_securityConfigDetail' - Details about the created security configuration.+--+-- 'httpStatus', 'createSecurityConfigResponse_httpStatus' - The response's http status code.+newCreateSecurityConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateSecurityConfigResponse+newCreateSecurityConfigResponse pHttpStatus_ =+ CreateSecurityConfigResponse'+ { securityConfigDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the created security configuration.+createSecurityConfigResponse_securityConfigDetail :: Lens.Lens' CreateSecurityConfigResponse (Prelude.Maybe SecurityConfigDetail)+createSecurityConfigResponse_securityConfigDetail = Lens.lens (\CreateSecurityConfigResponse' {securityConfigDetail} -> securityConfigDetail) (\s@CreateSecurityConfigResponse' {} a -> s {securityConfigDetail = a} :: CreateSecurityConfigResponse)++-- | The response's http status code.+createSecurityConfigResponse_httpStatus :: Lens.Lens' CreateSecurityConfigResponse Prelude.Int+createSecurityConfigResponse_httpStatus = Lens.lens (\CreateSecurityConfigResponse' {httpStatus} -> httpStatus) (\s@CreateSecurityConfigResponse' {} a -> s {httpStatus = a} :: CreateSecurityConfigResponse)++instance Prelude.NFData CreateSecurityConfigResponse where+ rnf CreateSecurityConfigResponse' {..} =+ Prelude.rnf securityConfigDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/CreateSecurityPolicy.hs view
@@ -0,0 +1,240 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.CreateSecurityPolicy+-- 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 security policy to be used by one or more OpenSearch+-- Serverless collections. Security policies provide access to a collection+-- and its OpenSearch Dashboards endpoint from public networks or specific+-- VPC endpoints. They also allow you to secure a collection with a KMS+-- encryption key. For more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html Network access for Amazon OpenSearch Serverless>+-- and+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html Encryption at rest for Amazon OpenSearch Serverless>.+module Amazonka.OpenSearchServerless.CreateSecurityPolicy+ ( -- * Creating a Request+ CreateSecurityPolicy (..),+ newCreateSecurityPolicy,++ -- * Request Lenses+ createSecurityPolicy_clientToken,+ createSecurityPolicy_description,+ createSecurityPolicy_name,+ createSecurityPolicy_policy,+ createSecurityPolicy_type,++ -- * Destructuring the Response+ CreateSecurityPolicyResponse (..),+ newCreateSecurityPolicyResponse,++ -- * Response Lenses+ createSecurityPolicyResponse_securityPolicyDetail,+ createSecurityPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateSecurityPolicy' smart constructor.+data CreateSecurityPolicy = CreateSecurityPolicy'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A description of the policy. Typically used to store information about+ -- the permissions defined in the policy.+ description :: Prelude.Maybe Prelude.Text,+ -- | The name of the policy.+ name :: Prelude.Text,+ -- | The JSON policy document to use as the content for the new policy.+ policy :: Prelude.Text,+ -- | The type of security policy.+ type' :: SecurityPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSecurityPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createSecurityPolicy_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'description', 'createSecurityPolicy_description' - A description of the policy. Typically used to store information about+-- the permissions defined in the policy.+--+-- 'name', 'createSecurityPolicy_name' - The name of the policy.+--+-- 'policy', 'createSecurityPolicy_policy' - The JSON policy document to use as the content for the new policy.+--+-- 'type'', 'createSecurityPolicy_type' - The type of security policy.+newCreateSecurityPolicy ::+ -- | 'name'+ Prelude.Text ->+ -- | 'policy'+ Prelude.Text ->+ -- | 'type''+ SecurityPolicyType ->+ CreateSecurityPolicy+newCreateSecurityPolicy pName_ pPolicy_ pType_ =+ CreateSecurityPolicy'+ { clientToken =+ Prelude.Nothing,+ description = Prelude.Nothing,+ name = pName_,+ policy = pPolicy_,+ type' = pType_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+createSecurityPolicy_clientToken :: Lens.Lens' CreateSecurityPolicy (Prelude.Maybe Prelude.Text)+createSecurityPolicy_clientToken = Lens.lens (\CreateSecurityPolicy' {clientToken} -> clientToken) (\s@CreateSecurityPolicy' {} a -> s {clientToken = a} :: CreateSecurityPolicy)++-- | A description of the policy. Typically used to store information about+-- the permissions defined in the policy.+createSecurityPolicy_description :: Lens.Lens' CreateSecurityPolicy (Prelude.Maybe Prelude.Text)+createSecurityPolicy_description = Lens.lens (\CreateSecurityPolicy' {description} -> description) (\s@CreateSecurityPolicy' {} a -> s {description = a} :: CreateSecurityPolicy)++-- | The name of the policy.+createSecurityPolicy_name :: Lens.Lens' CreateSecurityPolicy Prelude.Text+createSecurityPolicy_name = Lens.lens (\CreateSecurityPolicy' {name} -> name) (\s@CreateSecurityPolicy' {} a -> s {name = a} :: CreateSecurityPolicy)++-- | The JSON policy document to use as the content for the new policy.+createSecurityPolicy_policy :: Lens.Lens' CreateSecurityPolicy Prelude.Text+createSecurityPolicy_policy = Lens.lens (\CreateSecurityPolicy' {policy} -> policy) (\s@CreateSecurityPolicy' {} a -> s {policy = a} :: CreateSecurityPolicy)++-- | The type of security policy.+createSecurityPolicy_type :: Lens.Lens' CreateSecurityPolicy SecurityPolicyType+createSecurityPolicy_type = Lens.lens (\CreateSecurityPolicy' {type'} -> type') (\s@CreateSecurityPolicy' {} a -> s {type' = a} :: CreateSecurityPolicy)++instance Core.AWSRequest CreateSecurityPolicy where+ type+ AWSResponse CreateSecurityPolicy =+ CreateSecurityPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateSecurityPolicyResponse'+ Prelude.<$> (x Data..?> "securityPolicyDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateSecurityPolicy where+ hashWithSalt _salt CreateSecurityPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` policy+ `Prelude.hashWithSalt` type'++instance Prelude.NFData CreateSecurityPolicy where+ rnf CreateSecurityPolicy' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf policy+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders CreateSecurityPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.CreateSecurityPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateSecurityPolicy where+ toJSON CreateSecurityPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("policy" Data..= policy),+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath CreateSecurityPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateSecurityPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSecurityPolicyResponse' smart constructor.+data CreateSecurityPolicyResponse = CreateSecurityPolicyResponse'+ { -- | Details about the created security policy.+ securityPolicyDetail :: Prelude.Maybe SecurityPolicyDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSecurityPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityPolicyDetail', 'createSecurityPolicyResponse_securityPolicyDetail' - Details about the created security policy.+--+-- 'httpStatus', 'createSecurityPolicyResponse_httpStatus' - The response's http status code.+newCreateSecurityPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateSecurityPolicyResponse+newCreateSecurityPolicyResponse pHttpStatus_ =+ CreateSecurityPolicyResponse'+ { securityPolicyDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the created security policy.+createSecurityPolicyResponse_securityPolicyDetail :: Lens.Lens' CreateSecurityPolicyResponse (Prelude.Maybe SecurityPolicyDetail)+createSecurityPolicyResponse_securityPolicyDetail = Lens.lens (\CreateSecurityPolicyResponse' {securityPolicyDetail} -> securityPolicyDetail) (\s@CreateSecurityPolicyResponse' {} a -> s {securityPolicyDetail = a} :: CreateSecurityPolicyResponse)++-- | The response's http status code.+createSecurityPolicyResponse_httpStatus :: Lens.Lens' CreateSecurityPolicyResponse Prelude.Int+createSecurityPolicyResponse_httpStatus = Lens.lens (\CreateSecurityPolicyResponse' {httpStatus} -> httpStatus) (\s@CreateSecurityPolicyResponse' {} a -> s {httpStatus = a} :: CreateSecurityPolicyResponse)++instance Prelude.NFData CreateSecurityPolicyResponse where+ rnf CreateSecurityPolicyResponse' {..} =+ Prelude.rnf securityPolicyDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/CreateVpcEndpoint.hs view
@@ -0,0 +1,241 @@+{-# 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.OpenSearchServerless.CreateVpcEndpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an OpenSearch Serverless-managed interface VPC endpoint. For+-- more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html Access Amazon OpenSearch Serverless using an interface endpoint>.+module Amazonka.OpenSearchServerless.CreateVpcEndpoint+ ( -- * Creating a Request+ CreateVpcEndpoint (..),+ newCreateVpcEndpoint,++ -- * Request Lenses+ createVpcEndpoint_clientToken,+ createVpcEndpoint_securityGroupIds,+ createVpcEndpoint_name,+ createVpcEndpoint_subnetIds,+ createVpcEndpoint_vpcId,++ -- * Destructuring the Response+ CreateVpcEndpointResponse (..),+ newCreateVpcEndpointResponse,++ -- * Response Lenses+ createVpcEndpointResponse_createVpcEndpointDetail,+ createVpcEndpointResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateVpcEndpoint' smart constructor.+data CreateVpcEndpoint = CreateVpcEndpoint'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifiers of the security groups that define the ports,+ -- protocols, and sources for inbound traffic that you are authorizing into+ -- your endpoint.+ securityGroupIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The name of the interface endpoint.+ name :: Prelude.Text,+ -- | The ID of one or more subnets from which you\'ll access OpenSearch+ -- Serverless.+ subnetIds :: Prelude.NonEmpty Prelude.Text,+ -- | The ID of the VPC from which you\'ll access OpenSearch Serverless.+ vpcId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVpcEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createVpcEndpoint_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'securityGroupIds', 'createVpcEndpoint_securityGroupIds' - The unique identifiers of the security groups that define the ports,+-- protocols, and sources for inbound traffic that you are authorizing into+-- your endpoint.+--+-- 'name', 'createVpcEndpoint_name' - The name of the interface endpoint.+--+-- 'subnetIds', 'createVpcEndpoint_subnetIds' - The ID of one or more subnets from which you\'ll access OpenSearch+-- Serverless.+--+-- 'vpcId', 'createVpcEndpoint_vpcId' - The ID of the VPC from which you\'ll access OpenSearch Serverless.+newCreateVpcEndpoint ::+ -- | 'name'+ Prelude.Text ->+ -- | 'subnetIds'+ Prelude.NonEmpty Prelude.Text ->+ -- | 'vpcId'+ Prelude.Text ->+ CreateVpcEndpoint+newCreateVpcEndpoint pName_ pSubnetIds_ pVpcId_ =+ CreateVpcEndpoint'+ { clientToken = Prelude.Nothing,+ securityGroupIds = Prelude.Nothing,+ name = pName_,+ subnetIds = Lens.coerced Lens.# pSubnetIds_,+ vpcId = pVpcId_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+createVpcEndpoint_clientToken :: Lens.Lens' CreateVpcEndpoint (Prelude.Maybe Prelude.Text)+createVpcEndpoint_clientToken = Lens.lens (\CreateVpcEndpoint' {clientToken} -> clientToken) (\s@CreateVpcEndpoint' {} a -> s {clientToken = a} :: CreateVpcEndpoint)++-- | The unique identifiers of the security groups that define the ports,+-- protocols, and sources for inbound traffic that you are authorizing into+-- your endpoint.+createVpcEndpoint_securityGroupIds :: Lens.Lens' CreateVpcEndpoint (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+createVpcEndpoint_securityGroupIds = Lens.lens (\CreateVpcEndpoint' {securityGroupIds} -> securityGroupIds) (\s@CreateVpcEndpoint' {} a -> s {securityGroupIds = a} :: CreateVpcEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | The name of the interface endpoint.+createVpcEndpoint_name :: Lens.Lens' CreateVpcEndpoint Prelude.Text+createVpcEndpoint_name = Lens.lens (\CreateVpcEndpoint' {name} -> name) (\s@CreateVpcEndpoint' {} a -> s {name = a} :: CreateVpcEndpoint)++-- | The ID of one or more subnets from which you\'ll access OpenSearch+-- Serverless.+createVpcEndpoint_subnetIds :: Lens.Lens' CreateVpcEndpoint (Prelude.NonEmpty Prelude.Text)+createVpcEndpoint_subnetIds = Lens.lens (\CreateVpcEndpoint' {subnetIds} -> subnetIds) (\s@CreateVpcEndpoint' {} a -> s {subnetIds = a} :: CreateVpcEndpoint) Prelude.. Lens.coerced++-- | The ID of the VPC from which you\'ll access OpenSearch Serverless.+createVpcEndpoint_vpcId :: Lens.Lens' CreateVpcEndpoint Prelude.Text+createVpcEndpoint_vpcId = Lens.lens (\CreateVpcEndpoint' {vpcId} -> vpcId) (\s@CreateVpcEndpoint' {} a -> s {vpcId = a} :: CreateVpcEndpoint)++instance Core.AWSRequest CreateVpcEndpoint where+ type+ AWSResponse CreateVpcEndpoint =+ CreateVpcEndpointResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateVpcEndpointResponse'+ Prelude.<$> (x Data..?> "createVpcEndpointDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateVpcEndpoint where+ hashWithSalt _salt CreateVpcEndpoint' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` securityGroupIds+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` subnetIds+ `Prelude.hashWithSalt` vpcId++instance Prelude.NFData CreateVpcEndpoint where+ rnf CreateVpcEndpoint' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf securityGroupIds+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf subnetIds+ `Prelude.seq` Prelude.rnf vpcId++instance Data.ToHeaders CreateVpcEndpoint where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.CreateVpcEndpoint" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateVpcEndpoint where+ toJSON CreateVpcEndpoint' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("securityGroupIds" Data..=)+ Prelude.<$> securityGroupIds,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("subnetIds" Data..= subnetIds),+ Prelude.Just ("vpcId" Data..= vpcId)+ ]+ )++instance Data.ToPath CreateVpcEndpoint where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateVpcEndpoint where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateVpcEndpointResponse' smart constructor.+data CreateVpcEndpointResponse = CreateVpcEndpointResponse'+ { -- | Details about the created interface VPC endpoint.+ createVpcEndpointDetail :: Prelude.Maybe CreateVpcEndpointDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVpcEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createVpcEndpointDetail', 'createVpcEndpointResponse_createVpcEndpointDetail' - Details about the created interface VPC endpoint.+--+-- 'httpStatus', 'createVpcEndpointResponse_httpStatus' - The response's http status code.+newCreateVpcEndpointResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateVpcEndpointResponse+newCreateVpcEndpointResponse pHttpStatus_ =+ CreateVpcEndpointResponse'+ { createVpcEndpointDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the created interface VPC endpoint.+createVpcEndpointResponse_createVpcEndpointDetail :: Lens.Lens' CreateVpcEndpointResponse (Prelude.Maybe CreateVpcEndpointDetail)+createVpcEndpointResponse_createVpcEndpointDetail = Lens.lens (\CreateVpcEndpointResponse' {createVpcEndpointDetail} -> createVpcEndpointDetail) (\s@CreateVpcEndpointResponse' {} a -> s {createVpcEndpointDetail = a} :: CreateVpcEndpointResponse)++-- | The response's http status code.+createVpcEndpointResponse_httpStatus :: Lens.Lens' CreateVpcEndpointResponse Prelude.Int+createVpcEndpointResponse_httpStatus = Lens.lens (\CreateVpcEndpointResponse' {httpStatus} -> httpStatus) (\s@CreateVpcEndpointResponse' {} a -> s {httpStatus = a} :: CreateVpcEndpointResponse)++instance Prelude.NFData CreateVpcEndpointResponse where+ rnf CreateVpcEndpointResponse' {..} =+ Prelude.rnf createVpcEndpointDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/DeleteAccessPolicy.hs view
@@ -0,0 +1,191 @@+{-# 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.OpenSearchServerless.DeleteAccessPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an OpenSearch Serverless access policy. For more information,+-- see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html Data access control for Amazon OpenSearch Serverless>.+module Amazonka.OpenSearchServerless.DeleteAccessPolicy+ ( -- * Creating a Request+ DeleteAccessPolicy (..),+ newDeleteAccessPolicy,++ -- * Request Lenses+ deleteAccessPolicy_clientToken,+ deleteAccessPolicy_name,+ deleteAccessPolicy_type,++ -- * Destructuring the Response+ DeleteAccessPolicyResponse (..),+ newDeleteAccessPolicyResponse,++ -- * Response Lenses+ deleteAccessPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAccessPolicy' smart constructor.+data DeleteAccessPolicy = DeleteAccessPolicy'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the policy to delete.+ name :: Prelude.Text,+ -- | The type of policy.+ type' :: AccessPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAccessPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteAccessPolicy_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'name', 'deleteAccessPolicy_name' - The name of the policy to delete.+--+-- 'type'', 'deleteAccessPolicy_type' - The type of policy.+newDeleteAccessPolicy ::+ -- | 'name'+ Prelude.Text ->+ -- | 'type''+ AccessPolicyType ->+ DeleteAccessPolicy+newDeleteAccessPolicy pName_ pType_ =+ DeleteAccessPolicy'+ { clientToken = Prelude.Nothing,+ name = pName_,+ type' = pType_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+deleteAccessPolicy_clientToken :: Lens.Lens' DeleteAccessPolicy (Prelude.Maybe Prelude.Text)+deleteAccessPolicy_clientToken = Lens.lens (\DeleteAccessPolicy' {clientToken} -> clientToken) (\s@DeleteAccessPolicy' {} a -> s {clientToken = a} :: DeleteAccessPolicy)++-- | The name of the policy to delete.+deleteAccessPolicy_name :: Lens.Lens' DeleteAccessPolicy Prelude.Text+deleteAccessPolicy_name = Lens.lens (\DeleteAccessPolicy' {name} -> name) (\s@DeleteAccessPolicy' {} a -> s {name = a} :: DeleteAccessPolicy)++-- | The type of policy.+deleteAccessPolicy_type :: Lens.Lens' DeleteAccessPolicy AccessPolicyType+deleteAccessPolicy_type = Lens.lens (\DeleteAccessPolicy' {type'} -> type') (\s@DeleteAccessPolicy' {} a -> s {type' = a} :: DeleteAccessPolicy)++instance Core.AWSRequest DeleteAccessPolicy where+ type+ AWSResponse DeleteAccessPolicy =+ DeleteAccessPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteAccessPolicyResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteAccessPolicy where+ hashWithSalt _salt DeleteAccessPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` type'++instance Prelude.NFData DeleteAccessPolicy where+ rnf DeleteAccessPolicy' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders DeleteAccessPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.DeleteAccessPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteAccessPolicy where+ toJSON DeleteAccessPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath DeleteAccessPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteAccessPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAccessPolicyResponse' smart constructor.+data DeleteAccessPolicyResponse = DeleteAccessPolicyResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAccessPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteAccessPolicyResponse_httpStatus' - The response's http status code.+newDeleteAccessPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAccessPolicyResponse+newDeleteAccessPolicyResponse pHttpStatus_ =+ DeleteAccessPolicyResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteAccessPolicyResponse_httpStatus :: Lens.Lens' DeleteAccessPolicyResponse Prelude.Int+deleteAccessPolicyResponse_httpStatus = Lens.lens (\DeleteAccessPolicyResponse' {httpStatus} -> httpStatus) (\s@DeleteAccessPolicyResponse' {} a -> s {httpStatus = a} :: DeleteAccessPolicyResponse)++instance Prelude.NFData DeleteAccessPolicyResponse where+ rnf DeleteAccessPolicyResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/DeleteCollection.hs view
@@ -0,0 +1,202 @@+{-# 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.OpenSearchServerless.DeleteCollection+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an OpenSearch Serverless collection. For more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html Creating and managing Amazon OpenSearch Serverless collections>.+module Amazonka.OpenSearchServerless.DeleteCollection+ ( -- * Creating a Request+ DeleteCollection (..),+ newDeleteCollection,++ -- * Request Lenses+ deleteCollection_clientToken,+ deleteCollection_id,++ -- * Destructuring the Response+ DeleteCollectionResponse (..),+ newDeleteCollectionResponse,++ -- * Response Lenses+ deleteCollectionResponse_deleteCollectionDetail,+ deleteCollectionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteCollection' smart constructor.+data DeleteCollection = DeleteCollection'+ { -- | A unique, case-sensitive identifier to ensure idempotency of the+ -- request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the collection. For example, @1iu5usc406kd@.+ -- The ID is part of the collection endpoint. You can also retrieve it+ -- using the+ -- <https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListCollections.html ListCollections>+ -- API.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCollection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteCollection_clientToken' - A unique, case-sensitive identifier to ensure idempotency of the+-- request.+--+-- 'id', 'deleteCollection_id' - The unique identifier of the collection. For example, @1iu5usc406kd@.+-- The ID is part of the collection endpoint. You can also retrieve it+-- using the+-- <https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListCollections.html ListCollections>+-- API.+newDeleteCollection ::+ -- | 'id'+ Prelude.Text ->+ DeleteCollection+newDeleteCollection pId_ =+ DeleteCollection'+ { clientToken = Prelude.Nothing,+ id = pId_+ }++-- | A unique, case-sensitive identifier to ensure idempotency of the+-- request.+deleteCollection_clientToken :: Lens.Lens' DeleteCollection (Prelude.Maybe Prelude.Text)+deleteCollection_clientToken = Lens.lens (\DeleteCollection' {clientToken} -> clientToken) (\s@DeleteCollection' {} a -> s {clientToken = a} :: DeleteCollection)++-- | The unique identifier of the collection. For example, @1iu5usc406kd@.+-- The ID is part of the collection endpoint. You can also retrieve it+-- using the+-- <https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListCollections.html ListCollections>+-- API.+deleteCollection_id :: Lens.Lens' DeleteCollection Prelude.Text+deleteCollection_id = Lens.lens (\DeleteCollection' {id} -> id) (\s@DeleteCollection' {} a -> s {id = a} :: DeleteCollection)++instance Core.AWSRequest DeleteCollection where+ type+ AWSResponse DeleteCollection =+ DeleteCollectionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteCollectionResponse'+ Prelude.<$> (x Data..?> "deleteCollectionDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteCollection where+ hashWithSalt _salt DeleteCollection' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteCollection where+ rnf DeleteCollection' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders DeleteCollection where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.DeleteCollection" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteCollection where+ toJSON DeleteCollection' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just ("id" Data..= id)+ ]+ )++instance Data.ToPath DeleteCollection where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteCollection where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteCollectionResponse' smart constructor.+data DeleteCollectionResponse = DeleteCollectionResponse'+ { -- | Details of the deleted collection.+ deleteCollectionDetail :: Prelude.Maybe DeleteCollectionDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCollectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deleteCollectionDetail', 'deleteCollectionResponse_deleteCollectionDetail' - Details of the deleted collection.+--+-- 'httpStatus', 'deleteCollectionResponse_httpStatus' - The response's http status code.+newDeleteCollectionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteCollectionResponse+newDeleteCollectionResponse pHttpStatus_ =+ DeleteCollectionResponse'+ { deleteCollectionDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details of the deleted collection.+deleteCollectionResponse_deleteCollectionDetail :: Lens.Lens' DeleteCollectionResponse (Prelude.Maybe DeleteCollectionDetail)+deleteCollectionResponse_deleteCollectionDetail = Lens.lens (\DeleteCollectionResponse' {deleteCollectionDetail} -> deleteCollectionDetail) (\s@DeleteCollectionResponse' {} a -> s {deleteCollectionDetail = a} :: DeleteCollectionResponse)++-- | The response's http status code.+deleteCollectionResponse_httpStatus :: Lens.Lens' DeleteCollectionResponse Prelude.Int+deleteCollectionResponse_httpStatus = Lens.lens (\DeleteCollectionResponse' {httpStatus} -> httpStatus) (\s@DeleteCollectionResponse' {} a -> s {httpStatus = a} :: DeleteCollectionResponse)++instance Prelude.NFData DeleteCollectionResponse where+ rnf DeleteCollectionResponse' {..} =+ Prelude.rnf deleteCollectionDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/DeleteSecurityConfig.hs view
@@ -0,0 +1,183 @@+{-# 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.OpenSearchServerless.DeleteSecurityConfig+-- 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 security configuration for OpenSearch Serverless. For more+-- information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html SAML authentication for Amazon OpenSearch Serverless>.+module Amazonka.OpenSearchServerless.DeleteSecurityConfig+ ( -- * Creating a Request+ DeleteSecurityConfig (..),+ newDeleteSecurityConfig,++ -- * Request Lenses+ deleteSecurityConfig_clientToken,+ deleteSecurityConfig_id,++ -- * Destructuring the Response+ DeleteSecurityConfigResponse (..),+ newDeleteSecurityConfigResponse,++ -- * Response Lenses+ deleteSecurityConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteSecurityConfig' smart constructor.+data DeleteSecurityConfig = DeleteSecurityConfig'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The security configuration identifier. For SAML the ID will be+ -- @saml\/\<accountId>\/\<idpProviderName>@. For example,+ -- @saml\/123456789123\/OKTADev@.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSecurityConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteSecurityConfig_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'id', 'deleteSecurityConfig_id' - The security configuration identifier. For SAML the ID will be+-- @saml\/\<accountId>\/\<idpProviderName>@. For example,+-- @saml\/123456789123\/OKTADev@.+newDeleteSecurityConfig ::+ -- | 'id'+ Prelude.Text ->+ DeleteSecurityConfig+newDeleteSecurityConfig pId_ =+ DeleteSecurityConfig'+ { clientToken =+ Prelude.Nothing,+ id = pId_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+deleteSecurityConfig_clientToken :: Lens.Lens' DeleteSecurityConfig (Prelude.Maybe Prelude.Text)+deleteSecurityConfig_clientToken = Lens.lens (\DeleteSecurityConfig' {clientToken} -> clientToken) (\s@DeleteSecurityConfig' {} a -> s {clientToken = a} :: DeleteSecurityConfig)++-- | The security configuration identifier. For SAML the ID will be+-- @saml\/\<accountId>\/\<idpProviderName>@. For example,+-- @saml\/123456789123\/OKTADev@.+deleteSecurityConfig_id :: Lens.Lens' DeleteSecurityConfig Prelude.Text+deleteSecurityConfig_id = Lens.lens (\DeleteSecurityConfig' {id} -> id) (\s@DeleteSecurityConfig' {} a -> s {id = a} :: DeleteSecurityConfig)++instance Core.AWSRequest DeleteSecurityConfig where+ type+ AWSResponse DeleteSecurityConfig =+ DeleteSecurityConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteSecurityConfigResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteSecurityConfig where+ hashWithSalt _salt DeleteSecurityConfig' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteSecurityConfig where+ rnf DeleteSecurityConfig' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders DeleteSecurityConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.DeleteSecurityConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteSecurityConfig where+ toJSON DeleteSecurityConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just ("id" Data..= id)+ ]+ )++instance Data.ToPath DeleteSecurityConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteSecurityConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSecurityConfigResponse' smart constructor.+data DeleteSecurityConfigResponse = DeleteSecurityConfigResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSecurityConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteSecurityConfigResponse_httpStatus' - The response's http status code.+newDeleteSecurityConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteSecurityConfigResponse+newDeleteSecurityConfigResponse pHttpStatus_ =+ DeleteSecurityConfigResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteSecurityConfigResponse_httpStatus :: Lens.Lens' DeleteSecurityConfigResponse Prelude.Int+deleteSecurityConfigResponse_httpStatus = Lens.lens (\DeleteSecurityConfigResponse' {httpStatus} -> httpStatus) (\s@DeleteSecurityConfigResponse' {} a -> s {httpStatus = a} :: DeleteSecurityConfigResponse)++instance Prelude.NFData DeleteSecurityConfigResponse where+ rnf DeleteSecurityConfigResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/DeleteSecurityPolicy.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.OpenSearchServerless.DeleteSecurityPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an OpenSearch Serverless security policy.+module Amazonka.OpenSearchServerless.DeleteSecurityPolicy+ ( -- * Creating a Request+ DeleteSecurityPolicy (..),+ newDeleteSecurityPolicy,++ -- * Request Lenses+ deleteSecurityPolicy_clientToken,+ deleteSecurityPolicy_name,+ deleteSecurityPolicy_type,++ -- * Destructuring the Response+ DeleteSecurityPolicyResponse (..),+ newDeleteSecurityPolicyResponse,++ -- * Response Lenses+ deleteSecurityPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteSecurityPolicy' smart constructor.+data DeleteSecurityPolicy = DeleteSecurityPolicy'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the policy to delete.+ name :: Prelude.Text,+ -- | The type of policy.+ type' :: SecurityPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSecurityPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteSecurityPolicy_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'name', 'deleteSecurityPolicy_name' - The name of the policy to delete.+--+-- 'type'', 'deleteSecurityPolicy_type' - The type of policy.+newDeleteSecurityPolicy ::+ -- | 'name'+ Prelude.Text ->+ -- | 'type''+ SecurityPolicyType ->+ DeleteSecurityPolicy+newDeleteSecurityPolicy pName_ pType_ =+ DeleteSecurityPolicy'+ { clientToken =+ Prelude.Nothing,+ name = pName_,+ type' = pType_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+deleteSecurityPolicy_clientToken :: Lens.Lens' DeleteSecurityPolicy (Prelude.Maybe Prelude.Text)+deleteSecurityPolicy_clientToken = Lens.lens (\DeleteSecurityPolicy' {clientToken} -> clientToken) (\s@DeleteSecurityPolicy' {} a -> s {clientToken = a} :: DeleteSecurityPolicy)++-- | The name of the policy to delete.+deleteSecurityPolicy_name :: Lens.Lens' DeleteSecurityPolicy Prelude.Text+deleteSecurityPolicy_name = Lens.lens (\DeleteSecurityPolicy' {name} -> name) (\s@DeleteSecurityPolicy' {} a -> s {name = a} :: DeleteSecurityPolicy)++-- | The type of policy.+deleteSecurityPolicy_type :: Lens.Lens' DeleteSecurityPolicy SecurityPolicyType+deleteSecurityPolicy_type = Lens.lens (\DeleteSecurityPolicy' {type'} -> type') (\s@DeleteSecurityPolicy' {} a -> s {type' = a} :: DeleteSecurityPolicy)++instance Core.AWSRequest DeleteSecurityPolicy where+ type+ AWSResponse DeleteSecurityPolicy =+ DeleteSecurityPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteSecurityPolicyResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteSecurityPolicy where+ hashWithSalt _salt DeleteSecurityPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` type'++instance Prelude.NFData DeleteSecurityPolicy where+ rnf DeleteSecurityPolicy' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders DeleteSecurityPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.DeleteSecurityPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteSecurityPolicy where+ toJSON DeleteSecurityPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath DeleteSecurityPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteSecurityPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSecurityPolicyResponse' smart constructor.+data DeleteSecurityPolicyResponse = DeleteSecurityPolicyResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSecurityPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteSecurityPolicyResponse_httpStatus' - The response's http status code.+newDeleteSecurityPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteSecurityPolicyResponse+newDeleteSecurityPolicyResponse pHttpStatus_ =+ DeleteSecurityPolicyResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteSecurityPolicyResponse_httpStatus :: Lens.Lens' DeleteSecurityPolicyResponse Prelude.Int+deleteSecurityPolicyResponse_httpStatus = Lens.lens (\DeleteSecurityPolicyResponse' {httpStatus} -> httpStatus) (\s@DeleteSecurityPolicyResponse' {} a -> s {httpStatus = a} :: DeleteSecurityPolicyResponse)++instance Prelude.NFData DeleteSecurityPolicyResponse where+ rnf DeleteSecurityPolicyResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/DeleteVpcEndpoint.hs view
@@ -0,0 +1,188 @@+{-# 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.OpenSearchServerless.DeleteVpcEndpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an OpenSearch Serverless-managed interface endpoint. For more+-- information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html Access Amazon OpenSearch Serverless using an interface endpoint>.+module Amazonka.OpenSearchServerless.DeleteVpcEndpoint+ ( -- * Creating a Request+ DeleteVpcEndpoint (..),+ newDeleteVpcEndpoint,++ -- * Request Lenses+ deleteVpcEndpoint_clientToken,+ deleteVpcEndpoint_id,++ -- * Destructuring the Response+ DeleteVpcEndpointResponse (..),+ newDeleteVpcEndpointResponse,++ -- * Response Lenses+ deleteVpcEndpointResponse_deleteVpcEndpointDetail,+ deleteVpcEndpointResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteVpcEndpoint' smart constructor.+data DeleteVpcEndpoint = DeleteVpcEndpoint'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The VPC endpoint identifier.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVpcEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteVpcEndpoint_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'id', 'deleteVpcEndpoint_id' - The VPC endpoint identifier.+newDeleteVpcEndpoint ::+ -- | 'id'+ Prelude.Text ->+ DeleteVpcEndpoint+newDeleteVpcEndpoint pId_ =+ DeleteVpcEndpoint'+ { clientToken = Prelude.Nothing,+ id = pId_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+deleteVpcEndpoint_clientToken :: Lens.Lens' DeleteVpcEndpoint (Prelude.Maybe Prelude.Text)+deleteVpcEndpoint_clientToken = Lens.lens (\DeleteVpcEndpoint' {clientToken} -> clientToken) (\s@DeleteVpcEndpoint' {} a -> s {clientToken = a} :: DeleteVpcEndpoint)++-- | The VPC endpoint identifier.+deleteVpcEndpoint_id :: Lens.Lens' DeleteVpcEndpoint Prelude.Text+deleteVpcEndpoint_id = Lens.lens (\DeleteVpcEndpoint' {id} -> id) (\s@DeleteVpcEndpoint' {} a -> s {id = a} :: DeleteVpcEndpoint)++instance Core.AWSRequest DeleteVpcEndpoint where+ type+ AWSResponse DeleteVpcEndpoint =+ DeleteVpcEndpointResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteVpcEndpointResponse'+ Prelude.<$> (x Data..?> "deleteVpcEndpointDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteVpcEndpoint where+ hashWithSalt _salt DeleteVpcEndpoint' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteVpcEndpoint where+ rnf DeleteVpcEndpoint' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders DeleteVpcEndpoint where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.DeleteVpcEndpoint" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteVpcEndpoint where+ toJSON DeleteVpcEndpoint' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just ("id" Data..= id)+ ]+ )++instance Data.ToPath DeleteVpcEndpoint where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteVpcEndpoint where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVpcEndpointResponse' smart constructor.+data DeleteVpcEndpointResponse = DeleteVpcEndpointResponse'+ { -- | Details about the deleted endpoint.+ deleteVpcEndpointDetail :: Prelude.Maybe DeleteVpcEndpointDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVpcEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deleteVpcEndpointDetail', 'deleteVpcEndpointResponse_deleteVpcEndpointDetail' - Details about the deleted endpoint.+--+-- 'httpStatus', 'deleteVpcEndpointResponse_httpStatus' - The response's http status code.+newDeleteVpcEndpointResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteVpcEndpointResponse+newDeleteVpcEndpointResponse pHttpStatus_ =+ DeleteVpcEndpointResponse'+ { deleteVpcEndpointDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the deleted endpoint.+deleteVpcEndpointResponse_deleteVpcEndpointDetail :: Lens.Lens' DeleteVpcEndpointResponse (Prelude.Maybe DeleteVpcEndpointDetail)+deleteVpcEndpointResponse_deleteVpcEndpointDetail = Lens.lens (\DeleteVpcEndpointResponse' {deleteVpcEndpointDetail} -> deleteVpcEndpointDetail) (\s@DeleteVpcEndpointResponse' {} a -> s {deleteVpcEndpointDetail = a} :: DeleteVpcEndpointResponse)++-- | The response's http status code.+deleteVpcEndpointResponse_httpStatus :: Lens.Lens' DeleteVpcEndpointResponse Prelude.Int+deleteVpcEndpointResponse_httpStatus = Lens.lens (\DeleteVpcEndpointResponse' {httpStatus} -> httpStatus) (\s@DeleteVpcEndpointResponse' {} a -> s {httpStatus = a} :: DeleteVpcEndpointResponse)++instance Prelude.NFData DeleteVpcEndpointResponse where+ rnf DeleteVpcEndpointResponse' {..} =+ Prelude.rnf deleteVpcEndpointDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/GetAccessPolicy.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.GetAccessPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an OpenSearch Serverless access policy. For more information,+-- see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html Data access control for Amazon OpenSearch Serverless>.+module Amazonka.OpenSearchServerless.GetAccessPolicy+ ( -- * Creating a Request+ GetAccessPolicy (..),+ newGetAccessPolicy,++ -- * Request Lenses+ getAccessPolicy_name,+ getAccessPolicy_type,++ -- * Destructuring the Response+ GetAccessPolicyResponse (..),+ newGetAccessPolicyResponse,++ -- * Response Lenses+ getAccessPolicyResponse_accessPolicyDetail,+ getAccessPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAccessPolicy' smart constructor.+data GetAccessPolicy = GetAccessPolicy'+ { -- | The name of the access policy.+ name :: Prelude.Text,+ -- | Tye type of policy. Currently the only supported value is @data@.+ type' :: AccessPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccessPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'getAccessPolicy_name' - The name of the access policy.+--+-- 'type'', 'getAccessPolicy_type' - Tye type of policy. Currently the only supported value is @data@.+newGetAccessPolicy ::+ -- | 'name'+ Prelude.Text ->+ -- | 'type''+ AccessPolicyType ->+ GetAccessPolicy+newGetAccessPolicy pName_ pType_ =+ GetAccessPolicy' {name = pName_, type' = pType_}++-- | The name of the access policy.+getAccessPolicy_name :: Lens.Lens' GetAccessPolicy Prelude.Text+getAccessPolicy_name = Lens.lens (\GetAccessPolicy' {name} -> name) (\s@GetAccessPolicy' {} a -> s {name = a} :: GetAccessPolicy)++-- | Tye type of policy. Currently the only supported value is @data@.+getAccessPolicy_type :: Lens.Lens' GetAccessPolicy AccessPolicyType+getAccessPolicy_type = Lens.lens (\GetAccessPolicy' {type'} -> type') (\s@GetAccessPolicy' {} a -> s {type' = a} :: GetAccessPolicy)++instance Core.AWSRequest GetAccessPolicy where+ type+ AWSResponse GetAccessPolicy =+ GetAccessPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAccessPolicyResponse'+ Prelude.<$> (x Data..?> "accessPolicyDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetAccessPolicy where+ hashWithSalt _salt GetAccessPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` type'++instance Prelude.NFData GetAccessPolicy where+ rnf GetAccessPolicy' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders GetAccessPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.GetAccessPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetAccessPolicy where+ toJSON GetAccessPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("name" Data..= name),+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath GetAccessPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery GetAccessPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAccessPolicyResponse' smart constructor.+data GetAccessPolicyResponse = GetAccessPolicyResponse'+ { -- | Details about the requested access policy.+ accessPolicyDetail :: Prelude.Maybe AccessPolicyDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccessPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessPolicyDetail', 'getAccessPolicyResponse_accessPolicyDetail' - Details about the requested access policy.+--+-- 'httpStatus', 'getAccessPolicyResponse_httpStatus' - The response's http status code.+newGetAccessPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAccessPolicyResponse+newGetAccessPolicyResponse pHttpStatus_ =+ GetAccessPolicyResponse'+ { accessPolicyDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the requested access policy.+getAccessPolicyResponse_accessPolicyDetail :: Lens.Lens' GetAccessPolicyResponse (Prelude.Maybe AccessPolicyDetail)+getAccessPolicyResponse_accessPolicyDetail = Lens.lens (\GetAccessPolicyResponse' {accessPolicyDetail} -> accessPolicyDetail) (\s@GetAccessPolicyResponse' {} a -> s {accessPolicyDetail = a} :: GetAccessPolicyResponse)++-- | The response's http status code.+getAccessPolicyResponse_httpStatus :: Lens.Lens' GetAccessPolicyResponse Prelude.Int+getAccessPolicyResponse_httpStatus = Lens.lens (\GetAccessPolicyResponse' {httpStatus} -> httpStatus) (\s@GetAccessPolicyResponse' {} a -> s {httpStatus = a} :: GetAccessPolicyResponse)++instance Prelude.NFData GetAccessPolicyResponse where+ rnf GetAccessPolicyResponse' {..} =+ Prelude.rnf accessPolicyDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/GetAccountSettings.hs view
@@ -0,0 +1,148 @@+{-# 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.OpenSearchServerless.GetAccountSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns account-level settings related to OpenSearch Serverless.+module Amazonka.OpenSearchServerless.GetAccountSettings+ ( -- * Creating a Request+ GetAccountSettings (..),+ newGetAccountSettings,++ -- * Destructuring the Response+ GetAccountSettingsResponse (..),+ newGetAccountSettingsResponse,++ -- * Response Lenses+ getAccountSettingsResponse_accountSettingsDetail,+ getAccountSettingsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAccountSettings' smart constructor.+data GetAccountSettings = GetAccountSettings'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccountSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetAccountSettings ::+ GetAccountSettings+newGetAccountSettings = GetAccountSettings'++instance Core.AWSRequest GetAccountSettings where+ type+ AWSResponse GetAccountSettings =+ GetAccountSettingsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAccountSettingsResponse'+ Prelude.<$> (x Data..?> "accountSettingsDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetAccountSettings where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetAccountSettings where+ rnf _ = ()++instance Data.ToHeaders GetAccountSettings where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.GetAccountSettings" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetAccountSettings where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath GetAccountSettings where+ toPath = Prelude.const "/"++instance Data.ToQuery GetAccountSettings where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAccountSettingsResponse' smart constructor.+data GetAccountSettingsResponse = GetAccountSettingsResponse'+ { -- | OpenSearch Serverless-related details for the current account.+ accountSettingsDetail :: Prelude.Maybe AccountSettingsDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccountSettingsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountSettingsDetail', 'getAccountSettingsResponse_accountSettingsDetail' - OpenSearch Serverless-related details for the current account.+--+-- 'httpStatus', 'getAccountSettingsResponse_httpStatus' - The response's http status code.+newGetAccountSettingsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAccountSettingsResponse+newGetAccountSettingsResponse pHttpStatus_ =+ GetAccountSettingsResponse'+ { accountSettingsDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | OpenSearch Serverless-related details for the current account.+getAccountSettingsResponse_accountSettingsDetail :: Lens.Lens' GetAccountSettingsResponse (Prelude.Maybe AccountSettingsDetail)+getAccountSettingsResponse_accountSettingsDetail = Lens.lens (\GetAccountSettingsResponse' {accountSettingsDetail} -> accountSettingsDetail) (\s@GetAccountSettingsResponse' {} a -> s {accountSettingsDetail = a} :: GetAccountSettingsResponse)++-- | The response's http status code.+getAccountSettingsResponse_httpStatus :: Lens.Lens' GetAccountSettingsResponse Prelude.Int+getAccountSettingsResponse_httpStatus = Lens.lens (\GetAccountSettingsResponse' {httpStatus} -> httpStatus) (\s@GetAccountSettingsResponse' {} a -> s {httpStatus = a} :: GetAccountSettingsResponse)++instance Prelude.NFData GetAccountSettingsResponse where+ rnf GetAccountSettingsResponse' {..} =+ Prelude.rnf accountSettingsDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/GetPoliciesStats.hs view
@@ -0,0 +1,188 @@+{-# 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.OpenSearchServerless.GetPoliciesStats+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns statistical information about your OpenSearch Serverless access+-- policies, security configurations, and security policies.+module Amazonka.OpenSearchServerless.GetPoliciesStats+ ( -- * Creating a Request+ GetPoliciesStats (..),+ newGetPoliciesStats,++ -- * Destructuring the Response+ GetPoliciesStatsResponse (..),+ newGetPoliciesStatsResponse,++ -- * Response Lenses+ getPoliciesStatsResponse_accessPolicyStats,+ getPoliciesStatsResponse_securityConfigStats,+ getPoliciesStatsResponse_securityPolicyStats,+ getPoliciesStatsResponse_totalPolicyCount,+ getPoliciesStatsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPoliciesStats' smart constructor.+data GetPoliciesStats = GetPoliciesStats'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPoliciesStats' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetPoliciesStats ::+ GetPoliciesStats+newGetPoliciesStats = GetPoliciesStats'++instance Core.AWSRequest GetPoliciesStats where+ type+ AWSResponse GetPoliciesStats =+ GetPoliciesStatsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetPoliciesStatsResponse'+ Prelude.<$> (x Data..?> "AccessPolicyStats")+ Prelude.<*> (x Data..?> "SecurityConfigStats")+ Prelude.<*> (x Data..?> "SecurityPolicyStats")+ Prelude.<*> (x Data..?> "TotalPolicyCount")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetPoliciesStats where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetPoliciesStats where+ rnf _ = ()++instance Data.ToHeaders GetPoliciesStats where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.GetPoliciesStats" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetPoliciesStats where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath GetPoliciesStats where+ toPath = Prelude.const "/"++instance Data.ToQuery GetPoliciesStats where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPoliciesStatsResponse' smart constructor.+data GetPoliciesStatsResponse = GetPoliciesStatsResponse'+ { -- | Information about the data access policies in your account.+ accessPolicyStats :: Prelude.Maybe AccessPolicyStats,+ -- | Information about the security configurations in your account.+ securityConfigStats :: Prelude.Maybe SecurityConfigStats,+ -- | Information about the security policies in your account.+ securityPolicyStats :: Prelude.Maybe SecurityPolicyStats,+ -- | The total number of OpenSearch Serverless security policies and+ -- configurations in your account.+ totalPolicyCount :: Prelude.Maybe Prelude.Integer,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPoliciesStatsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessPolicyStats', 'getPoliciesStatsResponse_accessPolicyStats' - Information about the data access policies in your account.+--+-- 'securityConfigStats', 'getPoliciesStatsResponse_securityConfigStats' - Information about the security configurations in your account.+--+-- 'securityPolicyStats', 'getPoliciesStatsResponse_securityPolicyStats' - Information about the security policies in your account.+--+-- 'totalPolicyCount', 'getPoliciesStatsResponse_totalPolicyCount' - The total number of OpenSearch Serverless security policies and+-- configurations in your account.+--+-- 'httpStatus', 'getPoliciesStatsResponse_httpStatus' - The response's http status code.+newGetPoliciesStatsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetPoliciesStatsResponse+newGetPoliciesStatsResponse pHttpStatus_ =+ GetPoliciesStatsResponse'+ { accessPolicyStats =+ Prelude.Nothing,+ securityConfigStats = Prelude.Nothing,+ securityPolicyStats = Prelude.Nothing,+ totalPolicyCount = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the data access policies in your account.+getPoliciesStatsResponse_accessPolicyStats :: Lens.Lens' GetPoliciesStatsResponse (Prelude.Maybe AccessPolicyStats)+getPoliciesStatsResponse_accessPolicyStats = Lens.lens (\GetPoliciesStatsResponse' {accessPolicyStats} -> accessPolicyStats) (\s@GetPoliciesStatsResponse' {} a -> s {accessPolicyStats = a} :: GetPoliciesStatsResponse)++-- | Information about the security configurations in your account.+getPoliciesStatsResponse_securityConfigStats :: Lens.Lens' GetPoliciesStatsResponse (Prelude.Maybe SecurityConfigStats)+getPoliciesStatsResponse_securityConfigStats = Lens.lens (\GetPoliciesStatsResponse' {securityConfigStats} -> securityConfigStats) (\s@GetPoliciesStatsResponse' {} a -> s {securityConfigStats = a} :: GetPoliciesStatsResponse)++-- | Information about the security policies in your account.+getPoliciesStatsResponse_securityPolicyStats :: Lens.Lens' GetPoliciesStatsResponse (Prelude.Maybe SecurityPolicyStats)+getPoliciesStatsResponse_securityPolicyStats = Lens.lens (\GetPoliciesStatsResponse' {securityPolicyStats} -> securityPolicyStats) (\s@GetPoliciesStatsResponse' {} a -> s {securityPolicyStats = a} :: GetPoliciesStatsResponse)++-- | The total number of OpenSearch Serverless security policies and+-- configurations in your account.+getPoliciesStatsResponse_totalPolicyCount :: Lens.Lens' GetPoliciesStatsResponse (Prelude.Maybe Prelude.Integer)+getPoliciesStatsResponse_totalPolicyCount = Lens.lens (\GetPoliciesStatsResponse' {totalPolicyCount} -> totalPolicyCount) (\s@GetPoliciesStatsResponse' {} a -> s {totalPolicyCount = a} :: GetPoliciesStatsResponse)++-- | The response's http status code.+getPoliciesStatsResponse_httpStatus :: Lens.Lens' GetPoliciesStatsResponse Prelude.Int+getPoliciesStatsResponse_httpStatus = Lens.lens (\GetPoliciesStatsResponse' {httpStatus} -> httpStatus) (\s@GetPoliciesStatsResponse' {} a -> s {httpStatus = a} :: GetPoliciesStatsResponse)++instance Prelude.NFData GetPoliciesStatsResponse where+ rnf GetPoliciesStatsResponse' {..} =+ Prelude.rnf accessPolicyStats+ `Prelude.seq` Prelude.rnf securityConfigStats+ `Prelude.seq` Prelude.rnf securityPolicyStats+ `Prelude.seq` Prelude.rnf totalPolicyCount+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/GetSecurityConfig.hs view
@@ -0,0 +1,168 @@+{-# 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.OpenSearchServerless.GetSecurityConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about an OpenSearch Serverless security+-- configuration. For more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html SAML authentication for Amazon OpenSearch Serverless>.+module Amazonka.OpenSearchServerless.GetSecurityConfig+ ( -- * Creating a Request+ GetSecurityConfig (..),+ newGetSecurityConfig,++ -- * Request Lenses+ getSecurityConfig_id,++ -- * Destructuring the Response+ GetSecurityConfigResponse (..),+ newGetSecurityConfigResponse,++ -- * Response Lenses+ getSecurityConfigResponse_securityConfigDetail,+ getSecurityConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSecurityConfig' smart constructor.+data GetSecurityConfig = GetSecurityConfig'+ { -- | The unique identifier of the security configuration.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSecurityConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'getSecurityConfig_id' - The unique identifier of the security configuration.+newGetSecurityConfig ::+ -- | 'id'+ Prelude.Text ->+ GetSecurityConfig+newGetSecurityConfig pId_ =+ GetSecurityConfig' {id = pId_}++-- | The unique identifier of the security configuration.+getSecurityConfig_id :: Lens.Lens' GetSecurityConfig Prelude.Text+getSecurityConfig_id = Lens.lens (\GetSecurityConfig' {id} -> id) (\s@GetSecurityConfig' {} a -> s {id = a} :: GetSecurityConfig)++instance Core.AWSRequest GetSecurityConfig where+ type+ AWSResponse GetSecurityConfig =+ GetSecurityConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetSecurityConfigResponse'+ Prelude.<$> (x Data..?> "securityConfigDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetSecurityConfig where+ hashWithSalt _salt GetSecurityConfig' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetSecurityConfig where+ rnf GetSecurityConfig' {..} = Prelude.rnf id++instance Data.ToHeaders GetSecurityConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.GetSecurityConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetSecurityConfig where+ toJSON GetSecurityConfig' {..} =+ Data.object+ (Prelude.catMaybes [Prelude.Just ("id" Data..= id)])++instance Data.ToPath GetSecurityConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery GetSecurityConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSecurityConfigResponse' smart constructor.+data GetSecurityConfigResponse = GetSecurityConfigResponse'+ { -- | Details of the requested security configuration.+ securityConfigDetail :: Prelude.Maybe SecurityConfigDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSecurityConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityConfigDetail', 'getSecurityConfigResponse_securityConfigDetail' - Details of the requested security configuration.+--+-- 'httpStatus', 'getSecurityConfigResponse_httpStatus' - The response's http status code.+newGetSecurityConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetSecurityConfigResponse+newGetSecurityConfigResponse pHttpStatus_ =+ GetSecurityConfigResponse'+ { securityConfigDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details of the requested security configuration.+getSecurityConfigResponse_securityConfigDetail :: Lens.Lens' GetSecurityConfigResponse (Prelude.Maybe SecurityConfigDetail)+getSecurityConfigResponse_securityConfigDetail = Lens.lens (\GetSecurityConfigResponse' {securityConfigDetail} -> securityConfigDetail) (\s@GetSecurityConfigResponse' {} a -> s {securityConfigDetail = a} :: GetSecurityConfigResponse)++-- | The response's http status code.+getSecurityConfigResponse_httpStatus :: Lens.Lens' GetSecurityConfigResponse Prelude.Int+getSecurityConfigResponse_httpStatus = Lens.lens (\GetSecurityConfigResponse' {httpStatus} -> httpStatus) (\s@GetSecurityConfigResponse' {} a -> s {httpStatus = a} :: GetSecurityConfigResponse)++instance Prelude.NFData GetSecurityConfigResponse where+ rnf GetSecurityConfigResponse' {..} =+ Prelude.rnf securityConfigDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/GetSecurityPolicy.hs view
@@ -0,0 +1,188 @@+{-# 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.OpenSearchServerless.GetSecurityPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a configured OpenSearch Serverless security+-- policy. For more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html Network access for Amazon OpenSearch Serverless>+-- and+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html Encryption at rest for Amazon OpenSearch Serverless>.+module Amazonka.OpenSearchServerless.GetSecurityPolicy+ ( -- * Creating a Request+ GetSecurityPolicy (..),+ newGetSecurityPolicy,++ -- * Request Lenses+ getSecurityPolicy_name,+ getSecurityPolicy_type,++ -- * Destructuring the Response+ GetSecurityPolicyResponse (..),+ newGetSecurityPolicyResponse,++ -- * Response Lenses+ getSecurityPolicyResponse_securityPolicyDetail,+ getSecurityPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSecurityPolicy' smart constructor.+data GetSecurityPolicy = GetSecurityPolicy'+ { -- | The name of the security policy.+ name :: Prelude.Text,+ -- | The type of security policy.+ type' :: SecurityPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSecurityPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'getSecurityPolicy_name' - The name of the security policy.+--+-- 'type'', 'getSecurityPolicy_type' - The type of security policy.+newGetSecurityPolicy ::+ -- | 'name'+ Prelude.Text ->+ -- | 'type''+ SecurityPolicyType ->+ GetSecurityPolicy+newGetSecurityPolicy pName_ pType_ =+ GetSecurityPolicy' {name = pName_, type' = pType_}++-- | The name of the security policy.+getSecurityPolicy_name :: Lens.Lens' GetSecurityPolicy Prelude.Text+getSecurityPolicy_name = Lens.lens (\GetSecurityPolicy' {name} -> name) (\s@GetSecurityPolicy' {} a -> s {name = a} :: GetSecurityPolicy)++-- | The type of security policy.+getSecurityPolicy_type :: Lens.Lens' GetSecurityPolicy SecurityPolicyType+getSecurityPolicy_type = Lens.lens (\GetSecurityPolicy' {type'} -> type') (\s@GetSecurityPolicy' {} a -> s {type' = a} :: GetSecurityPolicy)++instance Core.AWSRequest GetSecurityPolicy where+ type+ AWSResponse GetSecurityPolicy =+ GetSecurityPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetSecurityPolicyResponse'+ Prelude.<$> (x Data..?> "securityPolicyDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetSecurityPolicy where+ hashWithSalt _salt GetSecurityPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` type'++instance Prelude.NFData GetSecurityPolicy where+ rnf GetSecurityPolicy' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders GetSecurityPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.GetSecurityPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetSecurityPolicy where+ toJSON GetSecurityPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("name" Data..= name),+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath GetSecurityPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery GetSecurityPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSecurityPolicyResponse' smart constructor.+data GetSecurityPolicyResponse = GetSecurityPolicyResponse'+ { -- | Details about the requested security policy.+ securityPolicyDetail :: Prelude.Maybe SecurityPolicyDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSecurityPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityPolicyDetail', 'getSecurityPolicyResponse_securityPolicyDetail' - Details about the requested security policy.+--+-- 'httpStatus', 'getSecurityPolicyResponse_httpStatus' - The response's http status code.+newGetSecurityPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetSecurityPolicyResponse+newGetSecurityPolicyResponse pHttpStatus_ =+ GetSecurityPolicyResponse'+ { securityPolicyDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the requested security policy.+getSecurityPolicyResponse_securityPolicyDetail :: Lens.Lens' GetSecurityPolicyResponse (Prelude.Maybe SecurityPolicyDetail)+getSecurityPolicyResponse_securityPolicyDetail = Lens.lens (\GetSecurityPolicyResponse' {securityPolicyDetail} -> securityPolicyDetail) (\s@GetSecurityPolicyResponse' {} a -> s {securityPolicyDetail = a} :: GetSecurityPolicyResponse)++-- | The response's http status code.+getSecurityPolicyResponse_httpStatus :: Lens.Lens' GetSecurityPolicyResponse Prelude.Int+getSecurityPolicyResponse_httpStatus = Lens.lens (\GetSecurityPolicyResponse' {httpStatus} -> httpStatus) (\s@GetSecurityPolicyResponse' {} a -> s {httpStatus = a} :: GetSecurityPolicyResponse)++instance Prelude.NFData GetSecurityPolicyResponse where+ rnf GetSecurityPolicyResponse' {..} =+ Prelude.rnf securityPolicyDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/Lens.hs view
@@ -0,0 +1,477 @@+{-# 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.OpenSearchServerless.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.OpenSearchServerless.Lens+ ( -- * Operations++ -- ** BatchGetCollection+ batchGetCollection_ids,+ batchGetCollection_names,+ batchGetCollectionResponse_collectionDetails,+ batchGetCollectionResponse_collectionErrorDetails,+ batchGetCollectionResponse_httpStatus,++ -- ** BatchGetVpcEndpoint+ batchGetVpcEndpoint_ids,+ batchGetVpcEndpointResponse_vpcEndpointDetails,+ batchGetVpcEndpointResponse_vpcEndpointErrorDetails,+ batchGetVpcEndpointResponse_httpStatus,++ -- ** CreateAccessPolicy+ createAccessPolicy_clientToken,+ createAccessPolicy_description,+ createAccessPolicy_name,+ createAccessPolicy_policy,+ createAccessPolicy_type,+ createAccessPolicyResponse_accessPolicyDetail,+ createAccessPolicyResponse_httpStatus,++ -- ** CreateCollection+ createCollection_clientToken,+ createCollection_description,+ createCollection_tags,+ createCollection_type,+ createCollection_name,+ createCollectionResponse_createCollectionDetail,+ createCollectionResponse_httpStatus,++ -- ** CreateSecurityConfig+ createSecurityConfig_clientToken,+ createSecurityConfig_description,+ createSecurityConfig_samlOptions,+ createSecurityConfig_name,+ createSecurityConfig_type,+ createSecurityConfigResponse_securityConfigDetail,+ createSecurityConfigResponse_httpStatus,++ -- ** CreateSecurityPolicy+ createSecurityPolicy_clientToken,+ createSecurityPolicy_description,+ createSecurityPolicy_name,+ createSecurityPolicy_policy,+ createSecurityPolicy_type,+ createSecurityPolicyResponse_securityPolicyDetail,+ createSecurityPolicyResponse_httpStatus,++ -- ** CreateVpcEndpoint+ createVpcEndpoint_clientToken,+ createVpcEndpoint_securityGroupIds,+ createVpcEndpoint_name,+ createVpcEndpoint_subnetIds,+ createVpcEndpoint_vpcId,+ createVpcEndpointResponse_createVpcEndpointDetail,+ createVpcEndpointResponse_httpStatus,++ -- ** DeleteAccessPolicy+ deleteAccessPolicy_clientToken,+ deleteAccessPolicy_name,+ deleteAccessPolicy_type,+ deleteAccessPolicyResponse_httpStatus,++ -- ** DeleteCollection+ deleteCollection_clientToken,+ deleteCollection_id,+ deleteCollectionResponse_deleteCollectionDetail,+ deleteCollectionResponse_httpStatus,++ -- ** DeleteSecurityConfig+ deleteSecurityConfig_clientToken,+ deleteSecurityConfig_id,+ deleteSecurityConfigResponse_httpStatus,++ -- ** DeleteSecurityPolicy+ deleteSecurityPolicy_clientToken,+ deleteSecurityPolicy_name,+ deleteSecurityPolicy_type,+ deleteSecurityPolicyResponse_httpStatus,++ -- ** DeleteVpcEndpoint+ deleteVpcEndpoint_clientToken,+ deleteVpcEndpoint_id,+ deleteVpcEndpointResponse_deleteVpcEndpointDetail,+ deleteVpcEndpointResponse_httpStatus,++ -- ** GetAccessPolicy+ getAccessPolicy_name,+ getAccessPolicy_type,+ getAccessPolicyResponse_accessPolicyDetail,+ getAccessPolicyResponse_httpStatus,++ -- ** GetAccountSettings+ getAccountSettingsResponse_accountSettingsDetail,+ getAccountSettingsResponse_httpStatus,++ -- ** GetPoliciesStats+ getPoliciesStatsResponse_accessPolicyStats,+ getPoliciesStatsResponse_securityConfigStats,+ getPoliciesStatsResponse_securityPolicyStats,+ getPoliciesStatsResponse_totalPolicyCount,+ getPoliciesStatsResponse_httpStatus,++ -- ** GetSecurityConfig+ getSecurityConfig_id,+ getSecurityConfigResponse_securityConfigDetail,+ getSecurityConfigResponse_httpStatus,++ -- ** GetSecurityPolicy+ getSecurityPolicy_name,+ getSecurityPolicy_type,+ getSecurityPolicyResponse_securityPolicyDetail,+ getSecurityPolicyResponse_httpStatus,++ -- ** ListAccessPolicies+ listAccessPolicies_maxResults,+ listAccessPolicies_nextToken,+ listAccessPolicies_resource,+ listAccessPolicies_type,+ listAccessPoliciesResponse_accessPolicySummaries,+ listAccessPoliciesResponse_nextToken,+ listAccessPoliciesResponse_httpStatus,++ -- ** ListCollections+ listCollections_collectionFilters,+ listCollections_maxResults,+ listCollections_nextToken,+ listCollectionsResponse_collectionSummaries,+ listCollectionsResponse_nextToken,+ listCollectionsResponse_httpStatus,++ -- ** ListSecurityConfigs+ listSecurityConfigs_maxResults,+ listSecurityConfigs_nextToken,+ listSecurityConfigs_type,+ listSecurityConfigsResponse_nextToken,+ listSecurityConfigsResponse_securityConfigSummaries,+ listSecurityConfigsResponse_httpStatus,++ -- ** ListSecurityPolicies+ listSecurityPolicies_maxResults,+ listSecurityPolicies_nextToken,+ listSecurityPolicies_resource,+ listSecurityPolicies_type,+ listSecurityPoliciesResponse_nextToken,+ listSecurityPoliciesResponse_securityPolicySummaries,+ listSecurityPoliciesResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** ListVpcEndpoints+ listVpcEndpoints_maxResults,+ listVpcEndpoints_nextToken,+ listVpcEndpoints_vpcEndpointFilters,+ listVpcEndpointsResponse_nextToken,+ listVpcEndpointsResponse_vpcEndpointSummaries,+ listVpcEndpointsResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateAccessPolicy+ updateAccessPolicy_clientToken,+ updateAccessPolicy_description,+ updateAccessPolicy_policy,+ updateAccessPolicy_name,+ updateAccessPolicy_policyVersion,+ updateAccessPolicy_type,+ updateAccessPolicyResponse_accessPolicyDetail,+ updateAccessPolicyResponse_httpStatus,++ -- ** UpdateAccountSettings+ updateAccountSettings_capacityLimits,+ updateAccountSettingsResponse_accountSettingsDetail,+ updateAccountSettingsResponse_httpStatus,++ -- ** UpdateCollection+ updateCollection_clientToken,+ updateCollection_description,+ updateCollection_id,+ updateCollectionResponse_updateCollectionDetail,+ updateCollectionResponse_httpStatus,++ -- ** UpdateSecurityConfig+ updateSecurityConfig_clientToken,+ updateSecurityConfig_description,+ updateSecurityConfig_samlOptions,+ updateSecurityConfig_configVersion,+ updateSecurityConfig_id,+ updateSecurityConfigResponse_securityConfigDetail,+ updateSecurityConfigResponse_httpStatus,++ -- ** UpdateSecurityPolicy+ updateSecurityPolicy_clientToken,+ updateSecurityPolicy_description,+ updateSecurityPolicy_policy,+ updateSecurityPolicy_name,+ updateSecurityPolicy_policyVersion,+ updateSecurityPolicy_type,+ updateSecurityPolicyResponse_securityPolicyDetail,+ updateSecurityPolicyResponse_httpStatus,++ -- ** UpdateVpcEndpoint+ updateVpcEndpoint_addSecurityGroupIds,+ updateVpcEndpoint_addSubnetIds,+ updateVpcEndpoint_clientToken,+ updateVpcEndpoint_removeSecurityGroupIds,+ updateVpcEndpoint_removeSubnetIds,+ updateVpcEndpoint_id,+ updateVpcEndpointResponse_updateVpcEndpointDetail,+ updateVpcEndpointResponse_httpStatus,++ -- * Types++ -- ** AccessPolicyDetail+ accessPolicyDetail_createdDate,+ accessPolicyDetail_description,+ accessPolicyDetail_lastModifiedDate,+ accessPolicyDetail_name,+ accessPolicyDetail_policy,+ accessPolicyDetail_policyVersion,+ accessPolicyDetail_type,++ -- ** AccessPolicyStats+ accessPolicyStats_dataPolicyCount,++ -- ** AccessPolicySummary+ accessPolicySummary_createdDate,+ accessPolicySummary_description,+ accessPolicySummary_lastModifiedDate,+ accessPolicySummary_name,+ accessPolicySummary_policyVersion,+ accessPolicySummary_type,++ -- ** AccountSettingsDetail+ accountSettingsDetail_capacityLimits,++ -- ** CapacityLimits+ capacityLimits_maxIndexingCapacityInOCU,+ capacityLimits_maxSearchCapacityInOCU,++ -- ** CollectionDetail+ collectionDetail_arn,+ collectionDetail_collectionEndpoint,+ collectionDetail_createdDate,+ collectionDetail_dashboardEndpoint,+ collectionDetail_description,+ collectionDetail_id,+ collectionDetail_kmsKeyArn,+ collectionDetail_lastModifiedDate,+ collectionDetail_name,+ collectionDetail_status,+ collectionDetail_type,++ -- ** CollectionErrorDetail+ collectionErrorDetail_errorCode,+ collectionErrorDetail_errorMessage,+ collectionErrorDetail_id,+ collectionErrorDetail_name,++ -- ** CollectionFilters+ collectionFilters_name,+ collectionFilters_status,++ -- ** CollectionSummary+ collectionSummary_arn,+ collectionSummary_id,+ collectionSummary_name,+ collectionSummary_status,++ -- ** CreateCollectionDetail+ createCollectionDetail_arn,+ createCollectionDetail_createdDate,+ createCollectionDetail_description,+ createCollectionDetail_id,+ createCollectionDetail_kmsKeyArn,+ createCollectionDetail_lastModifiedDate,+ createCollectionDetail_name,+ createCollectionDetail_status,+ createCollectionDetail_type,++ -- ** CreateVpcEndpointDetail+ createVpcEndpointDetail_id,+ createVpcEndpointDetail_name,+ createVpcEndpointDetail_status,++ -- ** DeleteCollectionDetail+ deleteCollectionDetail_id,+ deleteCollectionDetail_name,+ deleteCollectionDetail_status,++ -- ** DeleteVpcEndpointDetail+ deleteVpcEndpointDetail_id,+ deleteVpcEndpointDetail_name,+ deleteVpcEndpointDetail_status,++ -- ** Document++ -- ** SamlConfigOptions+ samlConfigOptions_groupAttribute,+ samlConfigOptions_sessionTimeout,+ samlConfigOptions_userAttribute,+ samlConfigOptions_metadata,++ -- ** SecurityConfigDetail+ securityConfigDetail_configVersion,+ securityConfigDetail_createdDate,+ securityConfigDetail_description,+ securityConfigDetail_id,+ securityConfigDetail_lastModifiedDate,+ securityConfigDetail_samlOptions,+ securityConfigDetail_type,++ -- ** SecurityConfigStats+ securityConfigStats_samlConfigCount,++ -- ** SecurityConfigSummary+ securityConfigSummary_configVersion,+ securityConfigSummary_createdDate,+ securityConfigSummary_description,+ securityConfigSummary_id,+ securityConfigSummary_lastModifiedDate,+ securityConfigSummary_type,++ -- ** SecurityPolicyDetail+ securityPolicyDetail_createdDate,+ securityPolicyDetail_description,+ securityPolicyDetail_lastModifiedDate,+ securityPolicyDetail_name,+ securityPolicyDetail_policy,+ securityPolicyDetail_policyVersion,+ securityPolicyDetail_type,++ -- ** SecurityPolicyStats+ securityPolicyStats_encryptionPolicyCount,+ securityPolicyStats_networkPolicyCount,++ -- ** SecurityPolicySummary+ securityPolicySummary_createdDate,+ securityPolicySummary_description,+ securityPolicySummary_lastModifiedDate,+ securityPolicySummary_name,+ securityPolicySummary_policyVersion,+ securityPolicySummary_type,++ -- ** Tag+ tag_key,+ tag_value,++ -- ** UpdateCollectionDetail+ updateCollectionDetail_arn,+ updateCollectionDetail_createdDate,+ updateCollectionDetail_description,+ updateCollectionDetail_id,+ updateCollectionDetail_lastModifiedDate,+ updateCollectionDetail_name,+ updateCollectionDetail_status,+ updateCollectionDetail_type,++ -- ** UpdateVpcEndpointDetail+ updateVpcEndpointDetail_id,+ updateVpcEndpointDetail_lastModifiedDate,+ updateVpcEndpointDetail_name,+ updateVpcEndpointDetail_securityGroupIds,+ updateVpcEndpointDetail_status,+ updateVpcEndpointDetail_subnetIds,++ -- ** VpcEndpointDetail+ vpcEndpointDetail_createdDate,+ vpcEndpointDetail_id,+ vpcEndpointDetail_name,+ vpcEndpointDetail_securityGroupIds,+ vpcEndpointDetail_status,+ vpcEndpointDetail_subnetIds,+ vpcEndpointDetail_vpcId,++ -- ** VpcEndpointErrorDetail+ vpcEndpointErrorDetail_errorCode,+ vpcEndpointErrorDetail_errorMessage,+ vpcEndpointErrorDetail_id,++ -- ** VpcEndpointFilters+ vpcEndpointFilters_status,++ -- ** VpcEndpointSummary+ vpcEndpointSummary_id,+ vpcEndpointSummary_name,+ vpcEndpointSummary_status,+ )+where++import Amazonka.OpenSearchServerless.BatchGetCollection+import Amazonka.OpenSearchServerless.BatchGetVpcEndpoint+import Amazonka.OpenSearchServerless.CreateAccessPolicy+import Amazonka.OpenSearchServerless.CreateCollection+import Amazonka.OpenSearchServerless.CreateSecurityConfig+import Amazonka.OpenSearchServerless.CreateSecurityPolicy+import Amazonka.OpenSearchServerless.CreateVpcEndpoint+import Amazonka.OpenSearchServerless.DeleteAccessPolicy+import Amazonka.OpenSearchServerless.DeleteCollection+import Amazonka.OpenSearchServerless.DeleteSecurityConfig+import Amazonka.OpenSearchServerless.DeleteSecurityPolicy+import Amazonka.OpenSearchServerless.DeleteVpcEndpoint+import Amazonka.OpenSearchServerless.GetAccessPolicy+import Amazonka.OpenSearchServerless.GetAccountSettings+import Amazonka.OpenSearchServerless.GetPoliciesStats+import Amazonka.OpenSearchServerless.GetSecurityConfig+import Amazonka.OpenSearchServerless.GetSecurityPolicy+import Amazonka.OpenSearchServerless.ListAccessPolicies+import Amazonka.OpenSearchServerless.ListCollections+import Amazonka.OpenSearchServerless.ListSecurityConfigs+import Amazonka.OpenSearchServerless.ListSecurityPolicies+import Amazonka.OpenSearchServerless.ListTagsForResource+import Amazonka.OpenSearchServerless.ListVpcEndpoints+import Amazonka.OpenSearchServerless.TagResource+import Amazonka.OpenSearchServerless.Types.AccessPolicyDetail+import Amazonka.OpenSearchServerless.Types.AccessPolicyStats+import Amazonka.OpenSearchServerless.Types.AccessPolicySummary+import Amazonka.OpenSearchServerless.Types.AccountSettingsDetail+import Amazonka.OpenSearchServerless.Types.CapacityLimits+import Amazonka.OpenSearchServerless.Types.CollectionDetail+import Amazonka.OpenSearchServerless.Types.CollectionErrorDetail+import Amazonka.OpenSearchServerless.Types.CollectionFilters+import Amazonka.OpenSearchServerless.Types.CollectionSummary+import Amazonka.OpenSearchServerless.Types.CreateCollectionDetail+import Amazonka.OpenSearchServerless.Types.CreateVpcEndpointDetail+import Amazonka.OpenSearchServerless.Types.DeleteCollectionDetail+import Amazonka.OpenSearchServerless.Types.DeleteVpcEndpointDetail+import Amazonka.OpenSearchServerless.Types.Document+import Amazonka.OpenSearchServerless.Types.SamlConfigOptions+import Amazonka.OpenSearchServerless.Types.SecurityConfigDetail+import Amazonka.OpenSearchServerless.Types.SecurityConfigStats+import Amazonka.OpenSearchServerless.Types.SecurityConfigSummary+import Amazonka.OpenSearchServerless.Types.SecurityPolicyDetail+import Amazonka.OpenSearchServerless.Types.SecurityPolicyStats+import Amazonka.OpenSearchServerless.Types.SecurityPolicySummary+import Amazonka.OpenSearchServerless.Types.Tag+import Amazonka.OpenSearchServerless.Types.UpdateCollectionDetail+import Amazonka.OpenSearchServerless.Types.UpdateVpcEndpointDetail+import Amazonka.OpenSearchServerless.Types.VpcEndpointDetail+import Amazonka.OpenSearchServerless.Types.VpcEndpointErrorDetail+import Amazonka.OpenSearchServerless.Types.VpcEndpointFilters+import Amazonka.OpenSearchServerless.Types.VpcEndpointSummary+import Amazonka.OpenSearchServerless.UntagResource+import Amazonka.OpenSearchServerless.UpdateAccessPolicy+import Amazonka.OpenSearchServerless.UpdateAccountSettings+import Amazonka.OpenSearchServerless.UpdateCollection+import Amazonka.OpenSearchServerless.UpdateSecurityConfig+import Amazonka.OpenSearchServerless.UpdateSecurityPolicy+import Amazonka.OpenSearchServerless.UpdateVpcEndpoint
+ gen/Amazonka/OpenSearchServerless/ListAccessPolicies.hs view
@@ -0,0 +1,249 @@+{-# 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.OpenSearchServerless.ListAccessPolicies+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a list of OpenSearch Serverless access+-- policies.+module Amazonka.OpenSearchServerless.ListAccessPolicies+ ( -- * Creating a Request+ ListAccessPolicies (..),+ newListAccessPolicies,++ -- * Request Lenses+ listAccessPolicies_maxResults,+ listAccessPolicies_nextToken,+ listAccessPolicies_resource,+ listAccessPolicies_type,++ -- * Destructuring the Response+ ListAccessPoliciesResponse (..),+ newListAccessPoliciesResponse,++ -- * Response Lenses+ listAccessPoliciesResponse_accessPolicySummaries,+ listAccessPoliciesResponse_nextToken,+ listAccessPoliciesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAccessPolicies' smart constructor.+data ListAccessPolicies = ListAccessPolicies'+ { -- | An optional parameter that specifies the maximum number of results to+ -- return. You can use @nextToken@ to get the next page of results. The+ -- default is 20.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If your initial @ListAccessPolicies@ operation returns a @nextToken@,+ -- you can include the returned @nextToken@ in subsequent+ -- @ListAccessPolicies@ operations, which returns results in the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Resource filters (can be collection or indexes) that policies can apply+ -- to.+ resource :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The type of access policy.+ type' :: AccessPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAccessPolicies' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listAccessPolicies_maxResults' - An optional parameter that specifies the maximum number of results to+-- return. You can use @nextToken@ to get the next page of results. The+-- default is 20.+--+-- 'nextToken', 'listAccessPolicies_nextToken' - If your initial @ListAccessPolicies@ operation returns a @nextToken@,+-- you can include the returned @nextToken@ in subsequent+-- @ListAccessPolicies@ operations, which returns results in the next page.+--+-- 'resource', 'listAccessPolicies_resource' - Resource filters (can be collection or indexes) that policies can apply+-- to.+--+-- 'type'', 'listAccessPolicies_type' - The type of access policy.+newListAccessPolicies ::+ -- | 'type''+ AccessPolicyType ->+ ListAccessPolicies+newListAccessPolicies pType_ =+ ListAccessPolicies'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resource = Prelude.Nothing,+ type' = pType_+ }++-- | An optional parameter that specifies the maximum number of results to+-- return. You can use @nextToken@ to get the next page of results. The+-- default is 20.+listAccessPolicies_maxResults :: Lens.Lens' ListAccessPolicies (Prelude.Maybe Prelude.Natural)+listAccessPolicies_maxResults = Lens.lens (\ListAccessPolicies' {maxResults} -> maxResults) (\s@ListAccessPolicies' {} a -> s {maxResults = a} :: ListAccessPolicies)++-- | If your initial @ListAccessPolicies@ operation returns a @nextToken@,+-- you can include the returned @nextToken@ in subsequent+-- @ListAccessPolicies@ operations, which returns results in the next page.+listAccessPolicies_nextToken :: Lens.Lens' ListAccessPolicies (Prelude.Maybe Prelude.Text)+listAccessPolicies_nextToken = Lens.lens (\ListAccessPolicies' {nextToken} -> nextToken) (\s@ListAccessPolicies' {} a -> s {nextToken = a} :: ListAccessPolicies)++-- | Resource filters (can be collection or indexes) that policies can apply+-- to.+listAccessPolicies_resource :: Lens.Lens' ListAccessPolicies (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listAccessPolicies_resource = Lens.lens (\ListAccessPolicies' {resource} -> resource) (\s@ListAccessPolicies' {} a -> s {resource = a} :: ListAccessPolicies) Prelude.. Lens.mapping Lens.coerced++-- | The type of access policy.+listAccessPolicies_type :: Lens.Lens' ListAccessPolicies AccessPolicyType+listAccessPolicies_type = Lens.lens (\ListAccessPolicies' {type'} -> type') (\s@ListAccessPolicies' {} a -> s {type' = a} :: ListAccessPolicies)++instance Core.AWSRequest ListAccessPolicies where+ type+ AWSResponse ListAccessPolicies =+ ListAccessPoliciesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAccessPoliciesResponse'+ Prelude.<$> ( x+ Data..?> "accessPolicySummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAccessPolicies where+ hashWithSalt _salt ListAccessPolicies' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` resource+ `Prelude.hashWithSalt` type'++instance Prelude.NFData ListAccessPolicies where+ rnf ListAccessPolicies' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resource+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders ListAccessPolicies where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.ListAccessPolicies" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListAccessPolicies where+ toJSON ListAccessPolicies' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("resource" Data..=) Prelude.<$> resource,+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath ListAccessPolicies where+ toPath = Prelude.const "/"++instance Data.ToQuery ListAccessPolicies where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAccessPoliciesResponse' smart constructor.+data ListAccessPoliciesResponse = ListAccessPoliciesResponse'+ { -- | Details about the requested access policies.+ accessPolicySummaries :: Prelude.Maybe [AccessPolicySummary],+ -- | When @nextToken@ is returned, there are more results available. The+ -- value of @nextToken@ is a unique pagination token for each page. Make+ -- the call again using the returned token to retrieve the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAccessPoliciesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessPolicySummaries', 'listAccessPoliciesResponse_accessPolicySummaries' - Details about the requested access policies.+--+-- 'nextToken', 'listAccessPoliciesResponse_nextToken' - When @nextToken@ is returned, there are more results available. The+-- value of @nextToken@ is a unique pagination token for each page. Make+-- the call again using the returned token to retrieve the next page.+--+-- 'httpStatus', 'listAccessPoliciesResponse_httpStatus' - The response's http status code.+newListAccessPoliciesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAccessPoliciesResponse+newListAccessPoliciesResponse pHttpStatus_ =+ ListAccessPoliciesResponse'+ { accessPolicySummaries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the requested access policies.+listAccessPoliciesResponse_accessPolicySummaries :: Lens.Lens' ListAccessPoliciesResponse (Prelude.Maybe [AccessPolicySummary])+listAccessPoliciesResponse_accessPolicySummaries = Lens.lens (\ListAccessPoliciesResponse' {accessPolicySummaries} -> accessPolicySummaries) (\s@ListAccessPoliciesResponse' {} a -> s {accessPolicySummaries = a} :: ListAccessPoliciesResponse) Prelude.. Lens.mapping Lens.coerced++-- | When @nextToken@ is returned, there are more results available. The+-- value of @nextToken@ is a unique pagination token for each page. Make+-- the call again using the returned token to retrieve the next page.+listAccessPoliciesResponse_nextToken :: Lens.Lens' ListAccessPoliciesResponse (Prelude.Maybe Prelude.Text)+listAccessPoliciesResponse_nextToken = Lens.lens (\ListAccessPoliciesResponse' {nextToken} -> nextToken) (\s@ListAccessPoliciesResponse' {} a -> s {nextToken = a} :: ListAccessPoliciesResponse)++-- | The response's http status code.+listAccessPoliciesResponse_httpStatus :: Lens.Lens' ListAccessPoliciesResponse Prelude.Int+listAccessPoliciesResponse_httpStatus = Lens.lens (\ListAccessPoliciesResponse' {httpStatus} -> httpStatus) (\s@ListAccessPoliciesResponse' {} a -> s {httpStatus = a} :: ListAccessPoliciesResponse)++instance Prelude.NFData ListAccessPoliciesResponse where+ rnf ListAccessPoliciesResponse' {..} =+ Prelude.rnf accessPolicySummaries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/ListCollections.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.OpenSearchServerless.ListCollections+-- 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 OpenSearch Serverless collections. For more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html Creating and managing Amazon OpenSearch Serverless collections>.+--+-- Make sure to include an empty request body {} if you don\'t include any+-- collection filters in the request.+module Amazonka.OpenSearchServerless.ListCollections+ ( -- * Creating a Request+ ListCollections (..),+ newListCollections,++ -- * Request Lenses+ listCollections_collectionFilters,+ listCollections_maxResults,+ listCollections_nextToken,++ -- * Destructuring the Response+ ListCollectionsResponse (..),+ newListCollectionsResponse,++ -- * Response Lenses+ listCollectionsResponse_collectionSummaries,+ listCollectionsResponse_nextToken,+ listCollectionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListCollections' smart constructor.+data ListCollections = ListCollections'+ { -- | List of filter names and values that you can use for requests.+ collectionFilters :: Prelude.Maybe CollectionFilters,+ -- | The maximum number of results to return. Default is 20. You can use+ -- @nextToken@ to get the next page of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If your initial @ListCollections@ operation returns a @nextToken@, you+ -- can include the returned @nextToken@ in subsequent @ListCollections@+ -- operations, which returns results in the next page.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCollections' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'collectionFilters', 'listCollections_collectionFilters' - List of filter names and values that you can use for requests.+--+-- 'maxResults', 'listCollections_maxResults' - The maximum number of results to return. Default is 20. You can use+-- @nextToken@ to get the next page of results.+--+-- 'nextToken', 'listCollections_nextToken' - If your initial @ListCollections@ operation returns a @nextToken@, you+-- can include the returned @nextToken@ in subsequent @ListCollections@+-- operations, which returns results in the next page.+newListCollections ::+ ListCollections+newListCollections =+ ListCollections'+ { collectionFilters =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | List of filter names and values that you can use for requests.+listCollections_collectionFilters :: Lens.Lens' ListCollections (Prelude.Maybe CollectionFilters)+listCollections_collectionFilters = Lens.lens (\ListCollections' {collectionFilters} -> collectionFilters) (\s@ListCollections' {} a -> s {collectionFilters = a} :: ListCollections)++-- | The maximum number of results to return. Default is 20. You can use+-- @nextToken@ to get the next page of results.+listCollections_maxResults :: Lens.Lens' ListCollections (Prelude.Maybe Prelude.Natural)+listCollections_maxResults = Lens.lens (\ListCollections' {maxResults} -> maxResults) (\s@ListCollections' {} a -> s {maxResults = a} :: ListCollections)++-- | If your initial @ListCollections@ operation returns a @nextToken@, you+-- can include the returned @nextToken@ in subsequent @ListCollections@+-- operations, which returns results in the next page.+listCollections_nextToken :: Lens.Lens' ListCollections (Prelude.Maybe Prelude.Text)+listCollections_nextToken = Lens.lens (\ListCollections' {nextToken} -> nextToken) (\s@ListCollections' {} a -> s {nextToken = a} :: ListCollections)++instance Core.AWSRequest ListCollections where+ type+ AWSResponse ListCollections =+ ListCollectionsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListCollectionsResponse'+ Prelude.<$> ( x+ Data..?> "collectionSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListCollections where+ hashWithSalt _salt ListCollections' {..} =+ _salt+ `Prelude.hashWithSalt` collectionFilters+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListCollections where+ rnf ListCollections' {..} =+ Prelude.rnf collectionFilters+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListCollections where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.ListCollections" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListCollections where+ toJSON ListCollections' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("collectionFilters" Data..=)+ Prelude.<$> collectionFilters,+ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListCollections where+ toPath = Prelude.const "/"++instance Data.ToQuery ListCollections where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListCollectionsResponse' smart constructor.+data ListCollectionsResponse = ListCollectionsResponse'+ { -- | Details about each collection.+ collectionSummaries :: Prelude.Maybe [CollectionSummary],+ -- | When @nextToken@ is returned, there are more results available. The+ -- value of @nextToken@ is a unique pagination token for each page. Make+ -- the call again using the returned token to retrieve the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCollectionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'collectionSummaries', 'listCollectionsResponse_collectionSummaries' - Details about each collection.+--+-- 'nextToken', 'listCollectionsResponse_nextToken' - When @nextToken@ is returned, there are more results available. The+-- value of @nextToken@ is a unique pagination token for each page. Make+-- the call again using the returned token to retrieve the next page.+--+-- 'httpStatus', 'listCollectionsResponse_httpStatus' - The response's http status code.+newListCollectionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListCollectionsResponse+newListCollectionsResponse pHttpStatus_ =+ ListCollectionsResponse'+ { collectionSummaries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about each collection.+listCollectionsResponse_collectionSummaries :: Lens.Lens' ListCollectionsResponse (Prelude.Maybe [CollectionSummary])+listCollectionsResponse_collectionSummaries = Lens.lens (\ListCollectionsResponse' {collectionSummaries} -> collectionSummaries) (\s@ListCollectionsResponse' {} a -> s {collectionSummaries = a} :: ListCollectionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | When @nextToken@ is returned, there are more results available. The+-- value of @nextToken@ is a unique pagination token for each page. Make+-- the call again using the returned token to retrieve the next page.+listCollectionsResponse_nextToken :: Lens.Lens' ListCollectionsResponse (Prelude.Maybe Prelude.Text)+listCollectionsResponse_nextToken = Lens.lens (\ListCollectionsResponse' {nextToken} -> nextToken) (\s@ListCollectionsResponse' {} a -> s {nextToken = a} :: ListCollectionsResponse)++-- | The response's http status code.+listCollectionsResponse_httpStatus :: Lens.Lens' ListCollectionsResponse Prelude.Int+listCollectionsResponse_httpStatus = Lens.lens (\ListCollectionsResponse' {httpStatus} -> httpStatus) (\s@ListCollectionsResponse' {} a -> s {httpStatus = a} :: ListCollectionsResponse)++instance Prelude.NFData ListCollectionsResponse where+ rnf ListCollectionsResponse' {..} =+ Prelude.rnf collectionSummaries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/ListSecurityConfigs.hs view
@@ -0,0 +1,237 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.ListSecurityConfigs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about configured OpenSearch Serverless security+-- configurations. For more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html SAML authentication for Amazon OpenSearch Serverless>.+module Amazonka.OpenSearchServerless.ListSecurityConfigs+ ( -- * Creating a Request+ ListSecurityConfigs (..),+ newListSecurityConfigs,++ -- * Request Lenses+ listSecurityConfigs_maxResults,+ listSecurityConfigs_nextToken,+ listSecurityConfigs_type,++ -- * Destructuring the Response+ ListSecurityConfigsResponse (..),+ newListSecurityConfigsResponse,++ -- * Response Lenses+ listSecurityConfigsResponse_nextToken,+ listSecurityConfigsResponse_securityConfigSummaries,+ listSecurityConfigsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListSecurityConfigs' smart constructor.+data ListSecurityConfigs = ListSecurityConfigs'+ { -- | An optional parameter that specifies the maximum number of results to+ -- return. You can use @nextToken@ to get the next page of results. The+ -- default is 20.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If your initial @ListSecurityConfigs@ operation returns a @nextToken@,+ -- you can include the returned @nextToken@ in subsequent+ -- @ListSecurityConfigs@ operations, which returns results in the next+ -- page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The type of security configuration.+ type' :: SecurityConfigType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSecurityConfigs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSecurityConfigs_maxResults' - An optional parameter that specifies the maximum number of results to+-- return. You can use @nextToken@ to get the next page of results. The+-- default is 20.+--+-- 'nextToken', 'listSecurityConfigs_nextToken' - If your initial @ListSecurityConfigs@ operation returns a @nextToken@,+-- you can include the returned @nextToken@ in subsequent+-- @ListSecurityConfigs@ operations, which returns results in the next+-- page.+--+-- 'type'', 'listSecurityConfigs_type' - The type of security configuration.+newListSecurityConfigs ::+ -- | 'type''+ SecurityConfigType ->+ ListSecurityConfigs+newListSecurityConfigs pType_ =+ ListSecurityConfigs'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ type' = pType_+ }++-- | An optional parameter that specifies the maximum number of results to+-- return. You can use @nextToken@ to get the next page of results. The+-- default is 20.+listSecurityConfigs_maxResults :: Lens.Lens' ListSecurityConfigs (Prelude.Maybe Prelude.Natural)+listSecurityConfigs_maxResults = Lens.lens (\ListSecurityConfigs' {maxResults} -> maxResults) (\s@ListSecurityConfigs' {} a -> s {maxResults = a} :: ListSecurityConfigs)++-- | If your initial @ListSecurityConfigs@ operation returns a @nextToken@,+-- you can include the returned @nextToken@ in subsequent+-- @ListSecurityConfigs@ operations, which returns results in the next+-- page.+listSecurityConfigs_nextToken :: Lens.Lens' ListSecurityConfigs (Prelude.Maybe Prelude.Text)+listSecurityConfigs_nextToken = Lens.lens (\ListSecurityConfigs' {nextToken} -> nextToken) (\s@ListSecurityConfigs' {} a -> s {nextToken = a} :: ListSecurityConfigs)++-- | The type of security configuration.+listSecurityConfigs_type :: Lens.Lens' ListSecurityConfigs SecurityConfigType+listSecurityConfigs_type = Lens.lens (\ListSecurityConfigs' {type'} -> type') (\s@ListSecurityConfigs' {} a -> s {type' = a} :: ListSecurityConfigs)++instance Core.AWSRequest ListSecurityConfigs where+ type+ AWSResponse ListSecurityConfigs =+ ListSecurityConfigsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListSecurityConfigsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "securityConfigSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListSecurityConfigs where+ hashWithSalt _salt ListSecurityConfigs' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` type'++instance Prelude.NFData ListSecurityConfigs where+ rnf ListSecurityConfigs' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders ListSecurityConfigs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.ListSecurityConfigs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListSecurityConfigs where+ toJSON ListSecurityConfigs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath ListSecurityConfigs where+ toPath = Prelude.const "/"++instance Data.ToQuery ListSecurityConfigs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListSecurityConfigsResponse' smart constructor.+data ListSecurityConfigsResponse = ListSecurityConfigsResponse'+ { -- | When @nextToken@ is returned, there are more results available. The+ -- value of @nextToken@ is a unique pagination token for each page. Make+ -- the call again using the returned token to retrieve the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Details about the security configurations in your account.+ securityConfigSummaries :: Prelude.Maybe [SecurityConfigSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSecurityConfigsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSecurityConfigsResponse_nextToken' - When @nextToken@ is returned, there are more results available. The+-- value of @nextToken@ is a unique pagination token for each page. Make+-- the call again using the returned token to retrieve the next page.+--+-- 'securityConfigSummaries', 'listSecurityConfigsResponse_securityConfigSummaries' - Details about the security configurations in your account.+--+-- 'httpStatus', 'listSecurityConfigsResponse_httpStatus' - The response's http status code.+newListSecurityConfigsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListSecurityConfigsResponse+newListSecurityConfigsResponse pHttpStatus_ =+ ListSecurityConfigsResponse'+ { nextToken =+ Prelude.Nothing,+ securityConfigSummaries = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | When @nextToken@ is returned, there are more results available. The+-- value of @nextToken@ is a unique pagination token for each page. Make+-- the call again using the returned token to retrieve the next page.+listSecurityConfigsResponse_nextToken :: Lens.Lens' ListSecurityConfigsResponse (Prelude.Maybe Prelude.Text)+listSecurityConfigsResponse_nextToken = Lens.lens (\ListSecurityConfigsResponse' {nextToken} -> nextToken) (\s@ListSecurityConfigsResponse' {} a -> s {nextToken = a} :: ListSecurityConfigsResponse)++-- | Details about the security configurations in your account.+listSecurityConfigsResponse_securityConfigSummaries :: Lens.Lens' ListSecurityConfigsResponse (Prelude.Maybe [SecurityConfigSummary])+listSecurityConfigsResponse_securityConfigSummaries = Lens.lens (\ListSecurityConfigsResponse' {securityConfigSummaries} -> securityConfigSummaries) (\s@ListSecurityConfigsResponse' {} a -> s {securityConfigSummaries = a} :: ListSecurityConfigsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSecurityConfigsResponse_httpStatus :: Lens.Lens' ListSecurityConfigsResponse Prelude.Int+listSecurityConfigsResponse_httpStatus = Lens.lens (\ListSecurityConfigsResponse' {httpStatus} -> httpStatus) (\s@ListSecurityConfigsResponse' {} a -> s {httpStatus = a} :: ListSecurityConfigsResponse)++instance Prelude.NFData ListSecurityConfigsResponse where+ rnf ListSecurityConfigsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf securityConfigSummaries+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/ListSecurityPolicies.hs view
@@ -0,0 +1,252 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.ListSecurityPolicies+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about configured OpenSearch Serverless security+-- policies.+module Amazonka.OpenSearchServerless.ListSecurityPolicies+ ( -- * Creating a Request+ ListSecurityPolicies (..),+ newListSecurityPolicies,++ -- * Request Lenses+ listSecurityPolicies_maxResults,+ listSecurityPolicies_nextToken,+ listSecurityPolicies_resource,+ listSecurityPolicies_type,++ -- * Destructuring the Response+ ListSecurityPoliciesResponse (..),+ newListSecurityPoliciesResponse,++ -- * Response Lenses+ listSecurityPoliciesResponse_nextToken,+ listSecurityPoliciesResponse_securityPolicySummaries,+ listSecurityPoliciesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListSecurityPolicies' smart constructor.+data ListSecurityPolicies = ListSecurityPolicies'+ { -- | An optional parameter that specifies the maximum number of results to+ -- return. You can use @nextToken@ to get the next page of results. The+ -- default is 20.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If your initial @ListSecurityPolicies@ operation returns a @nextToken@,+ -- you can include the returned @nextToken@ in subsequent+ -- @ListSecurityPolicies@ operations, which returns results in the next+ -- page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Resource filters (can be collection or indexes) that policies can apply+ -- to.+ resource :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The type of policy.+ type' :: SecurityPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSecurityPolicies' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSecurityPolicies_maxResults' - An optional parameter that specifies the maximum number of results to+-- return. You can use @nextToken@ to get the next page of results. The+-- default is 20.+--+-- 'nextToken', 'listSecurityPolicies_nextToken' - If your initial @ListSecurityPolicies@ operation returns a @nextToken@,+-- you can include the returned @nextToken@ in subsequent+-- @ListSecurityPolicies@ operations, which returns results in the next+-- page.+--+-- 'resource', 'listSecurityPolicies_resource' - Resource filters (can be collection or indexes) that policies can apply+-- to.+--+-- 'type'', 'listSecurityPolicies_type' - The type of policy.+newListSecurityPolicies ::+ -- | 'type''+ SecurityPolicyType ->+ ListSecurityPolicies+newListSecurityPolicies pType_ =+ ListSecurityPolicies'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resource = Prelude.Nothing,+ type' = pType_+ }++-- | An optional parameter that specifies the maximum number of results to+-- return. You can use @nextToken@ to get the next page of results. The+-- default is 20.+listSecurityPolicies_maxResults :: Lens.Lens' ListSecurityPolicies (Prelude.Maybe Prelude.Natural)+listSecurityPolicies_maxResults = Lens.lens (\ListSecurityPolicies' {maxResults} -> maxResults) (\s@ListSecurityPolicies' {} a -> s {maxResults = a} :: ListSecurityPolicies)++-- | If your initial @ListSecurityPolicies@ operation returns a @nextToken@,+-- you can include the returned @nextToken@ in subsequent+-- @ListSecurityPolicies@ operations, which returns results in the next+-- page.+listSecurityPolicies_nextToken :: Lens.Lens' ListSecurityPolicies (Prelude.Maybe Prelude.Text)+listSecurityPolicies_nextToken = Lens.lens (\ListSecurityPolicies' {nextToken} -> nextToken) (\s@ListSecurityPolicies' {} a -> s {nextToken = a} :: ListSecurityPolicies)++-- | Resource filters (can be collection or indexes) that policies can apply+-- to.+listSecurityPolicies_resource :: Lens.Lens' ListSecurityPolicies (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listSecurityPolicies_resource = Lens.lens (\ListSecurityPolicies' {resource} -> resource) (\s@ListSecurityPolicies' {} a -> s {resource = a} :: ListSecurityPolicies) Prelude.. Lens.mapping Lens.coerced++-- | The type of policy.+listSecurityPolicies_type :: Lens.Lens' ListSecurityPolicies SecurityPolicyType+listSecurityPolicies_type = Lens.lens (\ListSecurityPolicies' {type'} -> type') (\s@ListSecurityPolicies' {} a -> s {type' = a} :: ListSecurityPolicies)++instance Core.AWSRequest ListSecurityPolicies where+ type+ AWSResponse ListSecurityPolicies =+ ListSecurityPoliciesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListSecurityPoliciesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "securityPolicySummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListSecurityPolicies where+ hashWithSalt _salt ListSecurityPolicies' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` resource+ `Prelude.hashWithSalt` type'++instance Prelude.NFData ListSecurityPolicies where+ rnf ListSecurityPolicies' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resource+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders ListSecurityPolicies where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.ListSecurityPolicies" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListSecurityPolicies where+ toJSON ListSecurityPolicies' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("resource" Data..=) Prelude.<$> resource,+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath ListSecurityPolicies where+ toPath = Prelude.const "/"++instance Data.ToQuery ListSecurityPolicies where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListSecurityPoliciesResponse' smart constructor.+data ListSecurityPoliciesResponse = ListSecurityPoliciesResponse'+ { -- | When @nextToken@ is returned, there are more results available. The+ -- value of @nextToken@ is a unique pagination token for each page. Make+ -- the call again using the returned token to retrieve the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Details about the security policies in your account.+ securityPolicySummaries :: Prelude.Maybe [SecurityPolicySummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSecurityPoliciesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSecurityPoliciesResponse_nextToken' - When @nextToken@ is returned, there are more results available. The+-- value of @nextToken@ is a unique pagination token for each page. Make+-- the call again using the returned token to retrieve the next page.+--+-- 'securityPolicySummaries', 'listSecurityPoliciesResponse_securityPolicySummaries' - Details about the security policies in your account.+--+-- 'httpStatus', 'listSecurityPoliciesResponse_httpStatus' - The response's http status code.+newListSecurityPoliciesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListSecurityPoliciesResponse+newListSecurityPoliciesResponse pHttpStatus_ =+ ListSecurityPoliciesResponse'+ { nextToken =+ Prelude.Nothing,+ securityPolicySummaries = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | When @nextToken@ is returned, there are more results available. The+-- value of @nextToken@ is a unique pagination token for each page. Make+-- the call again using the returned token to retrieve the next page.+listSecurityPoliciesResponse_nextToken :: Lens.Lens' ListSecurityPoliciesResponse (Prelude.Maybe Prelude.Text)+listSecurityPoliciesResponse_nextToken = Lens.lens (\ListSecurityPoliciesResponse' {nextToken} -> nextToken) (\s@ListSecurityPoliciesResponse' {} a -> s {nextToken = a} :: ListSecurityPoliciesResponse)++-- | Details about the security policies in your account.+listSecurityPoliciesResponse_securityPolicySummaries :: Lens.Lens' ListSecurityPoliciesResponse (Prelude.Maybe [SecurityPolicySummary])+listSecurityPoliciesResponse_securityPolicySummaries = Lens.lens (\ListSecurityPoliciesResponse' {securityPolicySummaries} -> securityPolicySummaries) (\s@ListSecurityPoliciesResponse' {} a -> s {securityPolicySummaries = a} :: ListSecurityPoliciesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSecurityPoliciesResponse_httpStatus :: Lens.Lens' ListSecurityPoliciesResponse Prelude.Int+listSecurityPoliciesResponse_httpStatus = Lens.lens (\ListSecurityPoliciesResponse' {httpStatus} -> httpStatus) (\s@ListSecurityPoliciesResponse' {} a -> s {httpStatus = a} :: ListSecurityPoliciesResponse)++instance Prelude.NFData ListSecurityPoliciesResponse where+ rnf ListSecurityPoliciesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf securityPolicySummaries+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/ListTagsForResource.hs view
@@ -0,0 +1,177 @@+{-# 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.OpenSearchServerless.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the tags for an OpenSearch Serverless resource. For more+-- information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-collection.html Tagging Amazon OpenSearch Serverless collections>.+module Amazonka.OpenSearchServerless.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The Amazon Resource Name (ARN) of the resource. The resource must be+ -- active (not in the @DELETING@ state), and must be owned by the account+ -- ID included in the request.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the resource. The resource must be+-- active (not in the @DELETING@ state), and must be owned by the account+-- ID included in the request.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource. The resource must be+-- active (not in the @DELETING@ state), and must be owned by the account+-- ID included in the request.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.ListTagsForResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListTagsForResource where+ toJSON ListTagsForResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("resourceArn" Data..= resourceArn)]+ )++instance Data.ToPath ListTagsForResource where+ toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The tags associated with the resource.+ tags :: Prelude.Maybe [Tag],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags associated with the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The tags associated with the resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/ListVpcEndpoints.hs view
@@ -0,0 +1,239 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.ListVpcEndpoints+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the OpenSearch Serverless-managed interface VPC endpoints+-- associated with the current account. For more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html Access Amazon OpenSearch Serverless using an interface endpoint>.+module Amazonka.OpenSearchServerless.ListVpcEndpoints+ ( -- * Creating a Request+ ListVpcEndpoints (..),+ newListVpcEndpoints,++ -- * Request Lenses+ listVpcEndpoints_maxResults,+ listVpcEndpoints_nextToken,+ listVpcEndpoints_vpcEndpointFilters,++ -- * Destructuring the Response+ ListVpcEndpointsResponse (..),+ newListVpcEndpointsResponse,++ -- * Response Lenses+ listVpcEndpointsResponse_nextToken,+ listVpcEndpointsResponse_vpcEndpointSummaries,+ listVpcEndpointsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListVpcEndpoints' smart constructor.+data ListVpcEndpoints = ListVpcEndpoints'+ { -- | An optional parameter that specifies the maximum number of results to+ -- return. You can use @nextToken@ to get the next page of results. The+ -- default is 20.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If your initial @ListVpcEndpoints@ operation returns a @nextToken@, you+ -- can include the returned @nextToken@ in subsequent @ListVpcEndpoints@+ -- operations, which returns results in the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Filter the results according to the current status of the VPC endpoint.+ -- Possible statuses are @CREATING@, @DELETING@, @UPDATING@, @ACTIVE@, and+ -- @FAILED@.+ vpcEndpointFilters :: Prelude.Maybe VpcEndpointFilters+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVpcEndpoints' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVpcEndpoints_maxResults' - An optional parameter that specifies the maximum number of results to+-- return. You can use @nextToken@ to get the next page of results. The+-- default is 20.+--+-- 'nextToken', 'listVpcEndpoints_nextToken' - If your initial @ListVpcEndpoints@ operation returns a @nextToken@, you+-- can include the returned @nextToken@ in subsequent @ListVpcEndpoints@+-- operations, which returns results in the next page.+--+-- 'vpcEndpointFilters', 'listVpcEndpoints_vpcEndpointFilters' - Filter the results according to the current status of the VPC endpoint.+-- Possible statuses are @CREATING@, @DELETING@, @UPDATING@, @ACTIVE@, and+-- @FAILED@.+newListVpcEndpoints ::+ ListVpcEndpoints+newListVpcEndpoints =+ ListVpcEndpoints'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ vpcEndpointFilters = Prelude.Nothing+ }++-- | An optional parameter that specifies the maximum number of results to+-- return. You can use @nextToken@ to get the next page of results. The+-- default is 20.+listVpcEndpoints_maxResults :: Lens.Lens' ListVpcEndpoints (Prelude.Maybe Prelude.Natural)+listVpcEndpoints_maxResults = Lens.lens (\ListVpcEndpoints' {maxResults} -> maxResults) (\s@ListVpcEndpoints' {} a -> s {maxResults = a} :: ListVpcEndpoints)++-- | If your initial @ListVpcEndpoints@ operation returns a @nextToken@, you+-- can include the returned @nextToken@ in subsequent @ListVpcEndpoints@+-- operations, which returns results in the next page.+listVpcEndpoints_nextToken :: Lens.Lens' ListVpcEndpoints (Prelude.Maybe Prelude.Text)+listVpcEndpoints_nextToken = Lens.lens (\ListVpcEndpoints' {nextToken} -> nextToken) (\s@ListVpcEndpoints' {} a -> s {nextToken = a} :: ListVpcEndpoints)++-- | Filter the results according to the current status of the VPC endpoint.+-- Possible statuses are @CREATING@, @DELETING@, @UPDATING@, @ACTIVE@, and+-- @FAILED@.+listVpcEndpoints_vpcEndpointFilters :: Lens.Lens' ListVpcEndpoints (Prelude.Maybe VpcEndpointFilters)+listVpcEndpoints_vpcEndpointFilters = Lens.lens (\ListVpcEndpoints' {vpcEndpointFilters} -> vpcEndpointFilters) (\s@ListVpcEndpoints' {} a -> s {vpcEndpointFilters = a} :: ListVpcEndpoints)++instance Core.AWSRequest ListVpcEndpoints where+ type+ AWSResponse ListVpcEndpoints =+ ListVpcEndpointsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListVpcEndpointsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "vpcEndpointSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListVpcEndpoints where+ hashWithSalt _salt ListVpcEndpoints' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` vpcEndpointFilters++instance Prelude.NFData ListVpcEndpoints where+ rnf ListVpcEndpoints' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf vpcEndpointFilters++instance Data.ToHeaders ListVpcEndpoints where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.ListVpcEndpoints" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListVpcEndpoints where+ toJSON ListVpcEndpoints' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("vpcEndpointFilters" Data..=)+ Prelude.<$> vpcEndpointFilters+ ]+ )++instance Data.ToPath ListVpcEndpoints where+ toPath = Prelude.const "/"++instance Data.ToQuery ListVpcEndpoints where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListVpcEndpointsResponse' smart constructor.+data ListVpcEndpointsResponse = ListVpcEndpointsResponse'+ { -- | When @nextToken@ is returned, there are more results available. The+ -- value of @nextToken@ is a unique pagination token for each page. Make+ -- the call again using the returned token to retrieve the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Details about each VPC endpoint, including the name and current status.+ vpcEndpointSummaries :: Prelude.Maybe [VpcEndpointSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVpcEndpointsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVpcEndpointsResponse_nextToken' - When @nextToken@ is returned, there are more results available. The+-- value of @nextToken@ is a unique pagination token for each page. Make+-- the call again using the returned token to retrieve the next page.+--+-- 'vpcEndpointSummaries', 'listVpcEndpointsResponse_vpcEndpointSummaries' - Details about each VPC endpoint, including the name and current status.+--+-- 'httpStatus', 'listVpcEndpointsResponse_httpStatus' - The response's http status code.+newListVpcEndpointsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListVpcEndpointsResponse+newListVpcEndpointsResponse pHttpStatus_ =+ ListVpcEndpointsResponse'+ { nextToken =+ Prelude.Nothing,+ vpcEndpointSummaries = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | When @nextToken@ is returned, there are more results available. The+-- value of @nextToken@ is a unique pagination token for each page. Make+-- the call again using the returned token to retrieve the next page.+listVpcEndpointsResponse_nextToken :: Lens.Lens' ListVpcEndpointsResponse (Prelude.Maybe Prelude.Text)+listVpcEndpointsResponse_nextToken = Lens.lens (\ListVpcEndpointsResponse' {nextToken} -> nextToken) (\s@ListVpcEndpointsResponse' {} a -> s {nextToken = a} :: ListVpcEndpointsResponse)++-- | Details about each VPC endpoint, including the name and current status.+listVpcEndpointsResponse_vpcEndpointSummaries :: Lens.Lens' ListVpcEndpointsResponse (Prelude.Maybe [VpcEndpointSummary])+listVpcEndpointsResponse_vpcEndpointSummaries = Lens.lens (\ListVpcEndpointsResponse' {vpcEndpointSummaries} -> vpcEndpointSummaries) (\s@ListVpcEndpointsResponse' {} a -> s {vpcEndpointSummaries = a} :: ListVpcEndpointsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listVpcEndpointsResponse_httpStatus :: Lens.Lens' ListVpcEndpointsResponse Prelude.Int+listVpcEndpointsResponse_httpStatus = Lens.lens (\ListVpcEndpointsResponse' {httpStatus} -> httpStatus) (\s@ListVpcEndpointsResponse' {} a -> s {httpStatus = a} :: ListVpcEndpointsResponse)++instance Prelude.NFData ListVpcEndpointsResponse where+ rnf ListVpcEndpointsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf vpcEndpointSummaries+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/TagResource.hs view
@@ -0,0 +1,179 @@+{-# 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.OpenSearchServerless.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates tags with an OpenSearch Serverless resource. For more+-- information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-collection.html Tagging Amazon OpenSearch Serverless collections>.+module Amazonka.OpenSearchServerless.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The Amazon Resource Name (ARN) of the resource. The resource must be+ -- active (not in the @DELETING@ state), and must be owned by the account+ -- ID included in the request.+ resourceArn :: Prelude.Text,+ -- | A list of tags (key-value pairs) to add to the resource. All tag keys in+ -- the request must be unique.+ tags :: [Tag]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource. The resource must be+-- active (not in the @DELETING@ state), and must be owned by the account+-- ID included in the request.+--+-- 'tags', 'tagResource_tags' - A list of tags (key-value pairs) to add to the resource. All tag keys in+-- the request must be unique.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the resource. The resource must be+-- active (not in the @DELETING@ state), and must be owned by the account+-- ID included in the request.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | A list of tags (key-value pairs) to add to the resource. All tag keys in+-- the request must be unique.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.TagResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("resourceArn" Data..= resourceArn),+ Prelude.Just ("tags" Data..= tags)+ ]+ )++instance Data.ToPath TagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/Types.hs view
@@ -0,0 +1,417 @@+{-# 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.OpenSearchServerless.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.OpenSearchServerless.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _ConflictException,+ _InternalServerException,+ _ResourceNotFoundException,+ _ValidationException,++ -- * AccessPolicyType+ AccessPolicyType (..),++ -- * CollectionStatus+ CollectionStatus (..),++ -- * CollectionType+ CollectionType (..),++ -- * SecurityConfigType+ SecurityConfigType (..),++ -- * SecurityPolicyType+ SecurityPolicyType (..),++ -- * VpcEndpointStatus+ VpcEndpointStatus (..),++ -- * AccessPolicyDetail+ AccessPolicyDetail (..),+ newAccessPolicyDetail,+ accessPolicyDetail_createdDate,+ accessPolicyDetail_description,+ accessPolicyDetail_lastModifiedDate,+ accessPolicyDetail_name,+ accessPolicyDetail_policy,+ accessPolicyDetail_policyVersion,+ accessPolicyDetail_type,++ -- * AccessPolicyStats+ AccessPolicyStats (..),+ newAccessPolicyStats,+ accessPolicyStats_dataPolicyCount,++ -- * AccessPolicySummary+ AccessPolicySummary (..),+ newAccessPolicySummary,+ accessPolicySummary_createdDate,+ accessPolicySummary_description,+ accessPolicySummary_lastModifiedDate,+ accessPolicySummary_name,+ accessPolicySummary_policyVersion,+ accessPolicySummary_type,++ -- * AccountSettingsDetail+ AccountSettingsDetail (..),+ newAccountSettingsDetail,+ accountSettingsDetail_capacityLimits,++ -- * CapacityLimits+ CapacityLimits (..),+ newCapacityLimits,+ capacityLimits_maxIndexingCapacityInOCU,+ capacityLimits_maxSearchCapacityInOCU,++ -- * CollectionDetail+ CollectionDetail (..),+ newCollectionDetail,+ collectionDetail_arn,+ collectionDetail_collectionEndpoint,+ collectionDetail_createdDate,+ collectionDetail_dashboardEndpoint,+ collectionDetail_description,+ collectionDetail_id,+ collectionDetail_kmsKeyArn,+ collectionDetail_lastModifiedDate,+ collectionDetail_name,+ collectionDetail_status,+ collectionDetail_type,++ -- * CollectionErrorDetail+ CollectionErrorDetail (..),+ newCollectionErrorDetail,+ collectionErrorDetail_errorCode,+ collectionErrorDetail_errorMessage,+ collectionErrorDetail_id,+ collectionErrorDetail_name,++ -- * CollectionFilters+ CollectionFilters (..),+ newCollectionFilters,+ collectionFilters_name,+ collectionFilters_status,++ -- * CollectionSummary+ CollectionSummary (..),+ newCollectionSummary,+ collectionSummary_arn,+ collectionSummary_id,+ collectionSummary_name,+ collectionSummary_status,++ -- * CreateCollectionDetail+ CreateCollectionDetail (..),+ newCreateCollectionDetail,+ createCollectionDetail_arn,+ createCollectionDetail_createdDate,+ createCollectionDetail_description,+ createCollectionDetail_id,+ createCollectionDetail_kmsKeyArn,+ createCollectionDetail_lastModifiedDate,+ createCollectionDetail_name,+ createCollectionDetail_status,+ createCollectionDetail_type,++ -- * CreateVpcEndpointDetail+ CreateVpcEndpointDetail (..),+ newCreateVpcEndpointDetail,+ createVpcEndpointDetail_id,+ createVpcEndpointDetail_name,+ createVpcEndpointDetail_status,++ -- * DeleteCollectionDetail+ DeleteCollectionDetail (..),+ newDeleteCollectionDetail,+ deleteCollectionDetail_id,+ deleteCollectionDetail_name,+ deleteCollectionDetail_status,++ -- * DeleteVpcEndpointDetail+ DeleteVpcEndpointDetail (..),+ newDeleteVpcEndpointDetail,+ deleteVpcEndpointDetail_id,+ deleteVpcEndpointDetail_name,+ deleteVpcEndpointDetail_status,++ -- * Document+ Document (..),+ newDocument,++ -- * SamlConfigOptions+ SamlConfigOptions (..),+ newSamlConfigOptions,+ samlConfigOptions_groupAttribute,+ samlConfigOptions_sessionTimeout,+ samlConfigOptions_userAttribute,+ samlConfigOptions_metadata,++ -- * SecurityConfigDetail+ SecurityConfigDetail (..),+ newSecurityConfigDetail,+ securityConfigDetail_configVersion,+ securityConfigDetail_createdDate,+ securityConfigDetail_description,+ securityConfigDetail_id,+ securityConfigDetail_lastModifiedDate,+ securityConfigDetail_samlOptions,+ securityConfigDetail_type,++ -- * SecurityConfigStats+ SecurityConfigStats (..),+ newSecurityConfigStats,+ securityConfigStats_samlConfigCount,++ -- * SecurityConfigSummary+ SecurityConfigSummary (..),+ newSecurityConfigSummary,+ securityConfigSummary_configVersion,+ securityConfigSummary_createdDate,+ securityConfigSummary_description,+ securityConfigSummary_id,+ securityConfigSummary_lastModifiedDate,+ securityConfigSummary_type,++ -- * SecurityPolicyDetail+ SecurityPolicyDetail (..),+ newSecurityPolicyDetail,+ securityPolicyDetail_createdDate,+ securityPolicyDetail_description,+ securityPolicyDetail_lastModifiedDate,+ securityPolicyDetail_name,+ securityPolicyDetail_policy,+ securityPolicyDetail_policyVersion,+ securityPolicyDetail_type,++ -- * SecurityPolicyStats+ SecurityPolicyStats (..),+ newSecurityPolicyStats,+ securityPolicyStats_encryptionPolicyCount,+ securityPolicyStats_networkPolicyCount,++ -- * SecurityPolicySummary+ SecurityPolicySummary (..),+ newSecurityPolicySummary,+ securityPolicySummary_createdDate,+ securityPolicySummary_description,+ securityPolicySummary_lastModifiedDate,+ securityPolicySummary_name,+ securityPolicySummary_policyVersion,+ securityPolicySummary_type,++ -- * Tag+ Tag (..),+ newTag,+ tag_key,+ tag_value,++ -- * UpdateCollectionDetail+ UpdateCollectionDetail (..),+ newUpdateCollectionDetail,+ updateCollectionDetail_arn,+ updateCollectionDetail_createdDate,+ updateCollectionDetail_description,+ updateCollectionDetail_id,+ updateCollectionDetail_lastModifiedDate,+ updateCollectionDetail_name,+ updateCollectionDetail_status,+ updateCollectionDetail_type,++ -- * UpdateVpcEndpointDetail+ UpdateVpcEndpointDetail (..),+ newUpdateVpcEndpointDetail,+ updateVpcEndpointDetail_id,+ updateVpcEndpointDetail_lastModifiedDate,+ updateVpcEndpointDetail_name,+ updateVpcEndpointDetail_securityGroupIds,+ updateVpcEndpointDetail_status,+ updateVpcEndpointDetail_subnetIds,++ -- * VpcEndpointDetail+ VpcEndpointDetail (..),+ newVpcEndpointDetail,+ vpcEndpointDetail_createdDate,+ vpcEndpointDetail_id,+ vpcEndpointDetail_name,+ vpcEndpointDetail_securityGroupIds,+ vpcEndpointDetail_status,+ vpcEndpointDetail_subnetIds,+ vpcEndpointDetail_vpcId,++ -- * VpcEndpointErrorDetail+ VpcEndpointErrorDetail (..),+ newVpcEndpointErrorDetail,+ vpcEndpointErrorDetail_errorCode,+ vpcEndpointErrorDetail_errorMessage,+ vpcEndpointErrorDetail_id,++ -- * VpcEndpointFilters+ VpcEndpointFilters (..),+ newVpcEndpointFilters,+ vpcEndpointFilters_status,++ -- * VpcEndpointSummary+ VpcEndpointSummary (..),+ newVpcEndpointSummary,+ vpcEndpointSummary_id,+ vpcEndpointSummary_name,+ vpcEndpointSummary_status,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.OpenSearchServerless.Types.AccessPolicyDetail+import Amazonka.OpenSearchServerless.Types.AccessPolicyStats+import Amazonka.OpenSearchServerless.Types.AccessPolicySummary+import Amazonka.OpenSearchServerless.Types.AccessPolicyType+import Amazonka.OpenSearchServerless.Types.AccountSettingsDetail+import Amazonka.OpenSearchServerless.Types.CapacityLimits+import Amazonka.OpenSearchServerless.Types.CollectionDetail+import Amazonka.OpenSearchServerless.Types.CollectionErrorDetail+import Amazonka.OpenSearchServerless.Types.CollectionFilters+import Amazonka.OpenSearchServerless.Types.CollectionStatus+import Amazonka.OpenSearchServerless.Types.CollectionSummary+import Amazonka.OpenSearchServerless.Types.CollectionType+import Amazonka.OpenSearchServerless.Types.CreateCollectionDetail+import Amazonka.OpenSearchServerless.Types.CreateVpcEndpointDetail+import Amazonka.OpenSearchServerless.Types.DeleteCollectionDetail+import Amazonka.OpenSearchServerless.Types.DeleteVpcEndpointDetail+import Amazonka.OpenSearchServerless.Types.Document+import Amazonka.OpenSearchServerless.Types.SamlConfigOptions+import Amazonka.OpenSearchServerless.Types.SecurityConfigDetail+import Amazonka.OpenSearchServerless.Types.SecurityConfigStats+import Amazonka.OpenSearchServerless.Types.SecurityConfigSummary+import Amazonka.OpenSearchServerless.Types.SecurityConfigType+import Amazonka.OpenSearchServerless.Types.SecurityPolicyDetail+import Amazonka.OpenSearchServerless.Types.SecurityPolicyStats+import Amazonka.OpenSearchServerless.Types.SecurityPolicySummary+import Amazonka.OpenSearchServerless.Types.SecurityPolicyType+import Amazonka.OpenSearchServerless.Types.Tag+import Amazonka.OpenSearchServerless.Types.UpdateCollectionDetail+import Amazonka.OpenSearchServerless.Types.UpdateVpcEndpointDetail+import Amazonka.OpenSearchServerless.Types.VpcEndpointDetail+import Amazonka.OpenSearchServerless.Types.VpcEndpointErrorDetail+import Amazonka.OpenSearchServerless.Types.VpcEndpointFilters+import Amazonka.OpenSearchServerless.Types.VpcEndpointStatus+import Amazonka.OpenSearchServerless.Types.VpcEndpointSummary+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2021-11-01@ of the Amazon OpenSearch Service Serverless SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "OpenSearchServerless",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "aoss",+ Core.signingName = "aoss",+ Core.version = "2021-11-01",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error =+ Core.parseJSONError "OpenSearchServerless",+ 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++-- | When creating a collection, thrown when a collection with the same name+-- already exists or is being created. When deleting a collection, thrown+-- when the collection is not in the ACTIVE or FAILED state.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"++-- | Thrown when an error internal to the service occurs while processing a+-- request.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"++-- | Thrown when accessing or deleting a resource that does not exist.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"++-- | Thrown when the HTTP request contains invalid input or is missing+-- required input.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"
+ gen/Amazonka/OpenSearchServerless/Types/AccessPolicyDetail.hs view
@@ -0,0 +1,146 @@+{-# 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.OpenSearchServerless.Types.AccessPolicyDetail+-- 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.OpenSearchServerless.Types.AccessPolicyDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.AccessPolicyType+import Amazonka.OpenSearchServerless.Types.Document+import qualified Amazonka.Prelude as Prelude++-- | Details about an OpenSearch Serverless access policy.+--+-- /See:/ 'newAccessPolicyDetail' smart constructor.+data AccessPolicyDetail = AccessPolicyDetail'+ { -- | The date the policy was created.+ createdDate :: Prelude.Maybe Prelude.Integer,+ -- | The description of the policy.+ description :: Prelude.Maybe Prelude.Text,+ -- | The timestamp of when the policy was last modified.+ lastModifiedDate :: Prelude.Maybe Prelude.Integer,+ -- | The name of the policy.+ name :: Prelude.Maybe Prelude.Text,+ -- | The JSON policy document without any whitespaces.+ policy :: Prelude.Maybe Document,+ -- | The version of the policy.+ policyVersion :: Prelude.Maybe Prelude.Text,+ -- | The type of access policy.+ type' :: Prelude.Maybe AccessPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccessPolicyDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdDate', 'accessPolicyDetail_createdDate' - The date the policy was created.+--+-- 'description', 'accessPolicyDetail_description' - The description of the policy.+--+-- 'lastModifiedDate', 'accessPolicyDetail_lastModifiedDate' - The timestamp of when the policy was last modified.+--+-- 'name', 'accessPolicyDetail_name' - The name of the policy.+--+-- 'policy', 'accessPolicyDetail_policy' - The JSON policy document without any whitespaces.+--+-- 'policyVersion', 'accessPolicyDetail_policyVersion' - The version of the policy.+--+-- 'type'', 'accessPolicyDetail_type' - The type of access policy.+newAccessPolicyDetail ::+ AccessPolicyDetail+newAccessPolicyDetail =+ AccessPolicyDetail'+ { createdDate = Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedDate = Prelude.Nothing,+ name = Prelude.Nothing,+ policy = Prelude.Nothing,+ policyVersion = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The date the policy was created.+accessPolicyDetail_createdDate :: Lens.Lens' AccessPolicyDetail (Prelude.Maybe Prelude.Integer)+accessPolicyDetail_createdDate = Lens.lens (\AccessPolicyDetail' {createdDate} -> createdDate) (\s@AccessPolicyDetail' {} a -> s {createdDate = a} :: AccessPolicyDetail)++-- | The description of the policy.+accessPolicyDetail_description :: Lens.Lens' AccessPolicyDetail (Prelude.Maybe Prelude.Text)+accessPolicyDetail_description = Lens.lens (\AccessPolicyDetail' {description} -> description) (\s@AccessPolicyDetail' {} a -> s {description = a} :: AccessPolicyDetail)++-- | The timestamp of when the policy was last modified.+accessPolicyDetail_lastModifiedDate :: Lens.Lens' AccessPolicyDetail (Prelude.Maybe Prelude.Integer)+accessPolicyDetail_lastModifiedDate = Lens.lens (\AccessPolicyDetail' {lastModifiedDate} -> lastModifiedDate) (\s@AccessPolicyDetail' {} a -> s {lastModifiedDate = a} :: AccessPolicyDetail)++-- | The name of the policy.+accessPolicyDetail_name :: Lens.Lens' AccessPolicyDetail (Prelude.Maybe Prelude.Text)+accessPolicyDetail_name = Lens.lens (\AccessPolicyDetail' {name} -> name) (\s@AccessPolicyDetail' {} a -> s {name = a} :: AccessPolicyDetail)++-- | The JSON policy document without any whitespaces.+accessPolicyDetail_policy :: Lens.Lens' AccessPolicyDetail (Prelude.Maybe Document)+accessPolicyDetail_policy = Lens.lens (\AccessPolicyDetail' {policy} -> policy) (\s@AccessPolicyDetail' {} a -> s {policy = a} :: AccessPolicyDetail)++-- | The version of the policy.+accessPolicyDetail_policyVersion :: Lens.Lens' AccessPolicyDetail (Prelude.Maybe Prelude.Text)+accessPolicyDetail_policyVersion = Lens.lens (\AccessPolicyDetail' {policyVersion} -> policyVersion) (\s@AccessPolicyDetail' {} a -> s {policyVersion = a} :: AccessPolicyDetail)++-- | The type of access policy.+accessPolicyDetail_type :: Lens.Lens' AccessPolicyDetail (Prelude.Maybe AccessPolicyType)+accessPolicyDetail_type = Lens.lens (\AccessPolicyDetail' {type'} -> type') (\s@AccessPolicyDetail' {} a -> s {type' = a} :: AccessPolicyDetail)++instance Data.FromJSON AccessPolicyDetail where+ parseJSON =+ Data.withObject+ "AccessPolicyDetail"+ ( \x ->+ AccessPolicyDetail'+ Prelude.<$> (x Data..:? "createdDate")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "lastModifiedDate")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "policy")+ Prelude.<*> (x Data..:? "policyVersion")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable AccessPolicyDetail where+ hashWithSalt _salt AccessPolicyDetail' {..} =+ _salt+ `Prelude.hashWithSalt` createdDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastModifiedDate+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` policy+ `Prelude.hashWithSalt` policyVersion+ `Prelude.hashWithSalt` type'++instance Prelude.NFData AccessPolicyDetail where+ rnf AccessPolicyDetail' {..} =+ Prelude.rnf createdDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedDate+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf policy+ `Prelude.seq` Prelude.rnf policyVersion+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/OpenSearchServerless/Types/AccessPolicyStats.hs view
@@ -0,0 +1,72 @@+{-# 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.OpenSearchServerless.Types.AccessPolicyStats+-- 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.OpenSearchServerless.Types.AccessPolicyStats 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++-- | Statistics for an OpenSearch Serverless access policy.+--+-- /See:/ 'newAccessPolicyStats' smart constructor.+data AccessPolicyStats = AccessPolicyStats'+ { -- | The number of data access policies in the current account.+ dataPolicyCount :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccessPolicyStats' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataPolicyCount', 'accessPolicyStats_dataPolicyCount' - The number of data access policies in the current account.+newAccessPolicyStats ::+ AccessPolicyStats+newAccessPolicyStats =+ AccessPolicyStats'+ { dataPolicyCount =+ Prelude.Nothing+ }++-- | The number of data access policies in the current account.+accessPolicyStats_dataPolicyCount :: Lens.Lens' AccessPolicyStats (Prelude.Maybe Prelude.Integer)+accessPolicyStats_dataPolicyCount = Lens.lens (\AccessPolicyStats' {dataPolicyCount} -> dataPolicyCount) (\s@AccessPolicyStats' {} a -> s {dataPolicyCount = a} :: AccessPolicyStats)++instance Data.FromJSON AccessPolicyStats where+ parseJSON =+ Data.withObject+ "AccessPolicyStats"+ ( \x ->+ AccessPolicyStats'+ Prelude.<$> (x Data..:? "DataPolicyCount")+ )++instance Prelude.Hashable AccessPolicyStats where+ hashWithSalt _salt AccessPolicyStats' {..} =+ _salt `Prelude.hashWithSalt` dataPolicyCount++instance Prelude.NFData AccessPolicyStats where+ rnf AccessPolicyStats' {..} =+ Prelude.rnf dataPolicyCount
+ gen/Amazonka/OpenSearchServerless/Types/AccessPolicySummary.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.AccessPolicySummary+-- 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.OpenSearchServerless.Types.AccessPolicySummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.AccessPolicyType+import qualified Amazonka.Prelude as Prelude++-- | A summary of the data access policy.+--+-- /See:/ 'newAccessPolicySummary' smart constructor.+data AccessPolicySummary = AccessPolicySummary'+ { -- | The Epoch time when the access policy was created.+ createdDate :: Prelude.Maybe Prelude.Integer,+ -- | The description of the access policy.+ description :: Prelude.Maybe Prelude.Text,+ -- | The date and time when the collection was last modified.+ lastModifiedDate :: Prelude.Maybe Prelude.Integer,+ -- | The name of the access policy.+ name :: Prelude.Maybe Prelude.Text,+ -- | The version of the policy.+ policyVersion :: Prelude.Maybe Prelude.Text,+ -- | The type of access policy. Currently the only available type is @data@.+ type' :: Prelude.Maybe AccessPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccessPolicySummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdDate', 'accessPolicySummary_createdDate' - The Epoch time when the access policy was created.+--+-- 'description', 'accessPolicySummary_description' - The description of the access policy.+--+-- 'lastModifiedDate', 'accessPolicySummary_lastModifiedDate' - The date and time when the collection was last modified.+--+-- 'name', 'accessPolicySummary_name' - The name of the access policy.+--+-- 'policyVersion', 'accessPolicySummary_policyVersion' - The version of the policy.+--+-- 'type'', 'accessPolicySummary_type' - The type of access policy. Currently the only available type is @data@.+newAccessPolicySummary ::+ AccessPolicySummary+newAccessPolicySummary =+ AccessPolicySummary'+ { createdDate = Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedDate = Prelude.Nothing,+ name = Prelude.Nothing,+ policyVersion = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The Epoch time when the access policy was created.+accessPolicySummary_createdDate :: Lens.Lens' AccessPolicySummary (Prelude.Maybe Prelude.Integer)+accessPolicySummary_createdDate = Lens.lens (\AccessPolicySummary' {createdDate} -> createdDate) (\s@AccessPolicySummary' {} a -> s {createdDate = a} :: AccessPolicySummary)++-- | The description of the access policy.+accessPolicySummary_description :: Lens.Lens' AccessPolicySummary (Prelude.Maybe Prelude.Text)+accessPolicySummary_description = Lens.lens (\AccessPolicySummary' {description} -> description) (\s@AccessPolicySummary' {} a -> s {description = a} :: AccessPolicySummary)++-- | The date and time when the collection was last modified.+accessPolicySummary_lastModifiedDate :: Lens.Lens' AccessPolicySummary (Prelude.Maybe Prelude.Integer)+accessPolicySummary_lastModifiedDate = Lens.lens (\AccessPolicySummary' {lastModifiedDate} -> lastModifiedDate) (\s@AccessPolicySummary' {} a -> s {lastModifiedDate = a} :: AccessPolicySummary)++-- | The name of the access policy.+accessPolicySummary_name :: Lens.Lens' AccessPolicySummary (Prelude.Maybe Prelude.Text)+accessPolicySummary_name = Lens.lens (\AccessPolicySummary' {name} -> name) (\s@AccessPolicySummary' {} a -> s {name = a} :: AccessPolicySummary)++-- | The version of the policy.+accessPolicySummary_policyVersion :: Lens.Lens' AccessPolicySummary (Prelude.Maybe Prelude.Text)+accessPolicySummary_policyVersion = Lens.lens (\AccessPolicySummary' {policyVersion} -> policyVersion) (\s@AccessPolicySummary' {} a -> s {policyVersion = a} :: AccessPolicySummary)++-- | The type of access policy. Currently the only available type is @data@.+accessPolicySummary_type :: Lens.Lens' AccessPolicySummary (Prelude.Maybe AccessPolicyType)+accessPolicySummary_type = Lens.lens (\AccessPolicySummary' {type'} -> type') (\s@AccessPolicySummary' {} a -> s {type' = a} :: AccessPolicySummary)++instance Data.FromJSON AccessPolicySummary where+ parseJSON =+ Data.withObject+ "AccessPolicySummary"+ ( \x ->+ AccessPolicySummary'+ Prelude.<$> (x Data..:? "createdDate")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "lastModifiedDate")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "policyVersion")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable AccessPolicySummary where+ hashWithSalt _salt AccessPolicySummary' {..} =+ _salt+ `Prelude.hashWithSalt` createdDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastModifiedDate+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` policyVersion+ `Prelude.hashWithSalt` type'++instance Prelude.NFData AccessPolicySummary where+ rnf AccessPolicySummary' {..} =+ Prelude.rnf createdDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedDate+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf policyVersion+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/OpenSearchServerless/Types/AccessPolicyType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.AccessPolicyType+-- 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.OpenSearchServerless.Types.AccessPolicyType+ ( AccessPolicyType+ ( ..,+ AccessPolicyType_Data+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AccessPolicyType = AccessPolicyType'+ { fromAccessPolicyType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AccessPolicyType_Data :: AccessPolicyType+pattern AccessPolicyType_Data = AccessPolicyType' "data"++{-# COMPLETE+ AccessPolicyType_Data,+ AccessPolicyType'+ #-}
+ gen/Amazonka/OpenSearchServerless/Types/AccountSettingsDetail.hs view
@@ -0,0 +1,72 @@+{-# 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.OpenSearchServerless.Types.AccountSettingsDetail+-- 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.OpenSearchServerless.Types.AccountSettingsDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.CapacityLimits+import qualified Amazonka.Prelude as Prelude++-- | OpenSearch Serverless-related information for the current account.+--+-- /See:/ 'newAccountSettingsDetail' smart constructor.+data AccountSettingsDetail = AccountSettingsDetail'+ { capacityLimits :: Prelude.Maybe CapacityLimits+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccountSettingsDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'capacityLimits', 'accountSettingsDetail_capacityLimits' - Undocumented member.+newAccountSettingsDetail ::+ AccountSettingsDetail+newAccountSettingsDetail =+ AccountSettingsDetail'+ { capacityLimits =+ Prelude.Nothing+ }++-- | Undocumented member.+accountSettingsDetail_capacityLimits :: Lens.Lens' AccountSettingsDetail (Prelude.Maybe CapacityLimits)+accountSettingsDetail_capacityLimits = Lens.lens (\AccountSettingsDetail' {capacityLimits} -> capacityLimits) (\s@AccountSettingsDetail' {} a -> s {capacityLimits = a} :: AccountSettingsDetail)++instance Data.FromJSON AccountSettingsDetail where+ parseJSON =+ Data.withObject+ "AccountSettingsDetail"+ ( \x ->+ AccountSettingsDetail'+ Prelude.<$> (x Data..:? "capacityLimits")+ )++instance Prelude.Hashable AccountSettingsDetail where+ hashWithSalt _salt AccountSettingsDetail' {..} =+ _salt `Prelude.hashWithSalt` capacityLimits++instance Prelude.NFData AccountSettingsDetail where+ rnf AccountSettingsDetail' {..} =+ Prelude.rnf capacityLimits
+ gen/Amazonka/OpenSearchServerless/Types/CapacityLimits.hs view
@@ -0,0 +1,99 @@+{-# 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.OpenSearchServerless.Types.CapacityLimits+-- 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.OpenSearchServerless.Types.CapacityLimits 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 maximum capacity limits for all OpenSearch Serverless collections,+-- in OpenSearch Compute Units (OCUs). These limits are used to scale your+-- collections based on the current workload. For more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html#serverless-scaling Autoscaling>.+--+-- /See:/ 'newCapacityLimits' smart constructor.+data CapacityLimits = CapacityLimits'+ { -- | The maximum indexing capacity for collections.+ maxIndexingCapacityInOCU :: Prelude.Maybe Prelude.Natural,+ -- | The maximum search capacity for collections.+ maxSearchCapacityInOCU :: Prelude.Maybe Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CapacityLimits' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxIndexingCapacityInOCU', 'capacityLimits_maxIndexingCapacityInOCU' - The maximum indexing capacity for collections.+--+-- 'maxSearchCapacityInOCU', 'capacityLimits_maxSearchCapacityInOCU' - The maximum search capacity for collections.+newCapacityLimits ::+ CapacityLimits+newCapacityLimits =+ CapacityLimits'+ { maxIndexingCapacityInOCU =+ Prelude.Nothing,+ maxSearchCapacityInOCU = Prelude.Nothing+ }++-- | The maximum indexing capacity for collections.+capacityLimits_maxIndexingCapacityInOCU :: Lens.Lens' CapacityLimits (Prelude.Maybe Prelude.Natural)+capacityLimits_maxIndexingCapacityInOCU = Lens.lens (\CapacityLimits' {maxIndexingCapacityInOCU} -> maxIndexingCapacityInOCU) (\s@CapacityLimits' {} a -> s {maxIndexingCapacityInOCU = a} :: CapacityLimits)++-- | The maximum search capacity for collections.+capacityLimits_maxSearchCapacityInOCU :: Lens.Lens' CapacityLimits (Prelude.Maybe Prelude.Natural)+capacityLimits_maxSearchCapacityInOCU = Lens.lens (\CapacityLimits' {maxSearchCapacityInOCU} -> maxSearchCapacityInOCU) (\s@CapacityLimits' {} a -> s {maxSearchCapacityInOCU = a} :: CapacityLimits)++instance Data.FromJSON CapacityLimits where+ parseJSON =+ Data.withObject+ "CapacityLimits"+ ( \x ->+ CapacityLimits'+ Prelude.<$> (x Data..:? "maxIndexingCapacityInOCU")+ Prelude.<*> (x Data..:? "maxSearchCapacityInOCU")+ )++instance Prelude.Hashable CapacityLimits where+ hashWithSalt _salt CapacityLimits' {..} =+ _salt+ `Prelude.hashWithSalt` maxIndexingCapacityInOCU+ `Prelude.hashWithSalt` maxSearchCapacityInOCU++instance Prelude.NFData CapacityLimits where+ rnf CapacityLimits' {..} =+ Prelude.rnf maxIndexingCapacityInOCU+ `Prelude.seq` Prelude.rnf maxSearchCapacityInOCU++instance Data.ToJSON CapacityLimits where+ toJSON CapacityLimits' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxIndexingCapacityInOCU" Data..=)+ Prelude.<$> maxIndexingCapacityInOCU,+ ("maxSearchCapacityInOCU" Data..=)+ Prelude.<$> maxSearchCapacityInOCU+ ]+ )
+ gen/Amazonka/OpenSearchServerless/Types/CollectionDetail.hs view
@@ -0,0 +1,201 @@+{-# 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.OpenSearchServerless.Types.CollectionDetail+-- 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.OpenSearchServerless.Types.CollectionDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.CollectionStatus+import Amazonka.OpenSearchServerless.Types.CollectionType+import qualified Amazonka.Prelude as Prelude++-- | Details about each OpenSearch Serverless collection, including the+-- collection endpoint and the OpenSearch Dashboards endpoint.+--+-- /See:/ 'newCollectionDetail' smart constructor.+data CollectionDetail = CollectionDetail'+ { -- | The Amazon Resource Name (ARN) of the collection.+ arn :: Prelude.Maybe Prelude.Text,+ -- | Collection-specific endpoint used to submit index, search, and data+ -- upload requests to an OpenSearch Serverless collection.+ collectionEndpoint :: Prelude.Maybe Prelude.Text,+ -- | The Epoch time when the collection was created.+ createdDate :: Prelude.Maybe Prelude.Integer,+ -- | Collection-specific endpoint used to access OpenSearch Dashboards.+ dashboardEndpoint :: Prelude.Maybe Prelude.Text,+ -- | A description of the collection.+ description :: Prelude.Maybe Prelude.Text,+ -- | A unique identifier for the collection.+ id :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the Amazon Web Services KMS key used to encrypt the+ -- collection.+ kmsKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The date and time when the collection was last modified.+ lastModifiedDate :: Prelude.Maybe Prelude.Integer,+ -- | The name of the collection.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the collection.+ status :: Prelude.Maybe CollectionStatus,+ -- | The type of collection.+ type' :: Prelude.Maybe CollectionType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CollectionDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'collectionDetail_arn' - The Amazon Resource Name (ARN) of the collection.+--+-- 'collectionEndpoint', 'collectionDetail_collectionEndpoint' - Collection-specific endpoint used to submit index, search, and data+-- upload requests to an OpenSearch Serverless collection.+--+-- 'createdDate', 'collectionDetail_createdDate' - The Epoch time when the collection was created.+--+-- 'dashboardEndpoint', 'collectionDetail_dashboardEndpoint' - Collection-specific endpoint used to access OpenSearch Dashboards.+--+-- 'description', 'collectionDetail_description' - A description of the collection.+--+-- 'id', 'collectionDetail_id' - A unique identifier for the collection.+--+-- 'kmsKeyArn', 'collectionDetail_kmsKeyArn' - The ARN of the Amazon Web Services KMS key used to encrypt the+-- collection.+--+-- 'lastModifiedDate', 'collectionDetail_lastModifiedDate' - The date and time when the collection was last modified.+--+-- 'name', 'collectionDetail_name' - The name of the collection.+--+-- 'status', 'collectionDetail_status' - The current status of the collection.+--+-- 'type'', 'collectionDetail_type' - The type of collection.+newCollectionDetail ::+ CollectionDetail+newCollectionDetail =+ CollectionDetail'+ { arn = Prelude.Nothing,+ collectionEndpoint = Prelude.Nothing,+ createdDate = Prelude.Nothing,+ dashboardEndpoint = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ kmsKeyArn = Prelude.Nothing,+ lastModifiedDate = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the collection.+collectionDetail_arn :: Lens.Lens' CollectionDetail (Prelude.Maybe Prelude.Text)+collectionDetail_arn = Lens.lens (\CollectionDetail' {arn} -> arn) (\s@CollectionDetail' {} a -> s {arn = a} :: CollectionDetail)++-- | Collection-specific endpoint used to submit index, search, and data+-- upload requests to an OpenSearch Serverless collection.+collectionDetail_collectionEndpoint :: Lens.Lens' CollectionDetail (Prelude.Maybe Prelude.Text)+collectionDetail_collectionEndpoint = Lens.lens (\CollectionDetail' {collectionEndpoint} -> collectionEndpoint) (\s@CollectionDetail' {} a -> s {collectionEndpoint = a} :: CollectionDetail)++-- | The Epoch time when the collection was created.+collectionDetail_createdDate :: Lens.Lens' CollectionDetail (Prelude.Maybe Prelude.Integer)+collectionDetail_createdDate = Lens.lens (\CollectionDetail' {createdDate} -> createdDate) (\s@CollectionDetail' {} a -> s {createdDate = a} :: CollectionDetail)++-- | Collection-specific endpoint used to access OpenSearch Dashboards.+collectionDetail_dashboardEndpoint :: Lens.Lens' CollectionDetail (Prelude.Maybe Prelude.Text)+collectionDetail_dashboardEndpoint = Lens.lens (\CollectionDetail' {dashboardEndpoint} -> dashboardEndpoint) (\s@CollectionDetail' {} a -> s {dashboardEndpoint = a} :: CollectionDetail)++-- | A description of the collection.+collectionDetail_description :: Lens.Lens' CollectionDetail (Prelude.Maybe Prelude.Text)+collectionDetail_description = Lens.lens (\CollectionDetail' {description} -> description) (\s@CollectionDetail' {} a -> s {description = a} :: CollectionDetail)++-- | A unique identifier for the collection.+collectionDetail_id :: Lens.Lens' CollectionDetail (Prelude.Maybe Prelude.Text)+collectionDetail_id = Lens.lens (\CollectionDetail' {id} -> id) (\s@CollectionDetail' {} a -> s {id = a} :: CollectionDetail)++-- | The ARN of the Amazon Web Services KMS key used to encrypt the+-- collection.+collectionDetail_kmsKeyArn :: Lens.Lens' CollectionDetail (Prelude.Maybe Prelude.Text)+collectionDetail_kmsKeyArn = Lens.lens (\CollectionDetail' {kmsKeyArn} -> kmsKeyArn) (\s@CollectionDetail' {} a -> s {kmsKeyArn = a} :: CollectionDetail)++-- | The date and time when the collection was last modified.+collectionDetail_lastModifiedDate :: Lens.Lens' CollectionDetail (Prelude.Maybe Prelude.Integer)+collectionDetail_lastModifiedDate = Lens.lens (\CollectionDetail' {lastModifiedDate} -> lastModifiedDate) (\s@CollectionDetail' {} a -> s {lastModifiedDate = a} :: CollectionDetail)++-- | The name of the collection.+collectionDetail_name :: Lens.Lens' CollectionDetail (Prelude.Maybe Prelude.Text)+collectionDetail_name = Lens.lens (\CollectionDetail' {name} -> name) (\s@CollectionDetail' {} a -> s {name = a} :: CollectionDetail)++-- | The current status of the collection.+collectionDetail_status :: Lens.Lens' CollectionDetail (Prelude.Maybe CollectionStatus)+collectionDetail_status = Lens.lens (\CollectionDetail' {status} -> status) (\s@CollectionDetail' {} a -> s {status = a} :: CollectionDetail)++-- | The type of collection.+collectionDetail_type :: Lens.Lens' CollectionDetail (Prelude.Maybe CollectionType)+collectionDetail_type = Lens.lens (\CollectionDetail' {type'} -> type') (\s@CollectionDetail' {} a -> s {type' = a} :: CollectionDetail)++instance Data.FromJSON CollectionDetail where+ parseJSON =+ Data.withObject+ "CollectionDetail"+ ( \x ->+ CollectionDetail'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "collectionEndpoint")+ Prelude.<*> (x Data..:? "createdDate")+ Prelude.<*> (x Data..:? "dashboardEndpoint")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "kmsKeyArn")+ Prelude.<*> (x Data..:? "lastModifiedDate")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable CollectionDetail where+ hashWithSalt _salt CollectionDetail' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` collectionEndpoint+ `Prelude.hashWithSalt` createdDate+ `Prelude.hashWithSalt` dashboardEndpoint+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` kmsKeyArn+ `Prelude.hashWithSalt` lastModifiedDate+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` type'++instance Prelude.NFData CollectionDetail where+ rnf CollectionDetail' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf collectionEndpoint+ `Prelude.seq` Prelude.rnf createdDate+ `Prelude.seq` Prelude.rnf dashboardEndpoint+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf kmsKeyArn+ `Prelude.seq` Prelude.rnf lastModifiedDate+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/OpenSearchServerless/Types/CollectionErrorDetail.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.CollectionErrorDetail+-- 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.OpenSearchServerless.Types.CollectionErrorDetail 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++-- | Error information for an OpenSearch Serverless request.+--+-- /See:/ 'newCollectionErrorDetail' smart constructor.+data CollectionErrorDetail = CollectionErrorDetail'+ { -- | The error code for the request. For example, @NOT_FOUND@.+ errorCode :: Prelude.Maybe Prelude.Text,+ -- | A description of the error. For example,+ -- @The specified Collection is not found.@+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | If the request contains collection IDs, the response includes the IDs+ -- provided in the request.+ id :: Prelude.Maybe Prelude.Text,+ -- | If the request contains collection names, the response includes the+ -- names provided in the request.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CollectionErrorDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'collectionErrorDetail_errorCode' - The error code for the request. For example, @NOT_FOUND@.+--+-- 'errorMessage', 'collectionErrorDetail_errorMessage' - A description of the error. For example,+-- @The specified Collection is not found.@+--+-- 'id', 'collectionErrorDetail_id' - If the request contains collection IDs, the response includes the IDs+-- provided in the request.+--+-- 'name', 'collectionErrorDetail_name' - If the request contains collection names, the response includes the+-- names provided in the request.+newCollectionErrorDetail ::+ CollectionErrorDetail+newCollectionErrorDetail =+ CollectionErrorDetail'+ { errorCode = Prelude.Nothing,+ errorMessage = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The error code for the request. For example, @NOT_FOUND@.+collectionErrorDetail_errorCode :: Lens.Lens' CollectionErrorDetail (Prelude.Maybe Prelude.Text)+collectionErrorDetail_errorCode = Lens.lens (\CollectionErrorDetail' {errorCode} -> errorCode) (\s@CollectionErrorDetail' {} a -> s {errorCode = a} :: CollectionErrorDetail)++-- | A description of the error. For example,+-- @The specified Collection is not found.@+collectionErrorDetail_errorMessage :: Lens.Lens' CollectionErrorDetail (Prelude.Maybe Prelude.Text)+collectionErrorDetail_errorMessage = Lens.lens (\CollectionErrorDetail' {errorMessage} -> errorMessage) (\s@CollectionErrorDetail' {} a -> s {errorMessage = a} :: CollectionErrorDetail)++-- | If the request contains collection IDs, the response includes the IDs+-- provided in the request.+collectionErrorDetail_id :: Lens.Lens' CollectionErrorDetail (Prelude.Maybe Prelude.Text)+collectionErrorDetail_id = Lens.lens (\CollectionErrorDetail' {id} -> id) (\s@CollectionErrorDetail' {} a -> s {id = a} :: CollectionErrorDetail)++-- | If the request contains collection names, the response includes the+-- names provided in the request.+collectionErrorDetail_name :: Lens.Lens' CollectionErrorDetail (Prelude.Maybe Prelude.Text)+collectionErrorDetail_name = Lens.lens (\CollectionErrorDetail' {name} -> name) (\s@CollectionErrorDetail' {} a -> s {name = a} :: CollectionErrorDetail)++instance Data.FromJSON CollectionErrorDetail where+ parseJSON =+ Data.withObject+ "CollectionErrorDetail"+ ( \x ->+ CollectionErrorDetail'+ Prelude.<$> (x Data..:? "errorCode")+ Prelude.<*> (x Data..:? "errorMessage")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ )++instance Prelude.Hashable CollectionErrorDetail where+ hashWithSalt _salt CollectionErrorDetail' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name++instance Prelude.NFData CollectionErrorDetail where+ rnf CollectionErrorDetail' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/OpenSearchServerless/Types/CollectionFilters.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.CollectionFilters+-- 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.OpenSearchServerless.Types.CollectionFilters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.CollectionStatus+import qualified Amazonka.Prelude as Prelude++-- | List of filter keys that you can use for LIST, UPDATE, and DELETE+-- requests to OpenSearch Serverless collections.+--+-- /See:/ 'newCollectionFilters' smart constructor.+data CollectionFilters = CollectionFilters'+ { -- | The name of the collection.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the collection.+ status :: Prelude.Maybe CollectionStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CollectionFilters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'collectionFilters_name' - The name of the collection.+--+-- 'status', 'collectionFilters_status' - The current status of the collection.+newCollectionFilters ::+ CollectionFilters+newCollectionFilters =+ CollectionFilters'+ { name = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The name of the collection.+collectionFilters_name :: Lens.Lens' CollectionFilters (Prelude.Maybe Prelude.Text)+collectionFilters_name = Lens.lens (\CollectionFilters' {name} -> name) (\s@CollectionFilters' {} a -> s {name = a} :: CollectionFilters)++-- | The current status of the collection.+collectionFilters_status :: Lens.Lens' CollectionFilters (Prelude.Maybe CollectionStatus)+collectionFilters_status = Lens.lens (\CollectionFilters' {status} -> status) (\s@CollectionFilters' {} a -> s {status = a} :: CollectionFilters)++instance Prelude.Hashable CollectionFilters where+ hashWithSalt _salt CollectionFilters' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData CollectionFilters where+ rnf CollectionFilters' {..} =+ Prelude.rnf name `Prelude.seq` Prelude.rnf status++instance Data.ToJSON CollectionFilters where+ toJSON CollectionFilters' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("name" Data..=) Prelude.<$> name,+ ("status" Data..=) Prelude.<$> status+ ]+ )
+ gen/Amazonka/OpenSearchServerless/Types/CollectionStatus.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.CollectionStatus+-- 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.OpenSearchServerless.Types.CollectionStatus+ ( CollectionStatus+ ( ..,+ CollectionStatus_ACTIVE,+ CollectionStatus_CREATING,+ CollectionStatus_DELETING,+ CollectionStatus_FAILED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CollectionStatus = CollectionStatus'+ { fromCollectionStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CollectionStatus_ACTIVE :: CollectionStatus+pattern CollectionStatus_ACTIVE = CollectionStatus' "ACTIVE"++pattern CollectionStatus_CREATING :: CollectionStatus+pattern CollectionStatus_CREATING = CollectionStatus' "CREATING"++pattern CollectionStatus_DELETING :: CollectionStatus+pattern CollectionStatus_DELETING = CollectionStatus' "DELETING"++pattern CollectionStatus_FAILED :: CollectionStatus+pattern CollectionStatus_FAILED = CollectionStatus' "FAILED"++{-# COMPLETE+ CollectionStatus_ACTIVE,+ CollectionStatus_CREATING,+ CollectionStatus_DELETING,+ CollectionStatus_FAILED,+ CollectionStatus'+ #-}
+ gen/Amazonka/OpenSearchServerless/Types/CollectionSummary.hs view
@@ -0,0 +1,109 @@+{-# 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.OpenSearchServerless.Types.CollectionSummary+-- 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.OpenSearchServerless.Types.CollectionSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.CollectionStatus+import qualified Amazonka.Prelude as Prelude++-- | Details about each OpenSearch Serverless collection.+--+-- /See:/ 'newCollectionSummary' smart constructor.+data CollectionSummary = CollectionSummary'+ { -- | The Amazon Resource Name (ARN) of the collection.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the collection.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the collection.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the collection.+ status :: Prelude.Maybe CollectionStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CollectionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'collectionSummary_arn' - The Amazon Resource Name (ARN) of the collection.+--+-- 'id', 'collectionSummary_id' - The unique identifier of the collection.+--+-- 'name', 'collectionSummary_name' - The name of the collection.+--+-- 'status', 'collectionSummary_status' - The current status of the collection.+newCollectionSummary ::+ CollectionSummary+newCollectionSummary =+ CollectionSummary'+ { arn = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the collection.+collectionSummary_arn :: Lens.Lens' CollectionSummary (Prelude.Maybe Prelude.Text)+collectionSummary_arn = Lens.lens (\CollectionSummary' {arn} -> arn) (\s@CollectionSummary' {} a -> s {arn = a} :: CollectionSummary)++-- | The unique identifier of the collection.+collectionSummary_id :: Lens.Lens' CollectionSummary (Prelude.Maybe Prelude.Text)+collectionSummary_id = Lens.lens (\CollectionSummary' {id} -> id) (\s@CollectionSummary' {} a -> s {id = a} :: CollectionSummary)++-- | The name of the collection.+collectionSummary_name :: Lens.Lens' CollectionSummary (Prelude.Maybe Prelude.Text)+collectionSummary_name = Lens.lens (\CollectionSummary' {name} -> name) (\s@CollectionSummary' {} a -> s {name = a} :: CollectionSummary)++-- | The current status of the collection.+collectionSummary_status :: Lens.Lens' CollectionSummary (Prelude.Maybe CollectionStatus)+collectionSummary_status = Lens.lens (\CollectionSummary' {status} -> status) (\s@CollectionSummary' {} a -> s {status = a} :: CollectionSummary)++instance Data.FromJSON CollectionSummary where+ parseJSON =+ Data.withObject+ "CollectionSummary"+ ( \x ->+ CollectionSummary'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable CollectionSummary where+ hashWithSalt _salt CollectionSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData CollectionSummary where+ rnf CollectionSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/OpenSearchServerless/Types/CollectionType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.CollectionType+-- 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.OpenSearchServerless.Types.CollectionType+ ( CollectionType+ ( ..,+ CollectionType_SEARCH,+ CollectionType_TIMESERIES+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CollectionType = CollectionType'+ { fromCollectionType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern CollectionType_SEARCH :: CollectionType+pattern CollectionType_SEARCH = CollectionType' "SEARCH"++pattern CollectionType_TIMESERIES :: CollectionType+pattern CollectionType_TIMESERIES = CollectionType' "TIMESERIES"++{-# COMPLETE+ CollectionType_SEARCH,+ CollectionType_TIMESERIES,+ CollectionType'+ #-}
+ gen/Amazonka/OpenSearchServerless/Types/CreateCollectionDetail.hs view
@@ -0,0 +1,173 @@+{-# 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.OpenSearchServerless.Types.CreateCollectionDetail+-- 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.OpenSearchServerless.Types.CreateCollectionDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.CollectionStatus+import Amazonka.OpenSearchServerless.Types.CollectionType+import qualified Amazonka.Prelude as Prelude++-- | Details about the created OpenSearch Serverless collection.+--+-- /See:/ 'newCreateCollectionDetail' smart constructor.+data CreateCollectionDetail = CreateCollectionDetail'+ { -- | The Amazon Resource Name (ARN) of the collection.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The Epoch time when the collection was created.+ createdDate :: Prelude.Maybe Prelude.Integer,+ -- | A description of the collection.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the collection.+ id :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the KMS key with which to encrypt the+ -- collection.+ kmsKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The date and time when the collection was last modified.+ lastModifiedDate :: Prelude.Maybe Prelude.Integer,+ -- | The name of the collection.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the collection.+ status :: Prelude.Maybe CollectionStatus,+ -- | The type of collection.+ type' :: Prelude.Maybe CollectionType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCollectionDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createCollectionDetail_arn' - The Amazon Resource Name (ARN) of the collection.+--+-- 'createdDate', 'createCollectionDetail_createdDate' - The Epoch time when the collection was created.+--+-- 'description', 'createCollectionDetail_description' - A description of the collection.+--+-- 'id', 'createCollectionDetail_id' - The unique identifier of the collection.+--+-- 'kmsKeyArn', 'createCollectionDetail_kmsKeyArn' - The Amazon Resource Name (ARN) of the KMS key with which to encrypt the+-- collection.+--+-- 'lastModifiedDate', 'createCollectionDetail_lastModifiedDate' - The date and time when the collection was last modified.+--+-- 'name', 'createCollectionDetail_name' - The name of the collection.+--+-- 'status', 'createCollectionDetail_status' - The current status of the collection.+--+-- 'type'', 'createCollectionDetail_type' - The type of collection.+newCreateCollectionDetail ::+ CreateCollectionDetail+newCreateCollectionDetail =+ CreateCollectionDetail'+ { arn = Prelude.Nothing,+ createdDate = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ kmsKeyArn = Prelude.Nothing,+ lastModifiedDate = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the collection.+createCollectionDetail_arn :: Lens.Lens' CreateCollectionDetail (Prelude.Maybe Prelude.Text)+createCollectionDetail_arn = Lens.lens (\CreateCollectionDetail' {arn} -> arn) (\s@CreateCollectionDetail' {} a -> s {arn = a} :: CreateCollectionDetail)++-- | The Epoch time when the collection was created.+createCollectionDetail_createdDate :: Lens.Lens' CreateCollectionDetail (Prelude.Maybe Prelude.Integer)+createCollectionDetail_createdDate = Lens.lens (\CreateCollectionDetail' {createdDate} -> createdDate) (\s@CreateCollectionDetail' {} a -> s {createdDate = a} :: CreateCollectionDetail)++-- | A description of the collection.+createCollectionDetail_description :: Lens.Lens' CreateCollectionDetail (Prelude.Maybe Prelude.Text)+createCollectionDetail_description = Lens.lens (\CreateCollectionDetail' {description} -> description) (\s@CreateCollectionDetail' {} a -> s {description = a} :: CreateCollectionDetail)++-- | The unique identifier of the collection.+createCollectionDetail_id :: Lens.Lens' CreateCollectionDetail (Prelude.Maybe Prelude.Text)+createCollectionDetail_id = Lens.lens (\CreateCollectionDetail' {id} -> id) (\s@CreateCollectionDetail' {} a -> s {id = a} :: CreateCollectionDetail)++-- | The Amazon Resource Name (ARN) of the KMS key with which to encrypt the+-- collection.+createCollectionDetail_kmsKeyArn :: Lens.Lens' CreateCollectionDetail (Prelude.Maybe Prelude.Text)+createCollectionDetail_kmsKeyArn = Lens.lens (\CreateCollectionDetail' {kmsKeyArn} -> kmsKeyArn) (\s@CreateCollectionDetail' {} a -> s {kmsKeyArn = a} :: CreateCollectionDetail)++-- | The date and time when the collection was last modified.+createCollectionDetail_lastModifiedDate :: Lens.Lens' CreateCollectionDetail (Prelude.Maybe Prelude.Integer)+createCollectionDetail_lastModifiedDate = Lens.lens (\CreateCollectionDetail' {lastModifiedDate} -> lastModifiedDate) (\s@CreateCollectionDetail' {} a -> s {lastModifiedDate = a} :: CreateCollectionDetail)++-- | The name of the collection.+createCollectionDetail_name :: Lens.Lens' CreateCollectionDetail (Prelude.Maybe Prelude.Text)+createCollectionDetail_name = Lens.lens (\CreateCollectionDetail' {name} -> name) (\s@CreateCollectionDetail' {} a -> s {name = a} :: CreateCollectionDetail)++-- | The current status of the collection.+createCollectionDetail_status :: Lens.Lens' CreateCollectionDetail (Prelude.Maybe CollectionStatus)+createCollectionDetail_status = Lens.lens (\CreateCollectionDetail' {status} -> status) (\s@CreateCollectionDetail' {} a -> s {status = a} :: CreateCollectionDetail)++-- | The type of collection.+createCollectionDetail_type :: Lens.Lens' CreateCollectionDetail (Prelude.Maybe CollectionType)+createCollectionDetail_type = Lens.lens (\CreateCollectionDetail' {type'} -> type') (\s@CreateCollectionDetail' {} a -> s {type' = a} :: CreateCollectionDetail)++instance Data.FromJSON CreateCollectionDetail where+ parseJSON =+ Data.withObject+ "CreateCollectionDetail"+ ( \x ->+ CreateCollectionDetail'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "createdDate")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "kmsKeyArn")+ Prelude.<*> (x Data..:? "lastModifiedDate")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable CreateCollectionDetail where+ hashWithSalt _salt CreateCollectionDetail' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` kmsKeyArn+ `Prelude.hashWithSalt` lastModifiedDate+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` type'++instance Prelude.NFData CreateCollectionDetail where+ rnf CreateCollectionDetail' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf kmsKeyArn+ `Prelude.seq` Prelude.rnf lastModifiedDate+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/OpenSearchServerless/Types/CreateVpcEndpointDetail.hs view
@@ -0,0 +1,99 @@+{-# 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.OpenSearchServerless.Types.CreateVpcEndpointDetail+-- 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.OpenSearchServerless.Types.CreateVpcEndpointDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.VpcEndpointStatus+import qualified Amazonka.Prelude as Prelude++-- | Creation details for an OpenSearch Serverless-managed interface+-- endpoint. For more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html Access Amazon OpenSearch Serverless using an interface endpoint>.+--+-- /See:/ 'newCreateVpcEndpointDetail' smart constructor.+data CreateVpcEndpointDetail = CreateVpcEndpointDetail'+ { -- | The unique identifier of the endpoint.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the endpoint.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status in the endpoint creation process.+ status :: Prelude.Maybe VpcEndpointStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVpcEndpointDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'createVpcEndpointDetail_id' - The unique identifier of the endpoint.+--+-- 'name', 'createVpcEndpointDetail_name' - The name of the endpoint.+--+-- 'status', 'createVpcEndpointDetail_status' - The current status in the endpoint creation process.+newCreateVpcEndpointDetail ::+ CreateVpcEndpointDetail+newCreateVpcEndpointDetail =+ CreateVpcEndpointDetail'+ { id = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The unique identifier of the endpoint.+createVpcEndpointDetail_id :: Lens.Lens' CreateVpcEndpointDetail (Prelude.Maybe Prelude.Text)+createVpcEndpointDetail_id = Lens.lens (\CreateVpcEndpointDetail' {id} -> id) (\s@CreateVpcEndpointDetail' {} a -> s {id = a} :: CreateVpcEndpointDetail)++-- | The name of the endpoint.+createVpcEndpointDetail_name :: Lens.Lens' CreateVpcEndpointDetail (Prelude.Maybe Prelude.Text)+createVpcEndpointDetail_name = Lens.lens (\CreateVpcEndpointDetail' {name} -> name) (\s@CreateVpcEndpointDetail' {} a -> s {name = a} :: CreateVpcEndpointDetail)++-- | The current status in the endpoint creation process.+createVpcEndpointDetail_status :: Lens.Lens' CreateVpcEndpointDetail (Prelude.Maybe VpcEndpointStatus)+createVpcEndpointDetail_status = Lens.lens (\CreateVpcEndpointDetail' {status} -> status) (\s@CreateVpcEndpointDetail' {} a -> s {status = a} :: CreateVpcEndpointDetail)++instance Data.FromJSON CreateVpcEndpointDetail where+ parseJSON =+ Data.withObject+ "CreateVpcEndpointDetail"+ ( \x ->+ CreateVpcEndpointDetail'+ Prelude.<$> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable CreateVpcEndpointDetail where+ hashWithSalt _salt CreateVpcEndpointDetail' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData CreateVpcEndpointDetail where+ rnf CreateVpcEndpointDetail' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/OpenSearchServerless/Types/DeleteCollectionDetail.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.OpenSearchServerless.Types.DeleteCollectionDetail+-- 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.OpenSearchServerless.Types.DeleteCollectionDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.CollectionStatus+import qualified Amazonka.Prelude as Prelude++-- | Details about a deleted OpenSearch Serverless collection.+--+-- /See:/ 'newDeleteCollectionDetail' smart constructor.+data DeleteCollectionDetail = DeleteCollectionDetail'+ { -- | The unique identifier of the collection.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the collection.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the collection.+ status :: Prelude.Maybe CollectionStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCollectionDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteCollectionDetail_id' - The unique identifier of the collection.+--+-- 'name', 'deleteCollectionDetail_name' - The name of the collection.+--+-- 'status', 'deleteCollectionDetail_status' - The current status of the collection.+newDeleteCollectionDetail ::+ DeleteCollectionDetail+newDeleteCollectionDetail =+ DeleteCollectionDetail'+ { id = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The unique identifier of the collection.+deleteCollectionDetail_id :: Lens.Lens' DeleteCollectionDetail (Prelude.Maybe Prelude.Text)+deleteCollectionDetail_id = Lens.lens (\DeleteCollectionDetail' {id} -> id) (\s@DeleteCollectionDetail' {} a -> s {id = a} :: DeleteCollectionDetail)++-- | The name of the collection.+deleteCollectionDetail_name :: Lens.Lens' DeleteCollectionDetail (Prelude.Maybe Prelude.Text)+deleteCollectionDetail_name = Lens.lens (\DeleteCollectionDetail' {name} -> name) (\s@DeleteCollectionDetail' {} a -> s {name = a} :: DeleteCollectionDetail)++-- | The current status of the collection.+deleteCollectionDetail_status :: Lens.Lens' DeleteCollectionDetail (Prelude.Maybe CollectionStatus)+deleteCollectionDetail_status = Lens.lens (\DeleteCollectionDetail' {status} -> status) (\s@DeleteCollectionDetail' {} a -> s {status = a} :: DeleteCollectionDetail)++instance Data.FromJSON DeleteCollectionDetail where+ parseJSON =+ Data.withObject+ "DeleteCollectionDetail"+ ( \x ->+ DeleteCollectionDetail'+ Prelude.<$> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable DeleteCollectionDetail where+ hashWithSalt _salt DeleteCollectionDetail' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData DeleteCollectionDetail where+ rnf DeleteCollectionDetail' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/OpenSearchServerless/Types/DeleteVpcEndpointDetail.hs view
@@ -0,0 +1,98 @@+{-# 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.OpenSearchServerless.Types.DeleteVpcEndpointDetail+-- 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.OpenSearchServerless.Types.DeleteVpcEndpointDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.VpcEndpointStatus+import qualified Amazonka.Prelude as Prelude++-- | Deletion details for an OpenSearch Serverless-managed interface+-- endpoint.+--+-- /See:/ 'newDeleteVpcEndpointDetail' smart constructor.+data DeleteVpcEndpointDetail = DeleteVpcEndpointDetail'+ { -- | The unique identifier of the endpoint.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the endpoint.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the endpoint deletion process.+ status :: Prelude.Maybe VpcEndpointStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVpcEndpointDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteVpcEndpointDetail_id' - The unique identifier of the endpoint.+--+-- 'name', 'deleteVpcEndpointDetail_name' - The name of the endpoint.+--+-- 'status', 'deleteVpcEndpointDetail_status' - The current status of the endpoint deletion process.+newDeleteVpcEndpointDetail ::+ DeleteVpcEndpointDetail+newDeleteVpcEndpointDetail =+ DeleteVpcEndpointDetail'+ { id = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The unique identifier of the endpoint.+deleteVpcEndpointDetail_id :: Lens.Lens' DeleteVpcEndpointDetail (Prelude.Maybe Prelude.Text)+deleteVpcEndpointDetail_id = Lens.lens (\DeleteVpcEndpointDetail' {id} -> id) (\s@DeleteVpcEndpointDetail' {} a -> s {id = a} :: DeleteVpcEndpointDetail)++-- | The name of the endpoint.+deleteVpcEndpointDetail_name :: Lens.Lens' DeleteVpcEndpointDetail (Prelude.Maybe Prelude.Text)+deleteVpcEndpointDetail_name = Lens.lens (\DeleteVpcEndpointDetail' {name} -> name) (\s@DeleteVpcEndpointDetail' {} a -> s {name = a} :: DeleteVpcEndpointDetail)++-- | The current status of the endpoint deletion process.+deleteVpcEndpointDetail_status :: Lens.Lens' DeleteVpcEndpointDetail (Prelude.Maybe VpcEndpointStatus)+deleteVpcEndpointDetail_status = Lens.lens (\DeleteVpcEndpointDetail' {status} -> status) (\s@DeleteVpcEndpointDetail' {} a -> s {status = a} :: DeleteVpcEndpointDetail)++instance Data.FromJSON DeleteVpcEndpointDetail where+ parseJSON =+ Data.withObject+ "DeleteVpcEndpointDetail"+ ( \x ->+ DeleteVpcEndpointDetail'+ Prelude.<$> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable DeleteVpcEndpointDetail where+ hashWithSalt _salt DeleteVpcEndpointDetail' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData DeleteVpcEndpointDetail where+ rnf DeleteVpcEndpointDetail' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/OpenSearchServerless/Types/Document.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.OpenSearchServerless.Types.Document+-- 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.OpenSearchServerless.Types.Document 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++-- | /See:/ 'newDocument' smart constructor.+data Document = Document'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Document' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDocument ::+ Document+newDocument = Document'++instance Data.FromJSON Document where+ parseJSON =+ Data.withObject+ "Document"+ (\x -> Prelude.pure Document')++instance Prelude.Hashable Document where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData Document where+ rnf _ = ()
+ gen/Amazonka/OpenSearchServerless/Types/SamlConfigOptions.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.SamlConfigOptions+-- 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.OpenSearchServerless.Types.SamlConfigOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes SAML options for an OpenSearch Serverless security+-- configuration in the form of a key-value map.+--+-- /See:/ 'newSamlConfigOptions' smart constructor.+data SamlConfigOptions = SamlConfigOptions'+ { -- | The group attribute for this SAML integration.+ groupAttribute :: Prelude.Maybe Prelude.Text,+ -- | The session timeout, in minutes. Minimum is 15 minutes and maximum is+ -- 1440 minutes (24 hours or 1 day). Default is 60 minutes.+ sessionTimeout :: Prelude.Maybe Prelude.Natural,+ -- | A user attribute for this SAML integration.+ userAttribute :: Prelude.Maybe Prelude.Text,+ -- | The XML IdP metadata file generated from your identity provider.+ metadata :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SamlConfigOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupAttribute', 'samlConfigOptions_groupAttribute' - The group attribute for this SAML integration.+--+-- 'sessionTimeout', 'samlConfigOptions_sessionTimeout' - The session timeout, in minutes. Minimum is 15 minutes and maximum is+-- 1440 minutes (24 hours or 1 day). Default is 60 minutes.+--+-- 'userAttribute', 'samlConfigOptions_userAttribute' - A user attribute for this SAML integration.+--+-- 'metadata', 'samlConfigOptions_metadata' - The XML IdP metadata file generated from your identity provider.+newSamlConfigOptions ::+ -- | 'metadata'+ Prelude.Text ->+ SamlConfigOptions+newSamlConfigOptions pMetadata_ =+ SamlConfigOptions'+ { groupAttribute =+ Prelude.Nothing,+ sessionTimeout = Prelude.Nothing,+ userAttribute = Prelude.Nothing,+ metadata = pMetadata_+ }++-- | The group attribute for this SAML integration.+samlConfigOptions_groupAttribute :: Lens.Lens' SamlConfigOptions (Prelude.Maybe Prelude.Text)+samlConfigOptions_groupAttribute = Lens.lens (\SamlConfigOptions' {groupAttribute} -> groupAttribute) (\s@SamlConfigOptions' {} a -> s {groupAttribute = a} :: SamlConfigOptions)++-- | The session timeout, in minutes. Minimum is 15 minutes and maximum is+-- 1440 minutes (24 hours or 1 day). Default is 60 minutes.+samlConfigOptions_sessionTimeout :: Lens.Lens' SamlConfigOptions (Prelude.Maybe Prelude.Natural)+samlConfigOptions_sessionTimeout = Lens.lens (\SamlConfigOptions' {sessionTimeout} -> sessionTimeout) (\s@SamlConfigOptions' {} a -> s {sessionTimeout = a} :: SamlConfigOptions)++-- | A user attribute for this SAML integration.+samlConfigOptions_userAttribute :: Lens.Lens' SamlConfigOptions (Prelude.Maybe Prelude.Text)+samlConfigOptions_userAttribute = Lens.lens (\SamlConfigOptions' {userAttribute} -> userAttribute) (\s@SamlConfigOptions' {} a -> s {userAttribute = a} :: SamlConfigOptions)++-- | The XML IdP metadata file generated from your identity provider.+samlConfigOptions_metadata :: Lens.Lens' SamlConfigOptions Prelude.Text+samlConfigOptions_metadata = Lens.lens (\SamlConfigOptions' {metadata} -> metadata) (\s@SamlConfigOptions' {} a -> s {metadata = a} :: SamlConfigOptions)++instance Data.FromJSON SamlConfigOptions where+ parseJSON =+ Data.withObject+ "SamlConfigOptions"+ ( \x ->+ SamlConfigOptions'+ Prelude.<$> (x Data..:? "groupAttribute")+ Prelude.<*> (x Data..:? "sessionTimeout")+ Prelude.<*> (x Data..:? "userAttribute")+ Prelude.<*> (x Data..: "metadata")+ )++instance Prelude.Hashable SamlConfigOptions where+ hashWithSalt _salt SamlConfigOptions' {..} =+ _salt+ `Prelude.hashWithSalt` groupAttribute+ `Prelude.hashWithSalt` sessionTimeout+ `Prelude.hashWithSalt` userAttribute+ `Prelude.hashWithSalt` metadata++instance Prelude.NFData SamlConfigOptions where+ rnf SamlConfigOptions' {..} =+ Prelude.rnf groupAttribute+ `Prelude.seq` Prelude.rnf sessionTimeout+ `Prelude.seq` Prelude.rnf userAttribute+ `Prelude.seq` Prelude.rnf metadata++instance Data.ToJSON SamlConfigOptions where+ toJSON SamlConfigOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("groupAttribute" Data..=)+ Prelude.<$> groupAttribute,+ ("sessionTimeout" Data..=)+ Prelude.<$> sessionTimeout,+ ("userAttribute" Data..=) Prelude.<$> userAttribute,+ Prelude.Just ("metadata" Data..= metadata)+ ]+ )
+ gen/Amazonka/OpenSearchServerless/Types/SecurityConfigDetail.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.SecurityConfigDetail+-- 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.OpenSearchServerless.Types.SecurityConfigDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.SamlConfigOptions+import Amazonka.OpenSearchServerless.Types.SecurityConfigType+import qualified Amazonka.Prelude as Prelude++-- | Details about a security configuration for OpenSearch Serverless.+--+-- /See:/ 'newSecurityConfigDetail' smart constructor.+data SecurityConfigDetail = SecurityConfigDetail'+ { -- | The version of the security configuration.+ configVersion :: Prelude.Maybe Prelude.Text,+ -- | The date the configuration was created.+ createdDate :: Prelude.Maybe Prelude.Integer,+ -- | The description of the security configuration.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the security configuration.+ id :: Prelude.Maybe Prelude.Text,+ -- | The timestamp of when the configuration was last modified.+ lastModifiedDate :: Prelude.Maybe Prelude.Integer,+ -- | SAML options for the security configuration in the form of a key-value+ -- map.+ samlOptions :: Prelude.Maybe SamlConfigOptions,+ -- | The type of security configuration.+ type' :: Prelude.Maybe SecurityConfigType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SecurityConfigDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configVersion', 'securityConfigDetail_configVersion' - The version of the security configuration.+--+-- 'createdDate', 'securityConfigDetail_createdDate' - The date the configuration was created.+--+-- 'description', 'securityConfigDetail_description' - The description of the security configuration.+--+-- 'id', 'securityConfigDetail_id' - The unique identifier of the security configuration.+--+-- 'lastModifiedDate', 'securityConfigDetail_lastModifiedDate' - The timestamp of when the configuration was last modified.+--+-- 'samlOptions', 'securityConfigDetail_samlOptions' - SAML options for the security configuration in the form of a key-value+-- map.+--+-- 'type'', 'securityConfigDetail_type' - The type of security configuration.+newSecurityConfigDetail ::+ SecurityConfigDetail+newSecurityConfigDetail =+ SecurityConfigDetail'+ { configVersion =+ Prelude.Nothing,+ createdDate = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ lastModifiedDate = Prelude.Nothing,+ samlOptions = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The version of the security configuration.+securityConfigDetail_configVersion :: Lens.Lens' SecurityConfigDetail (Prelude.Maybe Prelude.Text)+securityConfigDetail_configVersion = Lens.lens (\SecurityConfigDetail' {configVersion} -> configVersion) (\s@SecurityConfigDetail' {} a -> s {configVersion = a} :: SecurityConfigDetail)++-- | The date the configuration was created.+securityConfigDetail_createdDate :: Lens.Lens' SecurityConfigDetail (Prelude.Maybe Prelude.Integer)+securityConfigDetail_createdDate = Lens.lens (\SecurityConfigDetail' {createdDate} -> createdDate) (\s@SecurityConfigDetail' {} a -> s {createdDate = a} :: SecurityConfigDetail)++-- | The description of the security configuration.+securityConfigDetail_description :: Lens.Lens' SecurityConfigDetail (Prelude.Maybe Prelude.Text)+securityConfigDetail_description = Lens.lens (\SecurityConfigDetail' {description} -> description) (\s@SecurityConfigDetail' {} a -> s {description = a} :: SecurityConfigDetail)++-- | The unique identifier of the security configuration.+securityConfigDetail_id :: Lens.Lens' SecurityConfigDetail (Prelude.Maybe Prelude.Text)+securityConfigDetail_id = Lens.lens (\SecurityConfigDetail' {id} -> id) (\s@SecurityConfigDetail' {} a -> s {id = a} :: SecurityConfigDetail)++-- | The timestamp of when the configuration was last modified.+securityConfigDetail_lastModifiedDate :: Lens.Lens' SecurityConfigDetail (Prelude.Maybe Prelude.Integer)+securityConfigDetail_lastModifiedDate = Lens.lens (\SecurityConfigDetail' {lastModifiedDate} -> lastModifiedDate) (\s@SecurityConfigDetail' {} a -> s {lastModifiedDate = a} :: SecurityConfigDetail)++-- | SAML options for the security configuration in the form of a key-value+-- map.+securityConfigDetail_samlOptions :: Lens.Lens' SecurityConfigDetail (Prelude.Maybe SamlConfigOptions)+securityConfigDetail_samlOptions = Lens.lens (\SecurityConfigDetail' {samlOptions} -> samlOptions) (\s@SecurityConfigDetail' {} a -> s {samlOptions = a} :: SecurityConfigDetail)++-- | The type of security configuration.+securityConfigDetail_type :: Lens.Lens' SecurityConfigDetail (Prelude.Maybe SecurityConfigType)+securityConfigDetail_type = Lens.lens (\SecurityConfigDetail' {type'} -> type') (\s@SecurityConfigDetail' {} a -> s {type' = a} :: SecurityConfigDetail)++instance Data.FromJSON SecurityConfigDetail where+ parseJSON =+ Data.withObject+ "SecurityConfigDetail"+ ( \x ->+ SecurityConfigDetail'+ Prelude.<$> (x Data..:? "configVersion")+ Prelude.<*> (x Data..:? "createdDate")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastModifiedDate")+ Prelude.<*> (x Data..:? "samlOptions")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable SecurityConfigDetail where+ hashWithSalt _salt SecurityConfigDetail' {..} =+ _salt+ `Prelude.hashWithSalt` configVersion+ `Prelude.hashWithSalt` createdDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastModifiedDate+ `Prelude.hashWithSalt` samlOptions+ `Prelude.hashWithSalt` type'++instance Prelude.NFData SecurityConfigDetail where+ rnf SecurityConfigDetail' {..} =+ Prelude.rnf configVersion+ `Prelude.seq` Prelude.rnf createdDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastModifiedDate+ `Prelude.seq` Prelude.rnf samlOptions+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/OpenSearchServerless/Types/SecurityConfigStats.hs view
@@ -0,0 +1,72 @@+{-# 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.OpenSearchServerless.Types.SecurityConfigStats+-- 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.OpenSearchServerless.Types.SecurityConfigStats 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++-- | Statistics for an OpenSearch Serverless security configuration.+--+-- /See:/ 'newSecurityConfigStats' smart constructor.+data SecurityConfigStats = SecurityConfigStats'+ { -- | The number of security configurations in the current account.+ samlConfigCount :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SecurityConfigStats' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'samlConfigCount', 'securityConfigStats_samlConfigCount' - The number of security configurations in the current account.+newSecurityConfigStats ::+ SecurityConfigStats+newSecurityConfigStats =+ SecurityConfigStats'+ { samlConfigCount =+ Prelude.Nothing+ }++-- | The number of security configurations in the current account.+securityConfigStats_samlConfigCount :: Lens.Lens' SecurityConfigStats (Prelude.Maybe Prelude.Integer)+securityConfigStats_samlConfigCount = Lens.lens (\SecurityConfigStats' {samlConfigCount} -> samlConfigCount) (\s@SecurityConfigStats' {} a -> s {samlConfigCount = a} :: SecurityConfigStats)++instance Data.FromJSON SecurityConfigStats where+ parseJSON =+ Data.withObject+ "SecurityConfigStats"+ ( \x ->+ SecurityConfigStats'+ Prelude.<$> (x Data..:? "SamlConfigCount")+ )++instance Prelude.Hashable SecurityConfigStats where+ hashWithSalt _salt SecurityConfigStats' {..} =+ _salt `Prelude.hashWithSalt` samlConfigCount++instance Prelude.NFData SecurityConfigStats where+ rnf SecurityConfigStats' {..} =+ Prelude.rnf samlConfigCount
+ gen/Amazonka/OpenSearchServerless/Types/SecurityConfigSummary.hs view
@@ -0,0 +1,134 @@+{-# 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.OpenSearchServerless.Types.SecurityConfigSummary+-- 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.OpenSearchServerless.Types.SecurityConfigSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.SecurityConfigType+import qualified Amazonka.Prelude as Prelude++-- | A summary of a security configuration for OpenSearch Serverless.+--+-- /See:/ 'newSecurityConfigSummary' smart constructor.+data SecurityConfigSummary = SecurityConfigSummary'+ { -- | The version of the security configuration.+ configVersion :: Prelude.Maybe Prelude.Text,+ -- | The Epoch time when the security configuration was created.+ createdDate :: Prelude.Maybe Prelude.Integer,+ -- | The description of the security configuration.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the security configuration.+ id :: Prelude.Maybe Prelude.Text,+ -- | The timestamp of when the configuration was last modified.+ lastModifiedDate :: Prelude.Maybe Prelude.Integer,+ -- | The type of security configuration.+ type' :: Prelude.Maybe SecurityConfigType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SecurityConfigSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configVersion', 'securityConfigSummary_configVersion' - The version of the security configuration.+--+-- 'createdDate', 'securityConfigSummary_createdDate' - The Epoch time when the security configuration was created.+--+-- 'description', 'securityConfigSummary_description' - The description of the security configuration.+--+-- 'id', 'securityConfigSummary_id' - The unique identifier of the security configuration.+--+-- 'lastModifiedDate', 'securityConfigSummary_lastModifiedDate' - The timestamp of when the configuration was last modified.+--+-- 'type'', 'securityConfigSummary_type' - The type of security configuration.+newSecurityConfigSummary ::+ SecurityConfigSummary+newSecurityConfigSummary =+ SecurityConfigSummary'+ { configVersion =+ Prelude.Nothing,+ createdDate = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ lastModifiedDate = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The version of the security configuration.+securityConfigSummary_configVersion :: Lens.Lens' SecurityConfigSummary (Prelude.Maybe Prelude.Text)+securityConfigSummary_configVersion = Lens.lens (\SecurityConfigSummary' {configVersion} -> configVersion) (\s@SecurityConfigSummary' {} a -> s {configVersion = a} :: SecurityConfigSummary)++-- | The Epoch time when the security configuration was created.+securityConfigSummary_createdDate :: Lens.Lens' SecurityConfigSummary (Prelude.Maybe Prelude.Integer)+securityConfigSummary_createdDate = Lens.lens (\SecurityConfigSummary' {createdDate} -> createdDate) (\s@SecurityConfigSummary' {} a -> s {createdDate = a} :: SecurityConfigSummary)++-- | The description of the security configuration.+securityConfigSummary_description :: Lens.Lens' SecurityConfigSummary (Prelude.Maybe Prelude.Text)+securityConfigSummary_description = Lens.lens (\SecurityConfigSummary' {description} -> description) (\s@SecurityConfigSummary' {} a -> s {description = a} :: SecurityConfigSummary)++-- | The unique identifier of the security configuration.+securityConfigSummary_id :: Lens.Lens' SecurityConfigSummary (Prelude.Maybe Prelude.Text)+securityConfigSummary_id = Lens.lens (\SecurityConfigSummary' {id} -> id) (\s@SecurityConfigSummary' {} a -> s {id = a} :: SecurityConfigSummary)++-- | The timestamp of when the configuration was last modified.+securityConfigSummary_lastModifiedDate :: Lens.Lens' SecurityConfigSummary (Prelude.Maybe Prelude.Integer)+securityConfigSummary_lastModifiedDate = Lens.lens (\SecurityConfigSummary' {lastModifiedDate} -> lastModifiedDate) (\s@SecurityConfigSummary' {} a -> s {lastModifiedDate = a} :: SecurityConfigSummary)++-- | The type of security configuration.+securityConfigSummary_type :: Lens.Lens' SecurityConfigSummary (Prelude.Maybe SecurityConfigType)+securityConfigSummary_type = Lens.lens (\SecurityConfigSummary' {type'} -> type') (\s@SecurityConfigSummary' {} a -> s {type' = a} :: SecurityConfigSummary)++instance Data.FromJSON SecurityConfigSummary where+ parseJSON =+ Data.withObject+ "SecurityConfigSummary"+ ( \x ->+ SecurityConfigSummary'+ Prelude.<$> (x Data..:? "configVersion")+ Prelude.<*> (x Data..:? "createdDate")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastModifiedDate")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable SecurityConfigSummary where+ hashWithSalt _salt SecurityConfigSummary' {..} =+ _salt+ `Prelude.hashWithSalt` configVersion+ `Prelude.hashWithSalt` createdDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastModifiedDate+ `Prelude.hashWithSalt` type'++instance Prelude.NFData SecurityConfigSummary where+ rnf SecurityConfigSummary' {..} =+ Prelude.rnf configVersion+ `Prelude.seq` Prelude.rnf createdDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastModifiedDate+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/OpenSearchServerless/Types/SecurityConfigType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.SecurityConfigType+-- 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.OpenSearchServerless.Types.SecurityConfigType+ ( SecurityConfigType+ ( ..,+ SecurityConfigType_Saml+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SecurityConfigType = SecurityConfigType'+ { fromSecurityConfigType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern SecurityConfigType_Saml :: SecurityConfigType+pattern SecurityConfigType_Saml = SecurityConfigType' "saml"++{-# COMPLETE+ SecurityConfigType_Saml,+ SecurityConfigType'+ #-}
+ gen/Amazonka/OpenSearchServerless/Types/SecurityPolicyDetail.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.OpenSearchServerless.Types.SecurityPolicyDetail+-- 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.OpenSearchServerless.Types.SecurityPolicyDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.Document+import Amazonka.OpenSearchServerless.Types.SecurityPolicyType+import qualified Amazonka.Prelude as Prelude++-- | Details about an OpenSearch Serverless security policy.+--+-- /See:/ 'newSecurityPolicyDetail' smart constructor.+data SecurityPolicyDetail = SecurityPolicyDetail'+ { -- | The date the policy was created.+ createdDate :: Prelude.Maybe Prelude.Integer,+ -- | The description of the security policy.+ description :: Prelude.Maybe Prelude.Text,+ -- | The timestamp of when the policy was last modified.+ lastModifiedDate :: Prelude.Maybe Prelude.Integer,+ -- | The name of the policy.+ name :: Prelude.Maybe Prelude.Text,+ -- | The JSON policy document without any whitespaces.+ policy :: Prelude.Maybe Document,+ -- | The version of the policy.+ policyVersion :: Prelude.Maybe Prelude.Text,+ -- | The type of security policy.+ type' :: Prelude.Maybe SecurityPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SecurityPolicyDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdDate', 'securityPolicyDetail_createdDate' - The date the policy was created.+--+-- 'description', 'securityPolicyDetail_description' - The description of the security policy.+--+-- 'lastModifiedDate', 'securityPolicyDetail_lastModifiedDate' - The timestamp of when the policy was last modified.+--+-- 'name', 'securityPolicyDetail_name' - The name of the policy.+--+-- 'policy', 'securityPolicyDetail_policy' - The JSON policy document without any whitespaces.+--+-- 'policyVersion', 'securityPolicyDetail_policyVersion' - The version of the policy.+--+-- 'type'', 'securityPolicyDetail_type' - The type of security policy.+newSecurityPolicyDetail ::+ SecurityPolicyDetail+newSecurityPolicyDetail =+ SecurityPolicyDetail'+ { createdDate =+ Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedDate = Prelude.Nothing,+ name = Prelude.Nothing,+ policy = Prelude.Nothing,+ policyVersion = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The date the policy was created.+securityPolicyDetail_createdDate :: Lens.Lens' SecurityPolicyDetail (Prelude.Maybe Prelude.Integer)+securityPolicyDetail_createdDate = Lens.lens (\SecurityPolicyDetail' {createdDate} -> createdDate) (\s@SecurityPolicyDetail' {} a -> s {createdDate = a} :: SecurityPolicyDetail)++-- | The description of the security policy.+securityPolicyDetail_description :: Lens.Lens' SecurityPolicyDetail (Prelude.Maybe Prelude.Text)+securityPolicyDetail_description = Lens.lens (\SecurityPolicyDetail' {description} -> description) (\s@SecurityPolicyDetail' {} a -> s {description = a} :: SecurityPolicyDetail)++-- | The timestamp of when the policy was last modified.+securityPolicyDetail_lastModifiedDate :: Lens.Lens' SecurityPolicyDetail (Prelude.Maybe Prelude.Integer)+securityPolicyDetail_lastModifiedDate = Lens.lens (\SecurityPolicyDetail' {lastModifiedDate} -> lastModifiedDate) (\s@SecurityPolicyDetail' {} a -> s {lastModifiedDate = a} :: SecurityPolicyDetail)++-- | The name of the policy.+securityPolicyDetail_name :: Lens.Lens' SecurityPolicyDetail (Prelude.Maybe Prelude.Text)+securityPolicyDetail_name = Lens.lens (\SecurityPolicyDetail' {name} -> name) (\s@SecurityPolicyDetail' {} a -> s {name = a} :: SecurityPolicyDetail)++-- | The JSON policy document without any whitespaces.+securityPolicyDetail_policy :: Lens.Lens' SecurityPolicyDetail (Prelude.Maybe Document)+securityPolicyDetail_policy = Lens.lens (\SecurityPolicyDetail' {policy} -> policy) (\s@SecurityPolicyDetail' {} a -> s {policy = a} :: SecurityPolicyDetail)++-- | The version of the policy.+securityPolicyDetail_policyVersion :: Lens.Lens' SecurityPolicyDetail (Prelude.Maybe Prelude.Text)+securityPolicyDetail_policyVersion = Lens.lens (\SecurityPolicyDetail' {policyVersion} -> policyVersion) (\s@SecurityPolicyDetail' {} a -> s {policyVersion = a} :: SecurityPolicyDetail)++-- | The type of security policy.+securityPolicyDetail_type :: Lens.Lens' SecurityPolicyDetail (Prelude.Maybe SecurityPolicyType)+securityPolicyDetail_type = Lens.lens (\SecurityPolicyDetail' {type'} -> type') (\s@SecurityPolicyDetail' {} a -> s {type' = a} :: SecurityPolicyDetail)++instance Data.FromJSON SecurityPolicyDetail where+ parseJSON =+ Data.withObject+ "SecurityPolicyDetail"+ ( \x ->+ SecurityPolicyDetail'+ Prelude.<$> (x Data..:? "createdDate")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "lastModifiedDate")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "policy")+ Prelude.<*> (x Data..:? "policyVersion")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable SecurityPolicyDetail where+ hashWithSalt _salt SecurityPolicyDetail' {..} =+ _salt+ `Prelude.hashWithSalt` createdDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastModifiedDate+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` policy+ `Prelude.hashWithSalt` policyVersion+ `Prelude.hashWithSalt` type'++instance Prelude.NFData SecurityPolicyDetail where+ rnf SecurityPolicyDetail' {..} =+ Prelude.rnf createdDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedDate+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf policy+ `Prelude.seq` Prelude.rnf policyVersion+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/OpenSearchServerless/Types/SecurityPolicyStats.hs view
@@ -0,0 +1,85 @@+{-# 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.OpenSearchServerless.Types.SecurityPolicyStats+-- 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.OpenSearchServerless.Types.SecurityPolicyStats 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++-- | Statistics for an OpenSearch Serverless security policy.+--+-- /See:/ 'newSecurityPolicyStats' smart constructor.+data SecurityPolicyStats = SecurityPolicyStats'+ { -- | The number of encryption policies in the current account.+ encryptionPolicyCount :: Prelude.Maybe Prelude.Integer,+ -- | The number of network policies in the current account.+ networkPolicyCount :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SecurityPolicyStats' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'encryptionPolicyCount', 'securityPolicyStats_encryptionPolicyCount' - The number of encryption policies in the current account.+--+-- 'networkPolicyCount', 'securityPolicyStats_networkPolicyCount' - The number of network policies in the current account.+newSecurityPolicyStats ::+ SecurityPolicyStats+newSecurityPolicyStats =+ SecurityPolicyStats'+ { encryptionPolicyCount =+ Prelude.Nothing,+ networkPolicyCount = Prelude.Nothing+ }++-- | The number of encryption policies in the current account.+securityPolicyStats_encryptionPolicyCount :: Lens.Lens' SecurityPolicyStats (Prelude.Maybe Prelude.Integer)+securityPolicyStats_encryptionPolicyCount = Lens.lens (\SecurityPolicyStats' {encryptionPolicyCount} -> encryptionPolicyCount) (\s@SecurityPolicyStats' {} a -> s {encryptionPolicyCount = a} :: SecurityPolicyStats)++-- | The number of network policies in the current account.+securityPolicyStats_networkPolicyCount :: Lens.Lens' SecurityPolicyStats (Prelude.Maybe Prelude.Integer)+securityPolicyStats_networkPolicyCount = Lens.lens (\SecurityPolicyStats' {networkPolicyCount} -> networkPolicyCount) (\s@SecurityPolicyStats' {} a -> s {networkPolicyCount = a} :: SecurityPolicyStats)++instance Data.FromJSON SecurityPolicyStats where+ parseJSON =+ Data.withObject+ "SecurityPolicyStats"+ ( \x ->+ SecurityPolicyStats'+ Prelude.<$> (x Data..:? "EncryptionPolicyCount")+ Prelude.<*> (x Data..:? "NetworkPolicyCount")+ )++instance Prelude.Hashable SecurityPolicyStats where+ hashWithSalt _salt SecurityPolicyStats' {..} =+ _salt+ `Prelude.hashWithSalt` encryptionPolicyCount+ `Prelude.hashWithSalt` networkPolicyCount++instance Prelude.NFData SecurityPolicyStats where+ rnf SecurityPolicyStats' {..} =+ Prelude.rnf encryptionPolicyCount+ `Prelude.seq` Prelude.rnf networkPolicyCount
+ gen/Amazonka/OpenSearchServerless/Types/SecurityPolicySummary.hs view
@@ -0,0 +1,134 @@+{-# 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.OpenSearchServerless.Types.SecurityPolicySummary+-- 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.OpenSearchServerless.Types.SecurityPolicySummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.SecurityPolicyType+import qualified Amazonka.Prelude as Prelude++-- | A summary of a security policy for OpenSearch Serverless.+--+-- /See:/ 'newSecurityPolicySummary' smart constructor.+data SecurityPolicySummary = SecurityPolicySummary'+ { -- | The date the policy was created.+ createdDate :: Prelude.Maybe Prelude.Integer,+ -- | The description of the security policy.+ description :: Prelude.Maybe Prelude.Text,+ -- | The timestamp of when the policy was last modified.+ lastModifiedDate :: Prelude.Maybe Prelude.Integer,+ -- | The name of the policy.+ name :: Prelude.Maybe Prelude.Text,+ -- | The version of the policy.+ policyVersion :: Prelude.Maybe Prelude.Text,+ -- | The type of security policy.+ type' :: Prelude.Maybe SecurityPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SecurityPolicySummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdDate', 'securityPolicySummary_createdDate' - The date the policy was created.+--+-- 'description', 'securityPolicySummary_description' - The description of the security policy.+--+-- 'lastModifiedDate', 'securityPolicySummary_lastModifiedDate' - The timestamp of when the policy was last modified.+--+-- 'name', 'securityPolicySummary_name' - The name of the policy.+--+-- 'policyVersion', 'securityPolicySummary_policyVersion' - The version of the policy.+--+-- 'type'', 'securityPolicySummary_type' - The type of security policy.+newSecurityPolicySummary ::+ SecurityPolicySummary+newSecurityPolicySummary =+ SecurityPolicySummary'+ { createdDate =+ Prelude.Nothing,+ description = Prelude.Nothing,+ lastModifiedDate = Prelude.Nothing,+ name = Prelude.Nothing,+ policyVersion = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The date the policy was created.+securityPolicySummary_createdDate :: Lens.Lens' SecurityPolicySummary (Prelude.Maybe Prelude.Integer)+securityPolicySummary_createdDate = Lens.lens (\SecurityPolicySummary' {createdDate} -> createdDate) (\s@SecurityPolicySummary' {} a -> s {createdDate = a} :: SecurityPolicySummary)++-- | The description of the security policy.+securityPolicySummary_description :: Lens.Lens' SecurityPolicySummary (Prelude.Maybe Prelude.Text)+securityPolicySummary_description = Lens.lens (\SecurityPolicySummary' {description} -> description) (\s@SecurityPolicySummary' {} a -> s {description = a} :: SecurityPolicySummary)++-- | The timestamp of when the policy was last modified.+securityPolicySummary_lastModifiedDate :: Lens.Lens' SecurityPolicySummary (Prelude.Maybe Prelude.Integer)+securityPolicySummary_lastModifiedDate = Lens.lens (\SecurityPolicySummary' {lastModifiedDate} -> lastModifiedDate) (\s@SecurityPolicySummary' {} a -> s {lastModifiedDate = a} :: SecurityPolicySummary)++-- | The name of the policy.+securityPolicySummary_name :: Lens.Lens' SecurityPolicySummary (Prelude.Maybe Prelude.Text)+securityPolicySummary_name = Lens.lens (\SecurityPolicySummary' {name} -> name) (\s@SecurityPolicySummary' {} a -> s {name = a} :: SecurityPolicySummary)++-- | The version of the policy.+securityPolicySummary_policyVersion :: Lens.Lens' SecurityPolicySummary (Prelude.Maybe Prelude.Text)+securityPolicySummary_policyVersion = Lens.lens (\SecurityPolicySummary' {policyVersion} -> policyVersion) (\s@SecurityPolicySummary' {} a -> s {policyVersion = a} :: SecurityPolicySummary)++-- | The type of security policy.+securityPolicySummary_type :: Lens.Lens' SecurityPolicySummary (Prelude.Maybe SecurityPolicyType)+securityPolicySummary_type = Lens.lens (\SecurityPolicySummary' {type'} -> type') (\s@SecurityPolicySummary' {} a -> s {type' = a} :: SecurityPolicySummary)++instance Data.FromJSON SecurityPolicySummary where+ parseJSON =+ Data.withObject+ "SecurityPolicySummary"+ ( \x ->+ SecurityPolicySummary'+ Prelude.<$> (x Data..:? "createdDate")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "lastModifiedDate")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "policyVersion")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable SecurityPolicySummary where+ hashWithSalt _salt SecurityPolicySummary' {..} =+ _salt+ `Prelude.hashWithSalt` createdDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastModifiedDate+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` policyVersion+ `Prelude.hashWithSalt` type'++instance Prelude.NFData SecurityPolicySummary where+ rnf SecurityPolicySummary' {..} =+ Prelude.rnf createdDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModifiedDate+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf policyVersion+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/OpenSearchServerless/Types/SecurityPolicyType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.SecurityPolicyType+-- 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.OpenSearchServerless.Types.SecurityPolicyType+ ( SecurityPolicyType+ ( ..,+ SecurityPolicyType_Encryption,+ SecurityPolicyType_Network+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SecurityPolicyType = SecurityPolicyType'+ { fromSecurityPolicyType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern SecurityPolicyType_Encryption :: SecurityPolicyType+pattern SecurityPolicyType_Encryption = SecurityPolicyType' "encryption"++pattern SecurityPolicyType_Network :: SecurityPolicyType+pattern SecurityPolicyType_Network = SecurityPolicyType' "network"++{-# COMPLETE+ SecurityPolicyType_Encryption,+ SecurityPolicyType_Network,+ SecurityPolicyType'+ #-}
+ gen/Amazonka/OpenSearchServerless/Types/Tag.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.Tag+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.OpenSearchServerless.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A map of key-value pairs associated to an OpenSearch Serverless+-- resource.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+ { -- | The key to use in the tag.+ key :: Prelude.Text,+ -- | The value of the tag.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - The key to use in the tag.+--+-- 'value', 'tag_value' - The value of the tag.+newTag ::+ -- | 'key'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ Tag+newTag pKey_ pValue_ =+ Tag' {key = pKey_, value = pValue_}++-- | The key to use in the tag.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The value of the tag.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+ parseJSON =+ Data.withObject+ "Tag"+ ( \x ->+ Tag'+ Prelude.<$> (x Data..: "key")+ Prelude.<*> (x Data..: "value")+ )++instance Prelude.Hashable Tag where+ hashWithSalt _salt Tag' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+ rnf Tag' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+ toJSON Tag' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("key" Data..= key),+ Prelude.Just ("value" Data..= value)+ ]+ )
+ gen/Amazonka/OpenSearchServerless/Types/UpdateCollectionDetail.hs view
@@ -0,0 +1,158 @@+{-# 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.OpenSearchServerless.Types.UpdateCollectionDetail+-- 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.OpenSearchServerless.Types.UpdateCollectionDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.CollectionStatus+import Amazonka.OpenSearchServerless.Types.CollectionType+import qualified Amazonka.Prelude as Prelude++-- | Details about an updated OpenSearch Serverless collection.+--+-- /See:/ 'newUpdateCollectionDetail' smart constructor.+data UpdateCollectionDetail = UpdateCollectionDetail'+ { -- | The Amazon Resource Name (ARN) of the collection.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time when the collection was created.+ createdDate :: Prelude.Maybe Prelude.Integer,+ -- | The description of the collection.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the collection.+ id :: Prelude.Maybe Prelude.Text,+ -- | The date and time when the collection was last modified.+ lastModifiedDate :: Prelude.Maybe Prelude.Integer,+ -- | The name of the collection.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the collection.+ status :: Prelude.Maybe CollectionStatus,+ -- | The collection type.+ type' :: Prelude.Maybe CollectionType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCollectionDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateCollectionDetail_arn' - The Amazon Resource Name (ARN) of the collection.+--+-- 'createdDate', 'updateCollectionDetail_createdDate' - The date and time when the collection was created.+--+-- 'description', 'updateCollectionDetail_description' - The description of the collection.+--+-- 'id', 'updateCollectionDetail_id' - The unique identifier of the collection.+--+-- 'lastModifiedDate', 'updateCollectionDetail_lastModifiedDate' - The date and time when the collection was last modified.+--+-- 'name', 'updateCollectionDetail_name' - The name of the collection.+--+-- 'status', 'updateCollectionDetail_status' - The current status of the collection.+--+-- 'type'', 'updateCollectionDetail_type' - The collection type.+newUpdateCollectionDetail ::+ UpdateCollectionDetail+newUpdateCollectionDetail =+ UpdateCollectionDetail'+ { arn = Prelude.Nothing,+ createdDate = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ lastModifiedDate = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the collection.+updateCollectionDetail_arn :: Lens.Lens' UpdateCollectionDetail (Prelude.Maybe Prelude.Text)+updateCollectionDetail_arn = Lens.lens (\UpdateCollectionDetail' {arn} -> arn) (\s@UpdateCollectionDetail' {} a -> s {arn = a} :: UpdateCollectionDetail)++-- | The date and time when the collection was created.+updateCollectionDetail_createdDate :: Lens.Lens' UpdateCollectionDetail (Prelude.Maybe Prelude.Integer)+updateCollectionDetail_createdDate = Lens.lens (\UpdateCollectionDetail' {createdDate} -> createdDate) (\s@UpdateCollectionDetail' {} a -> s {createdDate = a} :: UpdateCollectionDetail)++-- | The description of the collection.+updateCollectionDetail_description :: Lens.Lens' UpdateCollectionDetail (Prelude.Maybe Prelude.Text)+updateCollectionDetail_description = Lens.lens (\UpdateCollectionDetail' {description} -> description) (\s@UpdateCollectionDetail' {} a -> s {description = a} :: UpdateCollectionDetail)++-- | The unique identifier of the collection.+updateCollectionDetail_id :: Lens.Lens' UpdateCollectionDetail (Prelude.Maybe Prelude.Text)+updateCollectionDetail_id = Lens.lens (\UpdateCollectionDetail' {id} -> id) (\s@UpdateCollectionDetail' {} a -> s {id = a} :: UpdateCollectionDetail)++-- | The date and time when the collection was last modified.+updateCollectionDetail_lastModifiedDate :: Lens.Lens' UpdateCollectionDetail (Prelude.Maybe Prelude.Integer)+updateCollectionDetail_lastModifiedDate = Lens.lens (\UpdateCollectionDetail' {lastModifiedDate} -> lastModifiedDate) (\s@UpdateCollectionDetail' {} a -> s {lastModifiedDate = a} :: UpdateCollectionDetail)++-- | The name of the collection.+updateCollectionDetail_name :: Lens.Lens' UpdateCollectionDetail (Prelude.Maybe Prelude.Text)+updateCollectionDetail_name = Lens.lens (\UpdateCollectionDetail' {name} -> name) (\s@UpdateCollectionDetail' {} a -> s {name = a} :: UpdateCollectionDetail)++-- | The current status of the collection.+updateCollectionDetail_status :: Lens.Lens' UpdateCollectionDetail (Prelude.Maybe CollectionStatus)+updateCollectionDetail_status = Lens.lens (\UpdateCollectionDetail' {status} -> status) (\s@UpdateCollectionDetail' {} a -> s {status = a} :: UpdateCollectionDetail)++-- | The collection type.+updateCollectionDetail_type :: Lens.Lens' UpdateCollectionDetail (Prelude.Maybe CollectionType)+updateCollectionDetail_type = Lens.lens (\UpdateCollectionDetail' {type'} -> type') (\s@UpdateCollectionDetail' {} a -> s {type' = a} :: UpdateCollectionDetail)++instance Data.FromJSON UpdateCollectionDetail where+ parseJSON =+ Data.withObject+ "UpdateCollectionDetail"+ ( \x ->+ UpdateCollectionDetail'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "createdDate")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastModifiedDate")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable UpdateCollectionDetail where+ hashWithSalt _salt UpdateCollectionDetail' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdDate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastModifiedDate+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` type'++instance Prelude.NFData UpdateCollectionDetail where+ rnf UpdateCollectionDetail' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdDate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastModifiedDate+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/OpenSearchServerless/Types/UpdateVpcEndpointDetail.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.UpdateVpcEndpointDetail+-- 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.OpenSearchServerless.Types.UpdateVpcEndpointDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.VpcEndpointStatus+import qualified Amazonka.Prelude as Prelude++-- | Update details for an OpenSearch Serverless-managed interface endpoint.+--+-- /See:/ 'newUpdateVpcEndpointDetail' smart constructor.+data UpdateVpcEndpointDetail = UpdateVpcEndpointDetail'+ { -- | The unique identifier of the endpoint.+ id :: Prelude.Maybe Prelude.Text,+ -- | The timestamp of when the endpoint was last modified.+ lastModifiedDate :: Prelude.Maybe Prelude.Integer,+ -- | The name of the endpoint.+ name :: Prelude.Maybe Prelude.Text,+ -- | The unique identifiers of the security groups that define the ports,+ -- protocols, and sources for inbound traffic that you are authorizing into+ -- your endpoint.+ securityGroupIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The current status of the endpoint update process.+ status :: Prelude.Maybe VpcEndpointStatus,+ -- | The ID of the subnets from which you access OpenSearch Serverless.+ subnetIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVpcEndpointDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'updateVpcEndpointDetail_id' - The unique identifier of the endpoint.+--+-- 'lastModifiedDate', 'updateVpcEndpointDetail_lastModifiedDate' - The timestamp of when the endpoint was last modified.+--+-- 'name', 'updateVpcEndpointDetail_name' - The name of the endpoint.+--+-- 'securityGroupIds', 'updateVpcEndpointDetail_securityGroupIds' - The unique identifiers of the security groups that define the ports,+-- protocols, and sources for inbound traffic that you are authorizing into+-- your endpoint.+--+-- 'status', 'updateVpcEndpointDetail_status' - The current status of the endpoint update process.+--+-- 'subnetIds', 'updateVpcEndpointDetail_subnetIds' - The ID of the subnets from which you access OpenSearch Serverless.+newUpdateVpcEndpointDetail ::+ UpdateVpcEndpointDetail+newUpdateVpcEndpointDetail =+ UpdateVpcEndpointDetail'+ { id = Prelude.Nothing,+ lastModifiedDate = Prelude.Nothing,+ name = Prelude.Nothing,+ securityGroupIds = Prelude.Nothing,+ status = Prelude.Nothing,+ subnetIds = Prelude.Nothing+ }++-- | The unique identifier of the endpoint.+updateVpcEndpointDetail_id :: Lens.Lens' UpdateVpcEndpointDetail (Prelude.Maybe Prelude.Text)+updateVpcEndpointDetail_id = Lens.lens (\UpdateVpcEndpointDetail' {id} -> id) (\s@UpdateVpcEndpointDetail' {} a -> s {id = a} :: UpdateVpcEndpointDetail)++-- | The timestamp of when the endpoint was last modified.+updateVpcEndpointDetail_lastModifiedDate :: Lens.Lens' UpdateVpcEndpointDetail (Prelude.Maybe Prelude.Integer)+updateVpcEndpointDetail_lastModifiedDate = Lens.lens (\UpdateVpcEndpointDetail' {lastModifiedDate} -> lastModifiedDate) (\s@UpdateVpcEndpointDetail' {} a -> s {lastModifiedDate = a} :: UpdateVpcEndpointDetail)++-- | The name of the endpoint.+updateVpcEndpointDetail_name :: Lens.Lens' UpdateVpcEndpointDetail (Prelude.Maybe Prelude.Text)+updateVpcEndpointDetail_name = Lens.lens (\UpdateVpcEndpointDetail' {name} -> name) (\s@UpdateVpcEndpointDetail' {} a -> s {name = a} :: UpdateVpcEndpointDetail)++-- | The unique identifiers of the security groups that define the ports,+-- protocols, and sources for inbound traffic that you are authorizing into+-- your endpoint.+updateVpcEndpointDetail_securityGroupIds :: Lens.Lens' UpdateVpcEndpointDetail (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateVpcEndpointDetail_securityGroupIds = Lens.lens (\UpdateVpcEndpointDetail' {securityGroupIds} -> securityGroupIds) (\s@UpdateVpcEndpointDetail' {} a -> s {securityGroupIds = a} :: UpdateVpcEndpointDetail) Prelude.. Lens.mapping Lens.coerced++-- | The current status of the endpoint update process.+updateVpcEndpointDetail_status :: Lens.Lens' UpdateVpcEndpointDetail (Prelude.Maybe VpcEndpointStatus)+updateVpcEndpointDetail_status = Lens.lens (\UpdateVpcEndpointDetail' {status} -> status) (\s@UpdateVpcEndpointDetail' {} a -> s {status = a} :: UpdateVpcEndpointDetail)++-- | The ID of the subnets from which you access OpenSearch Serverless.+updateVpcEndpointDetail_subnetIds :: Lens.Lens' UpdateVpcEndpointDetail (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateVpcEndpointDetail_subnetIds = Lens.lens (\UpdateVpcEndpointDetail' {subnetIds} -> subnetIds) (\s@UpdateVpcEndpointDetail' {} a -> s {subnetIds = a} :: UpdateVpcEndpointDetail) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON UpdateVpcEndpointDetail where+ parseJSON =+ Data.withObject+ "UpdateVpcEndpointDetail"+ ( \x ->+ UpdateVpcEndpointDetail'+ Prelude.<$> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastModifiedDate")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "securityGroupIds")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "subnetIds")+ )++instance Prelude.Hashable UpdateVpcEndpointDetail where+ hashWithSalt _salt UpdateVpcEndpointDetail' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastModifiedDate+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` securityGroupIds+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` subnetIds++instance Prelude.NFData UpdateVpcEndpointDetail where+ rnf UpdateVpcEndpointDetail' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastModifiedDate+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf securityGroupIds+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf subnetIds
+ gen/Amazonka/OpenSearchServerless/Types/VpcEndpointDetail.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.VpcEndpointDetail+-- 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.OpenSearchServerless.Types.VpcEndpointDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.VpcEndpointStatus+import qualified Amazonka.Prelude as Prelude++-- | Details about an OpenSearch Serverless-managed interface endpoint.+--+-- /See:/ 'newVpcEndpointDetail' smart constructor.+data VpcEndpointDetail = VpcEndpointDetail'+ { -- | The date the endpoint was created.+ createdDate :: Prelude.Maybe Prelude.Integer,+ -- | The unique identifier of the endpoint.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the endpoint.+ name :: Prelude.Maybe Prelude.Text,+ -- | The unique identifiers of the security groups that define the ports,+ -- protocols, and sources for inbound traffic that you are authorizing into+ -- your endpoint.+ securityGroupIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The current status of the endpoint.+ status :: Prelude.Maybe VpcEndpointStatus,+ -- | The ID of the subnets from which you access OpenSearch Serverless.+ subnetIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The ID of the VPC from which you access OpenSearch Serverless+ vpcId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcEndpointDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdDate', 'vpcEndpointDetail_createdDate' - The date the endpoint was created.+--+-- 'id', 'vpcEndpointDetail_id' - The unique identifier of the endpoint.+--+-- 'name', 'vpcEndpointDetail_name' - The name of the endpoint.+--+-- 'securityGroupIds', 'vpcEndpointDetail_securityGroupIds' - The unique identifiers of the security groups that define the ports,+-- protocols, and sources for inbound traffic that you are authorizing into+-- your endpoint.+--+-- 'status', 'vpcEndpointDetail_status' - The current status of the endpoint.+--+-- 'subnetIds', 'vpcEndpointDetail_subnetIds' - The ID of the subnets from which you access OpenSearch Serverless.+--+-- 'vpcId', 'vpcEndpointDetail_vpcId' - The ID of the VPC from which you access OpenSearch Serverless+newVpcEndpointDetail ::+ VpcEndpointDetail+newVpcEndpointDetail =+ VpcEndpointDetail'+ { createdDate = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ securityGroupIds = Prelude.Nothing,+ status = Prelude.Nothing,+ subnetIds = Prelude.Nothing,+ vpcId = Prelude.Nothing+ }++-- | The date the endpoint was created.+vpcEndpointDetail_createdDate :: Lens.Lens' VpcEndpointDetail (Prelude.Maybe Prelude.Integer)+vpcEndpointDetail_createdDate = Lens.lens (\VpcEndpointDetail' {createdDate} -> createdDate) (\s@VpcEndpointDetail' {} a -> s {createdDate = a} :: VpcEndpointDetail)++-- | The unique identifier of the endpoint.+vpcEndpointDetail_id :: Lens.Lens' VpcEndpointDetail (Prelude.Maybe Prelude.Text)+vpcEndpointDetail_id = Lens.lens (\VpcEndpointDetail' {id} -> id) (\s@VpcEndpointDetail' {} a -> s {id = a} :: VpcEndpointDetail)++-- | The name of the endpoint.+vpcEndpointDetail_name :: Lens.Lens' VpcEndpointDetail (Prelude.Maybe Prelude.Text)+vpcEndpointDetail_name = Lens.lens (\VpcEndpointDetail' {name} -> name) (\s@VpcEndpointDetail' {} a -> s {name = a} :: VpcEndpointDetail)++-- | The unique identifiers of the security groups that define the ports,+-- protocols, and sources for inbound traffic that you are authorizing into+-- your endpoint.+vpcEndpointDetail_securityGroupIds :: Lens.Lens' VpcEndpointDetail (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+vpcEndpointDetail_securityGroupIds = Lens.lens (\VpcEndpointDetail' {securityGroupIds} -> securityGroupIds) (\s@VpcEndpointDetail' {} a -> s {securityGroupIds = a} :: VpcEndpointDetail) Prelude.. Lens.mapping Lens.coerced++-- | The current status of the endpoint.+vpcEndpointDetail_status :: Lens.Lens' VpcEndpointDetail (Prelude.Maybe VpcEndpointStatus)+vpcEndpointDetail_status = Lens.lens (\VpcEndpointDetail' {status} -> status) (\s@VpcEndpointDetail' {} a -> s {status = a} :: VpcEndpointDetail)++-- | The ID of the subnets from which you access OpenSearch Serverless.+vpcEndpointDetail_subnetIds :: Lens.Lens' VpcEndpointDetail (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+vpcEndpointDetail_subnetIds = Lens.lens (\VpcEndpointDetail' {subnetIds} -> subnetIds) (\s@VpcEndpointDetail' {} a -> s {subnetIds = a} :: VpcEndpointDetail) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the VPC from which you access OpenSearch Serverless+vpcEndpointDetail_vpcId :: Lens.Lens' VpcEndpointDetail (Prelude.Maybe Prelude.Text)+vpcEndpointDetail_vpcId = Lens.lens (\VpcEndpointDetail' {vpcId} -> vpcId) (\s@VpcEndpointDetail' {} a -> s {vpcId = a} :: VpcEndpointDetail)++instance Data.FromJSON VpcEndpointDetail where+ parseJSON =+ Data.withObject+ "VpcEndpointDetail"+ ( \x ->+ VpcEndpointDetail'+ Prelude.<$> (x Data..:? "createdDate")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "securityGroupIds")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "subnetIds")+ Prelude.<*> (x Data..:? "vpcId")+ )++instance Prelude.Hashable VpcEndpointDetail where+ hashWithSalt _salt VpcEndpointDetail' {..} =+ _salt+ `Prelude.hashWithSalt` createdDate+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` securityGroupIds+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` subnetIds+ `Prelude.hashWithSalt` vpcId++instance Prelude.NFData VpcEndpointDetail where+ rnf VpcEndpointDetail' {..} =+ Prelude.rnf createdDate+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf securityGroupIds+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf subnetIds+ `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/OpenSearchServerless/Types/VpcEndpointErrorDetail.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.OpenSearchServerless.Types.VpcEndpointErrorDetail+-- 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.OpenSearchServerless.Types.VpcEndpointErrorDetail 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++-- | Error information for a failed @BatchGetVpcEndpoint@ request.+--+-- /See:/ 'newVpcEndpointErrorDetail' smart constructor.+data VpcEndpointErrorDetail = VpcEndpointErrorDetail'+ { -- | The error code for the failed request.+ errorCode :: Prelude.Maybe Prelude.Text,+ -- | An error message describing the reason for the failure.+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the VPC endpoint.+ id :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcEndpointErrorDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorCode', 'vpcEndpointErrorDetail_errorCode' - The error code for the failed request.+--+-- 'errorMessage', 'vpcEndpointErrorDetail_errorMessage' - An error message describing the reason for the failure.+--+-- 'id', 'vpcEndpointErrorDetail_id' - The unique identifier of the VPC endpoint.+newVpcEndpointErrorDetail ::+ VpcEndpointErrorDetail+newVpcEndpointErrorDetail =+ VpcEndpointErrorDetail'+ { errorCode =+ Prelude.Nothing,+ errorMessage = Prelude.Nothing,+ id = Prelude.Nothing+ }++-- | The error code for the failed request.+vpcEndpointErrorDetail_errorCode :: Lens.Lens' VpcEndpointErrorDetail (Prelude.Maybe Prelude.Text)+vpcEndpointErrorDetail_errorCode = Lens.lens (\VpcEndpointErrorDetail' {errorCode} -> errorCode) (\s@VpcEndpointErrorDetail' {} a -> s {errorCode = a} :: VpcEndpointErrorDetail)++-- | An error message describing the reason for the failure.+vpcEndpointErrorDetail_errorMessage :: Lens.Lens' VpcEndpointErrorDetail (Prelude.Maybe Prelude.Text)+vpcEndpointErrorDetail_errorMessage = Lens.lens (\VpcEndpointErrorDetail' {errorMessage} -> errorMessage) (\s@VpcEndpointErrorDetail' {} a -> s {errorMessage = a} :: VpcEndpointErrorDetail)++-- | The unique identifier of the VPC endpoint.+vpcEndpointErrorDetail_id :: Lens.Lens' VpcEndpointErrorDetail (Prelude.Maybe Prelude.Text)+vpcEndpointErrorDetail_id = Lens.lens (\VpcEndpointErrorDetail' {id} -> id) (\s@VpcEndpointErrorDetail' {} a -> s {id = a} :: VpcEndpointErrorDetail)++instance Data.FromJSON VpcEndpointErrorDetail where+ parseJSON =+ Data.withObject+ "VpcEndpointErrorDetail"+ ( \x ->+ VpcEndpointErrorDetail'+ Prelude.<$> (x Data..:? "errorCode")+ Prelude.<*> (x Data..:? "errorMessage")+ Prelude.<*> (x Data..:? "id")+ )++instance Prelude.Hashable VpcEndpointErrorDetail where+ hashWithSalt _salt VpcEndpointErrorDetail' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` id++instance Prelude.NFData VpcEndpointErrorDetail where+ rnf VpcEndpointErrorDetail' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf id
+ gen/Amazonka/OpenSearchServerless/Types/VpcEndpointFilters.hs view
@@ -0,0 +1,67 @@+{-# 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.OpenSearchServerless.Types.VpcEndpointFilters+-- 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.OpenSearchServerless.Types.VpcEndpointFilters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.VpcEndpointStatus+import qualified Amazonka.Prelude as Prelude++-- | Filter the results of a @ListVpcEndpoints@ request.+--+-- /See:/ 'newVpcEndpointFilters' smart constructor.+data VpcEndpointFilters = VpcEndpointFilters'+ { -- | The current status of the endpoint.+ status :: Prelude.Maybe VpcEndpointStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcEndpointFilters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'vpcEndpointFilters_status' - The current status of the endpoint.+newVpcEndpointFilters ::+ VpcEndpointFilters+newVpcEndpointFilters =+ VpcEndpointFilters' {status = Prelude.Nothing}++-- | The current status of the endpoint.+vpcEndpointFilters_status :: Lens.Lens' VpcEndpointFilters (Prelude.Maybe VpcEndpointStatus)+vpcEndpointFilters_status = Lens.lens (\VpcEndpointFilters' {status} -> status) (\s@VpcEndpointFilters' {} a -> s {status = a} :: VpcEndpointFilters)++instance Prelude.Hashable VpcEndpointFilters where+ hashWithSalt _salt VpcEndpointFilters' {..} =+ _salt `Prelude.hashWithSalt` status++instance Prelude.NFData VpcEndpointFilters where+ rnf VpcEndpointFilters' {..} = Prelude.rnf status++instance Data.ToJSON VpcEndpointFilters where+ toJSON VpcEndpointFilters' {..} =+ Data.object+ ( Prelude.catMaybes+ [("status" Data..=) Prelude.<$> status]+ )
+ gen/Amazonka/OpenSearchServerless/Types/VpcEndpointStatus.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.Types.VpcEndpointStatus+-- 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.OpenSearchServerless.Types.VpcEndpointStatus+ ( VpcEndpointStatus+ ( ..,+ VpcEndpointStatus_ACTIVE,+ VpcEndpointStatus_DELETING,+ VpcEndpointStatus_FAILED,+ VpcEndpointStatus_PENDING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VpcEndpointStatus = VpcEndpointStatus'+ { fromVpcEndpointStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern VpcEndpointStatus_ACTIVE :: VpcEndpointStatus+pattern VpcEndpointStatus_ACTIVE = VpcEndpointStatus' "ACTIVE"++pattern VpcEndpointStatus_DELETING :: VpcEndpointStatus+pattern VpcEndpointStatus_DELETING = VpcEndpointStatus' "DELETING"++pattern VpcEndpointStatus_FAILED :: VpcEndpointStatus+pattern VpcEndpointStatus_FAILED = VpcEndpointStatus' "FAILED"++pattern VpcEndpointStatus_PENDING :: VpcEndpointStatus+pattern VpcEndpointStatus_PENDING = VpcEndpointStatus' "PENDING"++{-# COMPLETE+ VpcEndpointStatus_ACTIVE,+ VpcEndpointStatus_DELETING,+ VpcEndpointStatus_FAILED,+ VpcEndpointStatus_PENDING,+ VpcEndpointStatus'+ #-}
+ gen/Amazonka/OpenSearchServerless/Types/VpcEndpointSummary.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.OpenSearchServerless.Types.VpcEndpointSummary+-- 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.OpenSearchServerless.Types.VpcEndpointSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types.VpcEndpointStatus+import qualified Amazonka.Prelude as Prelude++-- | The VPC endpoint object.+--+-- /See:/ 'newVpcEndpointSummary' smart constructor.+data VpcEndpointSummary = VpcEndpointSummary'+ { -- | The unique identifier of the endpoint.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the endpoint.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the endpoint.+ status :: Prelude.Maybe VpcEndpointStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcEndpointSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'vpcEndpointSummary_id' - The unique identifier of the endpoint.+--+-- 'name', 'vpcEndpointSummary_name' - The name of the endpoint.+--+-- 'status', 'vpcEndpointSummary_status' - The current status of the endpoint.+newVpcEndpointSummary ::+ VpcEndpointSummary+newVpcEndpointSummary =+ VpcEndpointSummary'+ { id = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The unique identifier of the endpoint.+vpcEndpointSummary_id :: Lens.Lens' VpcEndpointSummary (Prelude.Maybe Prelude.Text)+vpcEndpointSummary_id = Lens.lens (\VpcEndpointSummary' {id} -> id) (\s@VpcEndpointSummary' {} a -> s {id = a} :: VpcEndpointSummary)++-- | The name of the endpoint.+vpcEndpointSummary_name :: Lens.Lens' VpcEndpointSummary (Prelude.Maybe Prelude.Text)+vpcEndpointSummary_name = Lens.lens (\VpcEndpointSummary' {name} -> name) (\s@VpcEndpointSummary' {} a -> s {name = a} :: VpcEndpointSummary)++-- | The current status of the endpoint.+vpcEndpointSummary_status :: Lens.Lens' VpcEndpointSummary (Prelude.Maybe VpcEndpointStatus)+vpcEndpointSummary_status = Lens.lens (\VpcEndpointSummary' {status} -> status) (\s@VpcEndpointSummary' {} a -> s {status = a} :: VpcEndpointSummary)++instance Data.FromJSON VpcEndpointSummary where+ parseJSON =+ Data.withObject+ "VpcEndpointSummary"+ ( \x ->+ VpcEndpointSummary'+ Prelude.<$> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable VpcEndpointSummary where+ hashWithSalt _salt VpcEndpointSummary' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData VpcEndpointSummary where+ rnf VpcEndpointSummary' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/OpenSearchServerless/UntagResource.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes a tag or set of tags from an OpenSearch Serverless resource. For+-- more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-collection.html Tagging Amazon OpenSearch Serverless collections>.+module Amazonka.OpenSearchServerless.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The Amazon Resource Name (ARN) of the resource to remove tags from. The+ -- resource must be active (not in the @DELETING@ state), and must be owned+ -- by the account ID included in the request.+ resourceArn :: Prelude.Text,+ -- | The tag or set of tags to remove from the resource. All tag keys in the+ -- request must be unique.+ tagKeys :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource to remove tags from. The+-- resource must be active (not in the @DELETING@ state), and must be owned+-- by the account ID included in the request.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag or set of tags to remove from the resource. All tag keys in the+-- request must be unique.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the resource to remove tags from. The+-- resource must be active (not in the @DELETING@ state), and must be owned+-- by the account ID included in the request.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tag or set of tags to remove from the resource. All tag keys in the+-- request must be unique.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.UntagResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UntagResource where+ toJSON UntagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("resourceArn" Data..= resourceArn),+ Prelude.Just ("tagKeys" Data..= tagKeys)+ ]+ )++instance Data.ToPath UntagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/UpdateAccessPolicy.hs view
@@ -0,0 +1,247 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.UpdateAccessPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an OpenSearch Serverless access policy. For more information,+-- see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html Data access control for Amazon OpenSearch Serverless>.+module Amazonka.OpenSearchServerless.UpdateAccessPolicy+ ( -- * Creating a Request+ UpdateAccessPolicy (..),+ newUpdateAccessPolicy,++ -- * Request Lenses+ updateAccessPolicy_clientToken,+ updateAccessPolicy_description,+ updateAccessPolicy_policy,+ updateAccessPolicy_name,+ updateAccessPolicy_policyVersion,+ updateAccessPolicy_type,++ -- * Destructuring the Response+ UpdateAccessPolicyResponse (..),+ newUpdateAccessPolicyResponse,++ -- * Response Lenses+ updateAccessPolicyResponse_accessPolicyDetail,+ updateAccessPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAccessPolicy' smart constructor.+data UpdateAccessPolicy = UpdateAccessPolicy'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A description of the policy. Typically used to store information about+ -- the permissions defined in the policy.+ description :: Prelude.Maybe Prelude.Text,+ -- | The JSON policy document to use as the content for the policy.+ policy :: Prelude.Maybe Prelude.Text,+ -- | The name of the policy.+ name :: Prelude.Text,+ -- | The version of the policy being updated.+ policyVersion :: Prelude.Text,+ -- | The type of policy.+ type' :: AccessPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccessPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateAccessPolicy_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'description', 'updateAccessPolicy_description' - A description of the policy. Typically used to store information about+-- the permissions defined in the policy.+--+-- 'policy', 'updateAccessPolicy_policy' - The JSON policy document to use as the content for the policy.+--+-- 'name', 'updateAccessPolicy_name' - The name of the policy.+--+-- 'policyVersion', 'updateAccessPolicy_policyVersion' - The version of the policy being updated.+--+-- 'type'', 'updateAccessPolicy_type' - The type of policy.+newUpdateAccessPolicy ::+ -- | 'name'+ Prelude.Text ->+ -- | 'policyVersion'+ Prelude.Text ->+ -- | 'type''+ AccessPolicyType ->+ UpdateAccessPolicy+newUpdateAccessPolicy pName_ pPolicyVersion_ pType_ =+ UpdateAccessPolicy'+ { clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ policy = Prelude.Nothing,+ name = pName_,+ policyVersion = pPolicyVersion_,+ type' = pType_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+updateAccessPolicy_clientToken :: Lens.Lens' UpdateAccessPolicy (Prelude.Maybe Prelude.Text)+updateAccessPolicy_clientToken = Lens.lens (\UpdateAccessPolicy' {clientToken} -> clientToken) (\s@UpdateAccessPolicy' {} a -> s {clientToken = a} :: UpdateAccessPolicy)++-- | A description of the policy. Typically used to store information about+-- the permissions defined in the policy.+updateAccessPolicy_description :: Lens.Lens' UpdateAccessPolicy (Prelude.Maybe Prelude.Text)+updateAccessPolicy_description = Lens.lens (\UpdateAccessPolicy' {description} -> description) (\s@UpdateAccessPolicy' {} a -> s {description = a} :: UpdateAccessPolicy)++-- | The JSON policy document to use as the content for the policy.+updateAccessPolicy_policy :: Lens.Lens' UpdateAccessPolicy (Prelude.Maybe Prelude.Text)+updateAccessPolicy_policy = Lens.lens (\UpdateAccessPolicy' {policy} -> policy) (\s@UpdateAccessPolicy' {} a -> s {policy = a} :: UpdateAccessPolicy)++-- | The name of the policy.+updateAccessPolicy_name :: Lens.Lens' UpdateAccessPolicy Prelude.Text+updateAccessPolicy_name = Lens.lens (\UpdateAccessPolicy' {name} -> name) (\s@UpdateAccessPolicy' {} a -> s {name = a} :: UpdateAccessPolicy)++-- | The version of the policy being updated.+updateAccessPolicy_policyVersion :: Lens.Lens' UpdateAccessPolicy Prelude.Text+updateAccessPolicy_policyVersion = Lens.lens (\UpdateAccessPolicy' {policyVersion} -> policyVersion) (\s@UpdateAccessPolicy' {} a -> s {policyVersion = a} :: UpdateAccessPolicy)++-- | The type of policy.+updateAccessPolicy_type :: Lens.Lens' UpdateAccessPolicy AccessPolicyType+updateAccessPolicy_type = Lens.lens (\UpdateAccessPolicy' {type'} -> type') (\s@UpdateAccessPolicy' {} a -> s {type' = a} :: UpdateAccessPolicy)++instance Core.AWSRequest UpdateAccessPolicy where+ type+ AWSResponse UpdateAccessPolicy =+ UpdateAccessPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAccessPolicyResponse'+ Prelude.<$> (x Data..?> "accessPolicyDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateAccessPolicy where+ hashWithSalt _salt UpdateAccessPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` policy+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` policyVersion+ `Prelude.hashWithSalt` type'++instance Prelude.NFData UpdateAccessPolicy where+ rnf UpdateAccessPolicy' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf policy+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf policyVersion+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders UpdateAccessPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.UpdateAccessPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAccessPolicy where+ toJSON UpdateAccessPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ ("policy" Data..=) Prelude.<$> policy,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("policyVersion" Data..= policyVersion),+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath UpdateAccessPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateAccessPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAccessPolicyResponse' smart constructor.+data UpdateAccessPolicyResponse = UpdateAccessPolicyResponse'+ { -- | Details about the updated access policy.+ accessPolicyDetail :: Prelude.Maybe AccessPolicyDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccessPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessPolicyDetail', 'updateAccessPolicyResponse_accessPolicyDetail' - Details about the updated access policy.+--+-- 'httpStatus', 'updateAccessPolicyResponse_httpStatus' - The response's http status code.+newUpdateAccessPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAccessPolicyResponse+newUpdateAccessPolicyResponse pHttpStatus_ =+ UpdateAccessPolicyResponse'+ { accessPolicyDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the updated access policy.+updateAccessPolicyResponse_accessPolicyDetail :: Lens.Lens' UpdateAccessPolicyResponse (Prelude.Maybe AccessPolicyDetail)+updateAccessPolicyResponse_accessPolicyDetail = Lens.lens (\UpdateAccessPolicyResponse' {accessPolicyDetail} -> accessPolicyDetail) (\s@UpdateAccessPolicyResponse' {} a -> s {accessPolicyDetail = a} :: UpdateAccessPolicyResponse)++-- | The response's http status code.+updateAccessPolicyResponse_httpStatus :: Lens.Lens' UpdateAccessPolicyResponse Prelude.Int+updateAccessPolicyResponse_httpStatus = Lens.lens (\UpdateAccessPolicyResponse' {httpStatus} -> httpStatus) (\s@UpdateAccessPolicyResponse' {} a -> s {httpStatus = a} :: UpdateAccessPolicyResponse)++instance Prelude.NFData UpdateAccessPolicyResponse where+ rnf UpdateAccessPolicyResponse' {..} =+ Prelude.rnf accessPolicyDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/UpdateAccountSettings.hs view
@@ -0,0 +1,176 @@+{-# 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.OpenSearchServerless.UpdateAccountSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update the OpenSearch Serverless settings for the current Amazon Web+-- Services account. For more information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-overview.html#serverless-scaling Autoscaling>.+module Amazonka.OpenSearchServerless.UpdateAccountSettings+ ( -- * Creating a Request+ UpdateAccountSettings (..),+ newUpdateAccountSettings,++ -- * Request Lenses+ updateAccountSettings_capacityLimits,++ -- * Destructuring the Response+ UpdateAccountSettingsResponse (..),+ newUpdateAccountSettingsResponse,++ -- * Response Lenses+ updateAccountSettingsResponse_accountSettingsDetail,+ updateAccountSettingsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAccountSettings' smart constructor.+data UpdateAccountSettings = UpdateAccountSettings'+ { capacityLimits :: Prelude.Maybe CapacityLimits+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccountSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'capacityLimits', 'updateAccountSettings_capacityLimits' - Undocumented member.+newUpdateAccountSettings ::+ UpdateAccountSettings+newUpdateAccountSettings =+ UpdateAccountSettings'+ { capacityLimits =+ Prelude.Nothing+ }++-- | Undocumented member.+updateAccountSettings_capacityLimits :: Lens.Lens' UpdateAccountSettings (Prelude.Maybe CapacityLimits)+updateAccountSettings_capacityLimits = Lens.lens (\UpdateAccountSettings' {capacityLimits} -> capacityLimits) (\s@UpdateAccountSettings' {} a -> s {capacityLimits = a} :: UpdateAccountSettings)++instance Core.AWSRequest UpdateAccountSettings where+ type+ AWSResponse UpdateAccountSettings =+ UpdateAccountSettingsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAccountSettingsResponse'+ Prelude.<$> (x Data..?> "accountSettingsDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateAccountSettings where+ hashWithSalt _salt UpdateAccountSettings' {..} =+ _salt `Prelude.hashWithSalt` capacityLimits++instance Prelude.NFData UpdateAccountSettings where+ rnf UpdateAccountSettings' {..} =+ Prelude.rnf capacityLimits++instance Data.ToHeaders UpdateAccountSettings where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.UpdateAccountSettings" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAccountSettings where+ toJSON UpdateAccountSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("capacityLimits" Data..=)+ Prelude.<$> capacityLimits+ ]+ )++instance Data.ToPath UpdateAccountSettings where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateAccountSettings where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAccountSettingsResponse' smart constructor.+data UpdateAccountSettingsResponse = UpdateAccountSettingsResponse'+ { -- | OpenSearch Serverless-related settings for the current Amazon Web+ -- Services account.+ accountSettingsDetail :: Prelude.Maybe AccountSettingsDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAccountSettingsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountSettingsDetail', 'updateAccountSettingsResponse_accountSettingsDetail' - OpenSearch Serverless-related settings for the current Amazon Web+-- Services account.+--+-- 'httpStatus', 'updateAccountSettingsResponse_httpStatus' - The response's http status code.+newUpdateAccountSettingsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAccountSettingsResponse+newUpdateAccountSettingsResponse pHttpStatus_ =+ UpdateAccountSettingsResponse'+ { accountSettingsDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | OpenSearch Serverless-related settings for the current Amazon Web+-- Services account.+updateAccountSettingsResponse_accountSettingsDetail :: Lens.Lens' UpdateAccountSettingsResponse (Prelude.Maybe AccountSettingsDetail)+updateAccountSettingsResponse_accountSettingsDetail = Lens.lens (\UpdateAccountSettingsResponse' {accountSettingsDetail} -> accountSettingsDetail) (\s@UpdateAccountSettingsResponse' {} a -> s {accountSettingsDetail = a} :: UpdateAccountSettingsResponse)++-- | The response's http status code.+updateAccountSettingsResponse_httpStatus :: Lens.Lens' UpdateAccountSettingsResponse Prelude.Int+updateAccountSettingsResponse_httpStatus = Lens.lens (\UpdateAccountSettingsResponse' {httpStatus} -> httpStatus) (\s@UpdateAccountSettingsResponse' {} a -> s {httpStatus = a} :: UpdateAccountSettingsResponse)++instance Prelude.NFData UpdateAccountSettingsResponse where+ rnf UpdateAccountSettingsResponse' {..} =+ Prelude.rnf accountSettingsDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/UpdateCollection.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.UpdateCollection+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an OpenSearch Serverless collection.+module Amazonka.OpenSearchServerless.UpdateCollection+ ( -- * Creating a Request+ UpdateCollection (..),+ newUpdateCollection,++ -- * Request Lenses+ updateCollection_clientToken,+ updateCollection_description,+ updateCollection_id,++ -- * Destructuring the Response+ UpdateCollectionResponse (..),+ newUpdateCollectionResponse,++ -- * Response Lenses+ updateCollectionResponse_updateCollectionDetail,+ updateCollectionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateCollection' smart constructor.+data UpdateCollection = UpdateCollection'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A description of the collection.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier of the collection.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCollection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateCollection_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'description', 'updateCollection_description' - A description of the collection.+--+-- 'id', 'updateCollection_id' - The unique identifier of the collection.+newUpdateCollection ::+ -- | 'id'+ Prelude.Text ->+ UpdateCollection+newUpdateCollection pId_ =+ UpdateCollection'+ { clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ id = pId_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+updateCollection_clientToken :: Lens.Lens' UpdateCollection (Prelude.Maybe Prelude.Text)+updateCollection_clientToken = Lens.lens (\UpdateCollection' {clientToken} -> clientToken) (\s@UpdateCollection' {} a -> s {clientToken = a} :: UpdateCollection)++-- | A description of the collection.+updateCollection_description :: Lens.Lens' UpdateCollection (Prelude.Maybe Prelude.Text)+updateCollection_description = Lens.lens (\UpdateCollection' {description} -> description) (\s@UpdateCollection' {} a -> s {description = a} :: UpdateCollection)++-- | The unique identifier of the collection.+updateCollection_id :: Lens.Lens' UpdateCollection Prelude.Text+updateCollection_id = Lens.lens (\UpdateCollection' {id} -> id) (\s@UpdateCollection' {} a -> s {id = a} :: UpdateCollection)++instance Core.AWSRequest UpdateCollection where+ type+ AWSResponse UpdateCollection =+ UpdateCollectionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateCollectionResponse'+ Prelude.<$> (x Data..?> "updateCollectionDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateCollection where+ hashWithSalt _salt UpdateCollection' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id++instance Prelude.NFData UpdateCollection where+ rnf UpdateCollection' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders UpdateCollection where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.UpdateCollection" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateCollection where+ toJSON UpdateCollection' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ Prelude.Just ("id" Data..= id)+ ]+ )++instance Data.ToPath UpdateCollection where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateCollection where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateCollectionResponse' smart constructor.+data UpdateCollectionResponse = UpdateCollectionResponse'+ { -- | Details about the updated collection.+ updateCollectionDetail :: Prelude.Maybe UpdateCollectionDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCollectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'updateCollectionDetail', 'updateCollectionResponse_updateCollectionDetail' - Details about the updated collection.+--+-- 'httpStatus', 'updateCollectionResponse_httpStatus' - The response's http status code.+newUpdateCollectionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateCollectionResponse+newUpdateCollectionResponse pHttpStatus_ =+ UpdateCollectionResponse'+ { updateCollectionDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the updated collection.+updateCollectionResponse_updateCollectionDetail :: Lens.Lens' UpdateCollectionResponse (Prelude.Maybe UpdateCollectionDetail)+updateCollectionResponse_updateCollectionDetail = Lens.lens (\UpdateCollectionResponse' {updateCollectionDetail} -> updateCollectionDetail) (\s@UpdateCollectionResponse' {} a -> s {updateCollectionDetail = a} :: UpdateCollectionResponse)++-- | The response's http status code.+updateCollectionResponse_httpStatus :: Lens.Lens' UpdateCollectionResponse Prelude.Int+updateCollectionResponse_httpStatus = Lens.lens (\UpdateCollectionResponse' {httpStatus} -> httpStatus) (\s@UpdateCollectionResponse' {} a -> s {httpStatus = a} :: UpdateCollectionResponse)++instance Prelude.NFData UpdateCollectionResponse where+ rnf UpdateCollectionResponse' {..} =+ Prelude.rnf updateCollectionDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/UpdateSecurityConfig.hs view
@@ -0,0 +1,242 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.OpenSearchServerless.UpdateSecurityConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a security configuration for OpenSearch Serverless. For more+-- information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-saml.html SAML authentication for Amazon OpenSearch Serverless>.+module Amazonka.OpenSearchServerless.UpdateSecurityConfig+ ( -- * Creating a Request+ UpdateSecurityConfig (..),+ newUpdateSecurityConfig,++ -- * Request Lenses+ updateSecurityConfig_clientToken,+ updateSecurityConfig_description,+ updateSecurityConfig_samlOptions,+ updateSecurityConfig_configVersion,+ updateSecurityConfig_id,++ -- * Destructuring the Response+ UpdateSecurityConfigResponse (..),+ newUpdateSecurityConfigResponse,++ -- * Response Lenses+ updateSecurityConfigResponse_securityConfigDetail,+ updateSecurityConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateSecurityConfig' smart constructor.+data UpdateSecurityConfig = UpdateSecurityConfig'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A description of the security configuration.+ description :: Prelude.Maybe Prelude.Text,+ -- | SAML options in in the form of a key-value map.+ samlOptions :: Prelude.Maybe SamlConfigOptions,+ -- | The version of the security configuration to be updated. You can find+ -- the most recent version of a security configuration using the+ -- @GetSecurityPolicy@ command.+ configVersion :: Prelude.Text,+ -- | The security configuration identifier. For SAML the ID will be+ -- @saml\/\<accountId>\/\<idpProviderName>@. For example,+ -- @saml\/123456789123\/OKTADev@.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSecurityConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateSecurityConfig_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'description', 'updateSecurityConfig_description' - A description of the security configuration.+--+-- 'samlOptions', 'updateSecurityConfig_samlOptions' - SAML options in in the form of a key-value map.+--+-- 'configVersion', 'updateSecurityConfig_configVersion' - The version of the security configuration to be updated. You can find+-- the most recent version of a security configuration using the+-- @GetSecurityPolicy@ command.+--+-- 'id', 'updateSecurityConfig_id' - The security configuration identifier. For SAML the ID will be+-- @saml\/\<accountId>\/\<idpProviderName>@. For example,+-- @saml\/123456789123\/OKTADev@.+newUpdateSecurityConfig ::+ -- | 'configVersion'+ Prelude.Text ->+ -- | 'id'+ Prelude.Text ->+ UpdateSecurityConfig+newUpdateSecurityConfig pConfigVersion_ pId_ =+ UpdateSecurityConfig'+ { clientToken =+ Prelude.Nothing,+ description = Prelude.Nothing,+ samlOptions = Prelude.Nothing,+ configVersion = pConfigVersion_,+ id = pId_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+updateSecurityConfig_clientToken :: Lens.Lens' UpdateSecurityConfig (Prelude.Maybe Prelude.Text)+updateSecurityConfig_clientToken = Lens.lens (\UpdateSecurityConfig' {clientToken} -> clientToken) (\s@UpdateSecurityConfig' {} a -> s {clientToken = a} :: UpdateSecurityConfig)++-- | A description of the security configuration.+updateSecurityConfig_description :: Lens.Lens' UpdateSecurityConfig (Prelude.Maybe Prelude.Text)+updateSecurityConfig_description = Lens.lens (\UpdateSecurityConfig' {description} -> description) (\s@UpdateSecurityConfig' {} a -> s {description = a} :: UpdateSecurityConfig)++-- | SAML options in in the form of a key-value map.+updateSecurityConfig_samlOptions :: Lens.Lens' UpdateSecurityConfig (Prelude.Maybe SamlConfigOptions)+updateSecurityConfig_samlOptions = Lens.lens (\UpdateSecurityConfig' {samlOptions} -> samlOptions) (\s@UpdateSecurityConfig' {} a -> s {samlOptions = a} :: UpdateSecurityConfig)++-- | The version of the security configuration to be updated. You can find+-- the most recent version of a security configuration using the+-- @GetSecurityPolicy@ command.+updateSecurityConfig_configVersion :: Lens.Lens' UpdateSecurityConfig Prelude.Text+updateSecurityConfig_configVersion = Lens.lens (\UpdateSecurityConfig' {configVersion} -> configVersion) (\s@UpdateSecurityConfig' {} a -> s {configVersion = a} :: UpdateSecurityConfig)++-- | The security configuration identifier. For SAML the ID will be+-- @saml\/\<accountId>\/\<idpProviderName>@. For example,+-- @saml\/123456789123\/OKTADev@.+updateSecurityConfig_id :: Lens.Lens' UpdateSecurityConfig Prelude.Text+updateSecurityConfig_id = Lens.lens (\UpdateSecurityConfig' {id} -> id) (\s@UpdateSecurityConfig' {} a -> s {id = a} :: UpdateSecurityConfig)++instance Core.AWSRequest UpdateSecurityConfig where+ type+ AWSResponse UpdateSecurityConfig =+ UpdateSecurityConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateSecurityConfigResponse'+ Prelude.<$> (x Data..?> "securityConfigDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateSecurityConfig where+ hashWithSalt _salt UpdateSecurityConfig' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` samlOptions+ `Prelude.hashWithSalt` configVersion+ `Prelude.hashWithSalt` id++instance Prelude.NFData UpdateSecurityConfig where+ rnf UpdateSecurityConfig' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf samlOptions+ `Prelude.seq` Prelude.rnf configVersion+ `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders UpdateSecurityConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.UpdateSecurityConfig" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateSecurityConfig where+ toJSON UpdateSecurityConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ ("samlOptions" Data..=) Prelude.<$> samlOptions,+ Prelude.Just ("configVersion" Data..= configVersion),+ Prelude.Just ("id" Data..= id)+ ]+ )++instance Data.ToPath UpdateSecurityConfig where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateSecurityConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSecurityConfigResponse' smart constructor.+data UpdateSecurityConfigResponse = UpdateSecurityConfigResponse'+ { -- | Details about the updated security configuration.+ securityConfigDetail :: Prelude.Maybe SecurityConfigDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSecurityConfigResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityConfigDetail', 'updateSecurityConfigResponse_securityConfigDetail' - Details about the updated security configuration.+--+-- 'httpStatus', 'updateSecurityConfigResponse_httpStatus' - The response's http status code.+newUpdateSecurityConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateSecurityConfigResponse+newUpdateSecurityConfigResponse pHttpStatus_ =+ UpdateSecurityConfigResponse'+ { securityConfigDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the updated security configuration.+updateSecurityConfigResponse_securityConfigDetail :: Lens.Lens' UpdateSecurityConfigResponse (Prelude.Maybe SecurityConfigDetail)+updateSecurityConfigResponse_securityConfigDetail = Lens.lens (\UpdateSecurityConfigResponse' {securityConfigDetail} -> securityConfigDetail) (\s@UpdateSecurityConfigResponse' {} a -> s {securityConfigDetail = a} :: UpdateSecurityConfigResponse)++-- | The response's http status code.+updateSecurityConfigResponse_httpStatus :: Lens.Lens' UpdateSecurityConfigResponse Prelude.Int+updateSecurityConfigResponse_httpStatus = Lens.lens (\UpdateSecurityConfigResponse' {httpStatus} -> httpStatus) (\s@UpdateSecurityConfigResponse' {} a -> s {httpStatus = a} :: UpdateSecurityConfigResponse)++instance Prelude.NFData UpdateSecurityConfigResponse where+ rnf UpdateSecurityConfigResponse' {..} =+ Prelude.rnf securityConfigDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/UpdateSecurityPolicy.hs view
@@ -0,0 +1,250 @@+{-# 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.OpenSearchServerless.UpdateSecurityPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an OpenSearch Serverless security policy. For more information,+-- see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-network.html Network access for Amazon OpenSearch Serverless>+-- and+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html Encryption at rest for Amazon OpenSearch Serverless>.+module Amazonka.OpenSearchServerless.UpdateSecurityPolicy+ ( -- * Creating a Request+ UpdateSecurityPolicy (..),+ newUpdateSecurityPolicy,++ -- * Request Lenses+ updateSecurityPolicy_clientToken,+ updateSecurityPolicy_description,+ updateSecurityPolicy_policy,+ updateSecurityPolicy_name,+ updateSecurityPolicy_policyVersion,+ updateSecurityPolicy_type,++ -- * Destructuring the Response+ UpdateSecurityPolicyResponse (..),+ newUpdateSecurityPolicyResponse,++ -- * Response Lenses+ updateSecurityPolicyResponse_securityPolicyDetail,+ updateSecurityPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateSecurityPolicy' smart constructor.+data UpdateSecurityPolicy = UpdateSecurityPolicy'+ { -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A description of the policy. Typically used to store information about+ -- the permissions defined in the policy.+ description :: Prelude.Maybe Prelude.Text,+ -- | The JSON policy document to use as the content for the new policy.+ policy :: Prelude.Maybe Prelude.Text,+ -- | The name of the policy.+ name :: Prelude.Text,+ -- | The version of the policy being updated.+ policyVersion :: Prelude.Text,+ -- | The type of access policy.+ type' :: SecurityPolicyType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSecurityPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateSecurityPolicy_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'description', 'updateSecurityPolicy_description' - A description of the policy. Typically used to store information about+-- the permissions defined in the policy.+--+-- 'policy', 'updateSecurityPolicy_policy' - The JSON policy document to use as the content for the new policy.+--+-- 'name', 'updateSecurityPolicy_name' - The name of the policy.+--+-- 'policyVersion', 'updateSecurityPolicy_policyVersion' - The version of the policy being updated.+--+-- 'type'', 'updateSecurityPolicy_type' - The type of access policy.+newUpdateSecurityPolicy ::+ -- | 'name'+ Prelude.Text ->+ -- | 'policyVersion'+ Prelude.Text ->+ -- | 'type''+ SecurityPolicyType ->+ UpdateSecurityPolicy+newUpdateSecurityPolicy pName_ pPolicyVersion_ pType_ =+ UpdateSecurityPolicy'+ { clientToken =+ Prelude.Nothing,+ description = Prelude.Nothing,+ policy = Prelude.Nothing,+ name = pName_,+ policyVersion = pPolicyVersion_,+ type' = pType_+ }++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+updateSecurityPolicy_clientToken :: Lens.Lens' UpdateSecurityPolicy (Prelude.Maybe Prelude.Text)+updateSecurityPolicy_clientToken = Lens.lens (\UpdateSecurityPolicy' {clientToken} -> clientToken) (\s@UpdateSecurityPolicy' {} a -> s {clientToken = a} :: UpdateSecurityPolicy)++-- | A description of the policy. Typically used to store information about+-- the permissions defined in the policy.+updateSecurityPolicy_description :: Lens.Lens' UpdateSecurityPolicy (Prelude.Maybe Prelude.Text)+updateSecurityPolicy_description = Lens.lens (\UpdateSecurityPolicy' {description} -> description) (\s@UpdateSecurityPolicy' {} a -> s {description = a} :: UpdateSecurityPolicy)++-- | The JSON policy document to use as the content for the new policy.+updateSecurityPolicy_policy :: Lens.Lens' UpdateSecurityPolicy (Prelude.Maybe Prelude.Text)+updateSecurityPolicy_policy = Lens.lens (\UpdateSecurityPolicy' {policy} -> policy) (\s@UpdateSecurityPolicy' {} a -> s {policy = a} :: UpdateSecurityPolicy)++-- | The name of the policy.+updateSecurityPolicy_name :: Lens.Lens' UpdateSecurityPolicy Prelude.Text+updateSecurityPolicy_name = Lens.lens (\UpdateSecurityPolicy' {name} -> name) (\s@UpdateSecurityPolicy' {} a -> s {name = a} :: UpdateSecurityPolicy)++-- | The version of the policy being updated.+updateSecurityPolicy_policyVersion :: Lens.Lens' UpdateSecurityPolicy Prelude.Text+updateSecurityPolicy_policyVersion = Lens.lens (\UpdateSecurityPolicy' {policyVersion} -> policyVersion) (\s@UpdateSecurityPolicy' {} a -> s {policyVersion = a} :: UpdateSecurityPolicy)++-- | The type of access policy.+updateSecurityPolicy_type :: Lens.Lens' UpdateSecurityPolicy SecurityPolicyType+updateSecurityPolicy_type = Lens.lens (\UpdateSecurityPolicy' {type'} -> type') (\s@UpdateSecurityPolicy' {} a -> s {type' = a} :: UpdateSecurityPolicy)++instance Core.AWSRequest UpdateSecurityPolicy where+ type+ AWSResponse UpdateSecurityPolicy =+ UpdateSecurityPolicyResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateSecurityPolicyResponse'+ Prelude.<$> (x Data..?> "securityPolicyDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateSecurityPolicy where+ hashWithSalt _salt UpdateSecurityPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` policy+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` policyVersion+ `Prelude.hashWithSalt` type'++instance Prelude.NFData UpdateSecurityPolicy where+ rnf UpdateSecurityPolicy' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf policy+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf policyVersion+ `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders UpdateSecurityPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.UpdateSecurityPolicy" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateSecurityPolicy where+ toJSON UpdateSecurityPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ ("policy" Data..=) Prelude.<$> policy,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("policyVersion" Data..= policyVersion),+ Prelude.Just ("type" Data..= type')+ ]+ )++instance Data.ToPath UpdateSecurityPolicy where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateSecurityPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSecurityPolicyResponse' smart constructor.+data UpdateSecurityPolicyResponse = UpdateSecurityPolicyResponse'+ { -- | Details about the updated security policy.+ securityPolicyDetail :: Prelude.Maybe SecurityPolicyDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSecurityPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'securityPolicyDetail', 'updateSecurityPolicyResponse_securityPolicyDetail' - Details about the updated security policy.+--+-- 'httpStatus', 'updateSecurityPolicyResponse_httpStatus' - The response's http status code.+newUpdateSecurityPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateSecurityPolicyResponse+newUpdateSecurityPolicyResponse pHttpStatus_ =+ UpdateSecurityPolicyResponse'+ { securityPolicyDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the updated security policy.+updateSecurityPolicyResponse_securityPolicyDetail :: Lens.Lens' UpdateSecurityPolicyResponse (Prelude.Maybe SecurityPolicyDetail)+updateSecurityPolicyResponse_securityPolicyDetail = Lens.lens (\UpdateSecurityPolicyResponse' {securityPolicyDetail} -> securityPolicyDetail) (\s@UpdateSecurityPolicyResponse' {} a -> s {securityPolicyDetail = a} :: UpdateSecurityPolicyResponse)++-- | The response's http status code.+updateSecurityPolicyResponse_httpStatus :: Lens.Lens' UpdateSecurityPolicyResponse Prelude.Int+updateSecurityPolicyResponse_httpStatus = Lens.lens (\UpdateSecurityPolicyResponse' {httpStatus} -> httpStatus) (\s@UpdateSecurityPolicyResponse' {} a -> s {httpStatus = a} :: UpdateSecurityPolicyResponse)++instance Prelude.NFData UpdateSecurityPolicyResponse where+ rnf UpdateSecurityPolicyResponse' {..} =+ Prelude.rnf securityPolicyDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/UpdateVpcEndpoint.hs view
@@ -0,0 +1,253 @@+{-# 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.OpenSearchServerless.UpdateVpcEndpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an OpenSearch Serverless-managed interface endpoint. For more+-- information, see+-- <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html Access Amazon OpenSearch Serverless using an interface endpoint>.+module Amazonka.OpenSearchServerless.UpdateVpcEndpoint+ ( -- * Creating a Request+ UpdateVpcEndpoint (..),+ newUpdateVpcEndpoint,++ -- * Request Lenses+ updateVpcEndpoint_addSecurityGroupIds,+ updateVpcEndpoint_addSubnetIds,+ updateVpcEndpoint_clientToken,+ updateVpcEndpoint_removeSecurityGroupIds,+ updateVpcEndpoint_removeSubnetIds,+ updateVpcEndpoint_id,++ -- * Destructuring the Response+ UpdateVpcEndpointResponse (..),+ newUpdateVpcEndpointResponse,++ -- * Response Lenses+ updateVpcEndpointResponse_updateVpcEndpointDetail,+ updateVpcEndpointResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateVpcEndpoint' smart constructor.+data UpdateVpcEndpoint = UpdateVpcEndpoint'+ { -- | The unique identifiers of the security groups to add to the endpoint.+ -- Security groups define the ports, protocols, and sources for inbound+ -- traffic that you are authorizing into your endpoint.+ addSecurityGroupIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The ID of one or more subnets to add to the endpoint.+ addSubnetIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | Unique, case-sensitive identifier to ensure idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifiers of the security groups to remove from the+ -- endpoint.+ removeSecurityGroupIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The unique identifiers of the subnets to remove from the endpoint.+ removeSubnetIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The unique identifier of the interface endpoint to update.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVpcEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'addSecurityGroupIds', 'updateVpcEndpoint_addSecurityGroupIds' - The unique identifiers of the security groups to add to the endpoint.+-- Security groups define the ports, protocols, and sources for inbound+-- traffic that you are authorizing into your endpoint.+--+-- 'addSubnetIds', 'updateVpcEndpoint_addSubnetIds' - The ID of one or more subnets to add to the endpoint.+--+-- 'clientToken', 'updateVpcEndpoint_clientToken' - Unique, case-sensitive identifier to ensure idempotency of the request.+--+-- 'removeSecurityGroupIds', 'updateVpcEndpoint_removeSecurityGroupIds' - The unique identifiers of the security groups to remove from the+-- endpoint.+--+-- 'removeSubnetIds', 'updateVpcEndpoint_removeSubnetIds' - The unique identifiers of the subnets to remove from the endpoint.+--+-- 'id', 'updateVpcEndpoint_id' - The unique identifier of the interface endpoint to update.+newUpdateVpcEndpoint ::+ -- | 'id'+ Prelude.Text ->+ UpdateVpcEndpoint+newUpdateVpcEndpoint pId_ =+ UpdateVpcEndpoint'+ { addSecurityGroupIds =+ Prelude.Nothing,+ addSubnetIds = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ removeSecurityGroupIds = Prelude.Nothing,+ removeSubnetIds = Prelude.Nothing,+ id = pId_+ }++-- | The unique identifiers of the security groups to add to the endpoint.+-- Security groups define the ports, protocols, and sources for inbound+-- traffic that you are authorizing into your endpoint.+updateVpcEndpoint_addSecurityGroupIds :: Lens.Lens' UpdateVpcEndpoint (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateVpcEndpoint_addSecurityGroupIds = Lens.lens (\UpdateVpcEndpoint' {addSecurityGroupIds} -> addSecurityGroupIds) (\s@UpdateVpcEndpoint' {} a -> s {addSecurityGroupIds = a} :: UpdateVpcEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | The ID of one or more subnets to add to the endpoint.+updateVpcEndpoint_addSubnetIds :: Lens.Lens' UpdateVpcEndpoint (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateVpcEndpoint_addSubnetIds = Lens.lens (\UpdateVpcEndpoint' {addSubnetIds} -> addSubnetIds) (\s@UpdateVpcEndpoint' {} a -> s {addSubnetIds = a} :: UpdateVpcEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | Unique, case-sensitive identifier to ensure idempotency of the request.+updateVpcEndpoint_clientToken :: Lens.Lens' UpdateVpcEndpoint (Prelude.Maybe Prelude.Text)+updateVpcEndpoint_clientToken = Lens.lens (\UpdateVpcEndpoint' {clientToken} -> clientToken) (\s@UpdateVpcEndpoint' {} a -> s {clientToken = a} :: UpdateVpcEndpoint)++-- | The unique identifiers of the security groups to remove from the+-- endpoint.+updateVpcEndpoint_removeSecurityGroupIds :: Lens.Lens' UpdateVpcEndpoint (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateVpcEndpoint_removeSecurityGroupIds = Lens.lens (\UpdateVpcEndpoint' {removeSecurityGroupIds} -> removeSecurityGroupIds) (\s@UpdateVpcEndpoint' {} a -> s {removeSecurityGroupIds = a} :: UpdateVpcEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | The unique identifiers of the subnets to remove from the endpoint.+updateVpcEndpoint_removeSubnetIds :: Lens.Lens' UpdateVpcEndpoint (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateVpcEndpoint_removeSubnetIds = Lens.lens (\UpdateVpcEndpoint' {removeSubnetIds} -> removeSubnetIds) (\s@UpdateVpcEndpoint' {} a -> s {removeSubnetIds = a} :: UpdateVpcEndpoint) Prelude.. Lens.mapping Lens.coerced++-- | The unique identifier of the interface endpoint to update.+updateVpcEndpoint_id :: Lens.Lens' UpdateVpcEndpoint Prelude.Text+updateVpcEndpoint_id = Lens.lens (\UpdateVpcEndpoint' {id} -> id) (\s@UpdateVpcEndpoint' {} a -> s {id = a} :: UpdateVpcEndpoint)++instance Core.AWSRequest UpdateVpcEndpoint where+ type+ AWSResponse UpdateVpcEndpoint =+ UpdateVpcEndpointResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateVpcEndpointResponse'+ Prelude.<$> (x Data..?> "UpdateVpcEndpointDetail")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateVpcEndpoint where+ hashWithSalt _salt UpdateVpcEndpoint' {..} =+ _salt+ `Prelude.hashWithSalt` addSecurityGroupIds+ `Prelude.hashWithSalt` addSubnetIds+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` removeSecurityGroupIds+ `Prelude.hashWithSalt` removeSubnetIds+ `Prelude.hashWithSalt` id++instance Prelude.NFData UpdateVpcEndpoint where+ rnf UpdateVpcEndpoint' {..} =+ Prelude.rnf addSecurityGroupIds+ `Prelude.seq` Prelude.rnf addSubnetIds+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf removeSecurityGroupIds+ `Prelude.seq` Prelude.rnf removeSubnetIds+ `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders UpdateVpcEndpoint where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "OpenSearchServerless.UpdateVpcEndpoint" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateVpcEndpoint where+ toJSON UpdateVpcEndpoint' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("addSecurityGroupIds" Data..=)+ Prelude.<$> addSecurityGroupIds,+ ("addSubnetIds" Data..=) Prelude.<$> addSubnetIds,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("removeSecurityGroupIds" Data..=)+ Prelude.<$> removeSecurityGroupIds,+ ("removeSubnetIds" Data..=)+ Prelude.<$> removeSubnetIds,+ Prelude.Just ("id" Data..= id)+ ]+ )++instance Data.ToPath UpdateVpcEndpoint where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateVpcEndpoint where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateVpcEndpointResponse' smart constructor.+data UpdateVpcEndpointResponse = UpdateVpcEndpointResponse'+ { -- | Details about the updated VPC endpoint.+ updateVpcEndpointDetail :: Prelude.Maybe UpdateVpcEndpointDetail,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVpcEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'updateVpcEndpointDetail', 'updateVpcEndpointResponse_updateVpcEndpointDetail' - Details about the updated VPC endpoint.+--+-- 'httpStatus', 'updateVpcEndpointResponse_httpStatus' - The response's http status code.+newUpdateVpcEndpointResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateVpcEndpointResponse+newUpdateVpcEndpointResponse pHttpStatus_ =+ UpdateVpcEndpointResponse'+ { updateVpcEndpointDetail =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the updated VPC endpoint.+updateVpcEndpointResponse_updateVpcEndpointDetail :: Lens.Lens' UpdateVpcEndpointResponse (Prelude.Maybe UpdateVpcEndpointDetail)+updateVpcEndpointResponse_updateVpcEndpointDetail = Lens.lens (\UpdateVpcEndpointResponse' {updateVpcEndpointDetail} -> updateVpcEndpointDetail) (\s@UpdateVpcEndpointResponse' {} a -> s {updateVpcEndpointDetail = a} :: UpdateVpcEndpointResponse)++-- | The response's http status code.+updateVpcEndpointResponse_httpStatus :: Lens.Lens' UpdateVpcEndpointResponse Prelude.Int+updateVpcEndpointResponse_httpStatus = Lens.lens (\UpdateVpcEndpointResponse' {httpStatus} -> httpStatus) (\s@UpdateVpcEndpointResponse' {} a -> s {httpStatus = a} :: UpdateVpcEndpointResponse)++instance Prelude.NFData UpdateVpcEndpointResponse where+ rnf UpdateVpcEndpointResponse' {..} =+ Prelude.rnf updateVpcEndpointDetail+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/OpenSearchServerless/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.OpenSearchServerless.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.OpenSearchServerless.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.OpenSearchServerless.Lens+import Amazonka.OpenSearchServerless.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.OpenSearchServerless+import Test.Amazonka.OpenSearchServerless.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "OpenSearchServerless"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/OpenSearchServerless.hs view
@@ -0,0 +1,658 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.Amazonka.Gen.OpenSearchServerless+-- 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.OpenSearchServerless where++import Amazonka.OpenSearchServerless+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.OpenSearchServerless.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"+-- [ requestBatchGetCollection $+-- newBatchGetCollection+--+-- , requestBatchGetVpcEndpoint $+-- newBatchGetVpcEndpoint+--+-- , requestCreateAccessPolicy $+-- newCreateAccessPolicy+--+-- , requestCreateCollection $+-- newCreateCollection+--+-- , requestCreateSecurityConfig $+-- newCreateSecurityConfig+--+-- , requestCreateSecurityPolicy $+-- newCreateSecurityPolicy+--+-- , requestCreateVpcEndpoint $+-- newCreateVpcEndpoint+--+-- , requestDeleteAccessPolicy $+-- newDeleteAccessPolicy+--+-- , requestDeleteCollection $+-- newDeleteCollection+--+-- , requestDeleteSecurityConfig $+-- newDeleteSecurityConfig+--+-- , requestDeleteSecurityPolicy $+-- newDeleteSecurityPolicy+--+-- , requestDeleteVpcEndpoint $+-- newDeleteVpcEndpoint+--+-- , requestGetAccessPolicy $+-- newGetAccessPolicy+--+-- , requestGetAccountSettings $+-- newGetAccountSettings+--+-- , requestGetPoliciesStats $+-- newGetPoliciesStats+--+-- , requestGetSecurityConfig $+-- newGetSecurityConfig+--+-- , requestGetSecurityPolicy $+-- newGetSecurityPolicy+--+-- , requestListAccessPolicies $+-- newListAccessPolicies+--+-- , requestListCollections $+-- newListCollections+--+-- , requestListSecurityConfigs $+-- newListSecurityConfigs+--+-- , requestListSecurityPolicies $+-- newListSecurityPolicies+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestListVpcEndpoints $+-- newListVpcEndpoints+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateAccessPolicy $+-- newUpdateAccessPolicy+--+-- , requestUpdateAccountSettings $+-- newUpdateAccountSettings+--+-- , requestUpdateCollection $+-- newUpdateCollection+--+-- , requestUpdateSecurityConfig $+-- newUpdateSecurityConfig+--+-- , requestUpdateSecurityPolicy $+-- newUpdateSecurityPolicy+--+-- , requestUpdateVpcEndpoint $+-- newUpdateVpcEndpoint+--+-- ]++-- , testGroup "response"+-- [ responseBatchGetCollection $+-- newBatchGetCollectionResponse+--+-- , responseBatchGetVpcEndpoint $+-- newBatchGetVpcEndpointResponse+--+-- , responseCreateAccessPolicy $+-- newCreateAccessPolicyResponse+--+-- , responseCreateCollection $+-- newCreateCollectionResponse+--+-- , responseCreateSecurityConfig $+-- newCreateSecurityConfigResponse+--+-- , responseCreateSecurityPolicy $+-- newCreateSecurityPolicyResponse+--+-- , responseCreateVpcEndpoint $+-- newCreateVpcEndpointResponse+--+-- , responseDeleteAccessPolicy $+-- newDeleteAccessPolicyResponse+--+-- , responseDeleteCollection $+-- newDeleteCollectionResponse+--+-- , responseDeleteSecurityConfig $+-- newDeleteSecurityConfigResponse+--+-- , responseDeleteSecurityPolicy $+-- newDeleteSecurityPolicyResponse+--+-- , responseDeleteVpcEndpoint $+-- newDeleteVpcEndpointResponse+--+-- , responseGetAccessPolicy $+-- newGetAccessPolicyResponse+--+-- , responseGetAccountSettings $+-- newGetAccountSettingsResponse+--+-- , responseGetPoliciesStats $+-- newGetPoliciesStatsResponse+--+-- , responseGetSecurityConfig $+-- newGetSecurityConfigResponse+--+-- , responseGetSecurityPolicy $+-- newGetSecurityPolicyResponse+--+-- , responseListAccessPolicies $+-- newListAccessPoliciesResponse+--+-- , responseListCollections $+-- newListCollectionsResponse+--+-- , responseListSecurityConfigs $+-- newListSecurityConfigsResponse+--+-- , responseListSecurityPolicies $+-- newListSecurityPoliciesResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseListVpcEndpoints $+-- newListVpcEndpointsResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateAccessPolicy $+-- newUpdateAccessPolicyResponse+--+-- , responseUpdateAccountSettings $+-- newUpdateAccountSettingsResponse+--+-- , responseUpdateCollection $+-- newUpdateCollectionResponse+--+-- , responseUpdateSecurityConfig $+-- newUpdateSecurityConfigResponse+--+-- , responseUpdateSecurityPolicy $+-- newUpdateSecurityPolicyResponse+--+-- , responseUpdateVpcEndpoint $+-- newUpdateVpcEndpointResponse+--+-- ]+-- ]++-- Requests++requestBatchGetCollection :: BatchGetCollection -> TestTree+requestBatchGetCollection =+ req+ "BatchGetCollection"+ "fixture/BatchGetCollection.yaml"++requestBatchGetVpcEndpoint :: BatchGetVpcEndpoint -> TestTree+requestBatchGetVpcEndpoint =+ req+ "BatchGetVpcEndpoint"+ "fixture/BatchGetVpcEndpoint.yaml"++requestCreateAccessPolicy :: CreateAccessPolicy -> TestTree+requestCreateAccessPolicy =+ req+ "CreateAccessPolicy"+ "fixture/CreateAccessPolicy.yaml"++requestCreateCollection :: CreateCollection -> TestTree+requestCreateCollection =+ req+ "CreateCollection"+ "fixture/CreateCollection.yaml"++requestCreateSecurityConfig :: CreateSecurityConfig -> TestTree+requestCreateSecurityConfig =+ req+ "CreateSecurityConfig"+ "fixture/CreateSecurityConfig.yaml"++requestCreateSecurityPolicy :: CreateSecurityPolicy -> TestTree+requestCreateSecurityPolicy =+ req+ "CreateSecurityPolicy"+ "fixture/CreateSecurityPolicy.yaml"++requestCreateVpcEndpoint :: CreateVpcEndpoint -> TestTree+requestCreateVpcEndpoint =+ req+ "CreateVpcEndpoint"+ "fixture/CreateVpcEndpoint.yaml"++requestDeleteAccessPolicy :: DeleteAccessPolicy -> TestTree+requestDeleteAccessPolicy =+ req+ "DeleteAccessPolicy"+ "fixture/DeleteAccessPolicy.yaml"++requestDeleteCollection :: DeleteCollection -> TestTree+requestDeleteCollection =+ req+ "DeleteCollection"+ "fixture/DeleteCollection.yaml"++requestDeleteSecurityConfig :: DeleteSecurityConfig -> TestTree+requestDeleteSecurityConfig =+ req+ "DeleteSecurityConfig"+ "fixture/DeleteSecurityConfig.yaml"++requestDeleteSecurityPolicy :: DeleteSecurityPolicy -> TestTree+requestDeleteSecurityPolicy =+ req+ "DeleteSecurityPolicy"+ "fixture/DeleteSecurityPolicy.yaml"++requestDeleteVpcEndpoint :: DeleteVpcEndpoint -> TestTree+requestDeleteVpcEndpoint =+ req+ "DeleteVpcEndpoint"+ "fixture/DeleteVpcEndpoint.yaml"++requestGetAccessPolicy :: GetAccessPolicy -> TestTree+requestGetAccessPolicy =+ req+ "GetAccessPolicy"+ "fixture/GetAccessPolicy.yaml"++requestGetAccountSettings :: GetAccountSettings -> TestTree+requestGetAccountSettings =+ req+ "GetAccountSettings"+ "fixture/GetAccountSettings.yaml"++requestGetPoliciesStats :: GetPoliciesStats -> TestTree+requestGetPoliciesStats =+ req+ "GetPoliciesStats"+ "fixture/GetPoliciesStats.yaml"++requestGetSecurityConfig :: GetSecurityConfig -> TestTree+requestGetSecurityConfig =+ req+ "GetSecurityConfig"+ "fixture/GetSecurityConfig.yaml"++requestGetSecurityPolicy :: GetSecurityPolicy -> TestTree+requestGetSecurityPolicy =+ req+ "GetSecurityPolicy"+ "fixture/GetSecurityPolicy.yaml"++requestListAccessPolicies :: ListAccessPolicies -> TestTree+requestListAccessPolicies =+ req+ "ListAccessPolicies"+ "fixture/ListAccessPolicies.yaml"++requestListCollections :: ListCollections -> TestTree+requestListCollections =+ req+ "ListCollections"+ "fixture/ListCollections.yaml"++requestListSecurityConfigs :: ListSecurityConfigs -> TestTree+requestListSecurityConfigs =+ req+ "ListSecurityConfigs"+ "fixture/ListSecurityConfigs.yaml"++requestListSecurityPolicies :: ListSecurityPolicies -> TestTree+requestListSecurityPolicies =+ req+ "ListSecurityPolicies"+ "fixture/ListSecurityPolicies.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestListVpcEndpoints :: ListVpcEndpoints -> TestTree+requestListVpcEndpoints =+ req+ "ListVpcEndpoints"+ "fixture/ListVpcEndpoints.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateAccessPolicy :: UpdateAccessPolicy -> TestTree+requestUpdateAccessPolicy =+ req+ "UpdateAccessPolicy"+ "fixture/UpdateAccessPolicy.yaml"++requestUpdateAccountSettings :: UpdateAccountSettings -> TestTree+requestUpdateAccountSettings =+ req+ "UpdateAccountSettings"+ "fixture/UpdateAccountSettings.yaml"++requestUpdateCollection :: UpdateCollection -> TestTree+requestUpdateCollection =+ req+ "UpdateCollection"+ "fixture/UpdateCollection.yaml"++requestUpdateSecurityConfig :: UpdateSecurityConfig -> TestTree+requestUpdateSecurityConfig =+ req+ "UpdateSecurityConfig"+ "fixture/UpdateSecurityConfig.yaml"++requestUpdateSecurityPolicy :: UpdateSecurityPolicy -> TestTree+requestUpdateSecurityPolicy =+ req+ "UpdateSecurityPolicy"+ "fixture/UpdateSecurityPolicy.yaml"++requestUpdateVpcEndpoint :: UpdateVpcEndpoint -> TestTree+requestUpdateVpcEndpoint =+ req+ "UpdateVpcEndpoint"+ "fixture/UpdateVpcEndpoint.yaml"++-- Responses++responseBatchGetCollection :: BatchGetCollectionResponse -> TestTree+responseBatchGetCollection =+ res+ "BatchGetCollectionResponse"+ "fixture/BatchGetCollectionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchGetCollection)++responseBatchGetVpcEndpoint :: BatchGetVpcEndpointResponse -> TestTree+responseBatchGetVpcEndpoint =+ res+ "BatchGetVpcEndpointResponse"+ "fixture/BatchGetVpcEndpointResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchGetVpcEndpoint)++responseCreateAccessPolicy :: CreateAccessPolicyResponse -> TestTree+responseCreateAccessPolicy =+ res+ "CreateAccessPolicyResponse"+ "fixture/CreateAccessPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAccessPolicy)++responseCreateCollection :: CreateCollectionResponse -> TestTree+responseCreateCollection =+ res+ "CreateCollectionResponse"+ "fixture/CreateCollectionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateCollection)++responseCreateSecurityConfig :: CreateSecurityConfigResponse -> TestTree+responseCreateSecurityConfig =+ res+ "CreateSecurityConfigResponse"+ "fixture/CreateSecurityConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateSecurityConfig)++responseCreateSecurityPolicy :: CreateSecurityPolicyResponse -> TestTree+responseCreateSecurityPolicy =+ res+ "CreateSecurityPolicyResponse"+ "fixture/CreateSecurityPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateSecurityPolicy)++responseCreateVpcEndpoint :: CreateVpcEndpointResponse -> TestTree+responseCreateVpcEndpoint =+ res+ "CreateVpcEndpointResponse"+ "fixture/CreateVpcEndpointResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateVpcEndpoint)++responseDeleteAccessPolicy :: DeleteAccessPolicyResponse -> TestTree+responseDeleteAccessPolicy =+ res+ "DeleteAccessPolicyResponse"+ "fixture/DeleteAccessPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAccessPolicy)++responseDeleteCollection :: DeleteCollectionResponse -> TestTree+responseDeleteCollection =+ res+ "DeleteCollectionResponse"+ "fixture/DeleteCollectionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteCollection)++responseDeleteSecurityConfig :: DeleteSecurityConfigResponse -> TestTree+responseDeleteSecurityConfig =+ res+ "DeleteSecurityConfigResponse"+ "fixture/DeleteSecurityConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteSecurityConfig)++responseDeleteSecurityPolicy :: DeleteSecurityPolicyResponse -> TestTree+responseDeleteSecurityPolicy =+ res+ "DeleteSecurityPolicyResponse"+ "fixture/DeleteSecurityPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteSecurityPolicy)++responseDeleteVpcEndpoint :: DeleteVpcEndpointResponse -> TestTree+responseDeleteVpcEndpoint =+ res+ "DeleteVpcEndpointResponse"+ "fixture/DeleteVpcEndpointResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteVpcEndpoint)++responseGetAccessPolicy :: GetAccessPolicyResponse -> TestTree+responseGetAccessPolicy =+ res+ "GetAccessPolicyResponse"+ "fixture/GetAccessPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAccessPolicy)++responseGetAccountSettings :: GetAccountSettingsResponse -> TestTree+responseGetAccountSettings =+ res+ "GetAccountSettingsResponse"+ "fixture/GetAccountSettingsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAccountSettings)++responseGetPoliciesStats :: GetPoliciesStatsResponse -> TestTree+responseGetPoliciesStats =+ res+ "GetPoliciesStatsResponse"+ "fixture/GetPoliciesStatsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetPoliciesStats)++responseGetSecurityConfig :: GetSecurityConfigResponse -> TestTree+responseGetSecurityConfig =+ res+ "GetSecurityConfigResponse"+ "fixture/GetSecurityConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetSecurityConfig)++responseGetSecurityPolicy :: GetSecurityPolicyResponse -> TestTree+responseGetSecurityPolicy =+ res+ "GetSecurityPolicyResponse"+ "fixture/GetSecurityPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetSecurityPolicy)++responseListAccessPolicies :: ListAccessPoliciesResponse -> TestTree+responseListAccessPolicies =+ res+ "ListAccessPoliciesResponse"+ "fixture/ListAccessPoliciesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAccessPolicies)++responseListCollections :: ListCollectionsResponse -> TestTree+responseListCollections =+ res+ "ListCollectionsResponse"+ "fixture/ListCollectionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListCollections)++responseListSecurityConfigs :: ListSecurityConfigsResponse -> TestTree+responseListSecurityConfigs =+ res+ "ListSecurityConfigsResponse"+ "fixture/ListSecurityConfigsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListSecurityConfigs)++responseListSecurityPolicies :: ListSecurityPoliciesResponse -> TestTree+responseListSecurityPolicies =+ res+ "ListSecurityPoliciesResponse"+ "fixture/ListSecurityPoliciesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListSecurityPolicies)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListVpcEndpoints :: ListVpcEndpointsResponse -> TestTree+responseListVpcEndpoints =+ res+ "ListVpcEndpointsResponse"+ "fixture/ListVpcEndpointsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListVpcEndpoints)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateAccessPolicy :: UpdateAccessPolicyResponse -> TestTree+responseUpdateAccessPolicy =+ res+ "UpdateAccessPolicyResponse"+ "fixture/UpdateAccessPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAccessPolicy)++responseUpdateAccountSettings :: UpdateAccountSettingsResponse -> TestTree+responseUpdateAccountSettings =+ res+ "UpdateAccountSettingsResponse"+ "fixture/UpdateAccountSettingsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAccountSettings)++responseUpdateCollection :: UpdateCollectionResponse -> TestTree+responseUpdateCollection =+ res+ "UpdateCollectionResponse"+ "fixture/UpdateCollectionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateCollection)++responseUpdateSecurityConfig :: UpdateSecurityConfigResponse -> TestTree+responseUpdateSecurityConfig =+ res+ "UpdateSecurityConfigResponse"+ "fixture/UpdateSecurityConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateSecurityConfig)++responseUpdateSecurityPolicy :: UpdateSecurityPolicyResponse -> TestTree+responseUpdateSecurityPolicy =+ res+ "UpdateSecurityPolicyResponse"+ "fixture/UpdateSecurityPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateSecurityPolicy)++responseUpdateVpcEndpoint :: UpdateVpcEndpointResponse -> TestTree+responseUpdateVpcEndpoint =+ res+ "UpdateVpcEndpointResponse"+ "fixture/UpdateVpcEndpointResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateVpcEndpoint)
+ test/Test/Amazonka/OpenSearchServerless.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.OpenSearchServerless+-- 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.OpenSearchServerless+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/OpenSearchServerless/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.OpenSearchServerless.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.OpenSearchServerless.Internal where